In accordance to the very good blog with many useful links for IronPython at ironpython-urls.blogspot.com
I will also try to post some useful links about my recent DLR (Dynamic Language Runtime for .NET) research.
I have been working a bit on the DLR before, mostly together with Silverlight, which was cool, but Silverlight was way too hard to work with and I still think it is not distributed enough. On that note if you are interested in Silverlight, check out the
. And even before that quite a bit with the Visual Studio SDK
, early IronPython
versions and other language implementations in .NET and even with native c code (but usually I just modified existing samples). I have also modified Lua for my own needs recently and made it run on the Xbox 360 and PS3 and modified some behaviour for my projects, since we use it for our upcoming game and I use it quite a lot together with IronPython on the tools I write at work.`
But my overall goal remains: Writing my own language, preferbly running on .NET and the DLR seems to be a good fit. Today after we finished the latest demo of our game for the GDC next week, I had finally some time and motivation to get this thing started again :) I probably should do some more XNA projects since I'm a DirectX/XNA MVP and I have still something I work on from time to time, but it is still a long way to go until this project is completely done.
Okay, to get things started again I searched for some new DLR information and samples on the net and here are some helpful links:
Learning the basics and also some good blog posts:
- Create your own language on top of the DLR - Detailed article about creating a language with the DLR
- DLR - Build Your Own Language (without tears). Kinda fast paced article that skips a lot of steps, but at least it got me motivated.
- CLR Inside Out - IronPython and the Dynamic Language Runtime - Good article about the DLR, IronPython and DLR ASTs
- Generate AST for the DLR (Code Project). Nicely written, easy to understand and gives a good overview of writing your own custom AST for the DLR. The sample itself is kinda useless because it always generates the same AST, but you will at least understand how code should be parsed and passed to the DLR as an AST. In this tutorial there is no parser or lexer, the generated AST is just static code, but at least the source code is easy to understand :) The article will also explain all the basics you need to understand ASTs and how the DLR uses them.
- Building a DLR Language - Answering Some Questions - Also a very helpful blog. Goes into detail about whats going on under the hoods, investigates with Reflector. Be sure to also read the other posts of Martin Maly.
- How to write a simple DLR host in C# using Hosting API
- Building a DLR Language - ToyScript (Martin Maly's blog)
- Jim Hugunin's Thinking Dynamic blog - The One True Object articles are interesting, also links to a lot of good DLR talks
- DevHawk - Blog by Harry Pierson, one of the main guys behind IronPython
- Martin Maly - Building a DLR Language (more general, see above for more comments)
- Sapphire Steel blog: Antlr 3 and the Dynamic Language Runtime
- DLR Hosting and related stuff...
- Knowing .NET blog about IronPython and .NET
- The .Net DLR makes building a new language implementation ridiculously easy
- Building On The DLR - by Tomas Restrepo - An approach to create a simple language with the DLR
- I still have a problem with the DLR - by mithrandir (Incanus On Rails) - A critice on how the DLR beta was written. I think most of the issues have been solved or not as bad as portraied there.
- Darrell Hawley's blog, mostly about IronPython integration. Has some cool "Note to self" posts on there.
- Another critice about the DLR, this time about the fact that it is not really open source since no contributions are accepted. Little bit too harsch.
- The Weekly Source Code 11 - LOLCode DLR Edition (from 2007) - by Scott Hanselman's ComputerZen.com - fun read.
- Another post like this from a year ago with helpful DLR links: Adventures in Compilers - Building on the DLR
- Embedding the Dynamic Language Runtime - IronPython & .NET Applications - A nice tutorial by Michael J. Foord (at voidspace.org.uk)
Other useful DLR links:
Okay, back to improving my lexer and parser. I think I got the research aspect covered for now.