User loginNavigation |
Metaprogramming and Heron : Five Years LaterI just realized that I first posted about my programming language Heron here on Lambda-the-Ultimate.org over five years ago. Kind of funny to think that at the time then I didn't even know where the name "Lambda the Ultimate" came from. I have learned a lot since, and in no small part thanks to the insights of the brilliant and helpful people at this site! I have spent the last year, completely redesigning Heron and I have come up with a language which is inspired by a slew of other languages. It is still a curly brace language, with a run-of-the-mill Java style object-oriented approach (minus virtual functions) plus some functional features. In fact it looks a lot like JavaScript 4.0 without prototypes. However, I think that the potentially most interesting feature is the new meta-programming system. Or is it a macro system? I don't actually know, which is why I am writing here. The idea behind the Heron metaprogramming system is quite simple: a Heron program has two entry points. One for run-time execution, and another for compile-time execution. The only difference between the two entry points, is that the compile-time execution is passed a reference to the abstract syntax tree. At run-time, the modified version of the abstract syntax tree is what gets executed. You can see this article for a more detailed description if you want, or just look at this Quine demo which prints its own source code out at compile-time. So I have a couple of questions for the members here:
By cdiggins at 2009-12-12 19:40 | LtU Forum | previous forum topic | next forum topic | other blogs | 5416 reads
|
Browse archives
Active forum topics |
Recent comments
27 weeks 2 days ago
27 weeks 2 days ago
27 weeks 2 days ago
49 weeks 3 days ago
1 year 1 week ago
1 year 3 weeks ago
1 year 3 weeks ago
1 year 5 weeks ago
1 year 10 weeks ago
1 year 10 weeks ago