User loginNavigation |
Meta-ProgrammingIs "post OO" just over?While studying the conference program of the upcoming OOPSLA 2006 I discovered under the category "essay" an author who has quite something critical to say about AOP:
This is not just another internet rant about the latest PL hype but the author, Friedrich Steimann, had done interesting work about AOP before. In particular his latest paper about typed AOP: AOP and the antinomy of the liar but also his award winning former critical AOP review: By Kay Schluehr at 2006-09-24 10:50 | Critiques | Meta-Programming | OOP | Paradigms | 22 comments | other blogs | 16436 reads
Ruby metaprogramming techniquesBack when Python was all the rage, we often discussed metaprogramming tricks in Python. Well, it seems the metaprogramming action has moved to Ruby, just like everything else... ;-) By Ehud Lamm at 2006-09-23 18:16 | Meta-Programming | Ruby | login or register to post comments | other blogs | 11215 reads
Reflective Program Generation with PatternsReflective Program Generation with Patterns. Manuel Fähndrich, Michael Carbin, James R. Larus. October 2006.
Macros, multi-staged programming etc. are the appropriate buzzowrds. LtU readers will probably be interested in the STM example (see sec. 7.1) By Ehud Lamm at 2006-08-30 07:33 | Meta-Programming | Software Engineering | login or register to post comments | other blogs | 6439 reads
Scrap your Nameplate
Scrap your Nameplate
by James Cheney Recent research has shown how boilerplate code, or repetitive code for traversing datatypes, can be eliminated using generic programming techniques already available within some implementations of Haskell. One particularly intractable kind of boilerplate is nameplate, or code having to do with names, name-binding, and fresh name generation. One reason for the difficulty is that operations on data structures involving names, as usually implemented, are not regular instances of standard map, fold , or zip operations. However, in nominal abstract syntax, an alternative treatment of names and binding based on swapping, operations such as alpha-equivalence, capture-avoiding substitution, and free variable set functions are much better-behaved. In this paper, we show how nominal abstract syntax techniques similar to those of FreshML can be provided as a Haskell library called FreshLib. In addition, we show how existing generic programming techniques can be used to reduce the amount of nameplate code that needs to be written for new datatypes involving names and binding to almost nothing—in short, how to scrap your nameplate. Sage: A Programming Language With Hybrid Type-CheckingSince we've been discussing hybrid type checking, dependent types, etc. recently...
By Paul Snively at 2006-06-04 23:52 | Functional | Implementation | Meta-Programming | Type Theory | 5 comments | other blogs | 14902 reads
Oz has macros!Some of you might be interested to learn that Oz got a basic macro facility. A bit more information can be found in the mailing list. EasyExtend - Python MetaProgrammingJust saw this announcement on Google groups / comp.lang.python.
You'll want to probably want to check out the examples. By andrew cooke at 2006-05-22 22:37 | Meta-Programming | Python | 1 comment | other blogs | 12142 reads
Code Generation NetworkIt's been quite a while since I visited codegeneration.org, and it seems like the site grew considerably, so you might want to check it out again too. Code generation is an important programming technique (not to be confused with the code generation phase of compilers), which I am sure everyone here is familiar with. It seems to me that the percentage of programmers who know about code generation is relatively small. Am I right in this assumption? I am not asking about people actually using the technique, mind you, just about knowing that it exists and what it means, and don't think the basic idea is "strange" or involves dark magic. I wonder where, if anywhere, should programmers (and CS students) learn about it. And no, the answer well, on LtU of course isn't a good option! By Ehud Lamm at 2006-05-22 20:20 | Meta-Programming | Software Engineering | 15 comments | other blogs | 10442 reads
HashCaml--an extension of the OCaml bytecode compiler with support for type-safe marshalling and related naming features.Peter Sewell and crew follow up on their work on Acute:
By Paul Snively at 2006-05-08 04:41 | General | Implementation | Meta-Programming | 1 comment | other blogs | 9303 reads
SERIESUser Manual for the Series Macro Package by Richard C. Waters (MIT AI Memo 1082, 1989).
There is an up-to-date copy of the Series package on Sourceforge. |
Browse archives
Active forum topics |
Recent comments
23 weeks 1 day ago
23 weeks 1 day ago
23 weeks 1 day ago
45 weeks 2 days ago
49 weeks 4 days ago
51 weeks 1 day ago
51 weeks 1 day ago
1 year 1 week ago
1 year 6 weeks ago
1 year 6 weeks ago