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 | 16586 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 | 11261 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 | 6500 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 | 15026 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 | 12249 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 | 10548 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 | 9395 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
1 week 5 days ago
41 weeks 6 days ago
42 weeks 2 hours ago
42 weeks 2 hours ago
1 year 12 weeks ago
1 year 16 weeks ago
1 year 17 weeks ago
1 year 17 weeks ago
1 year 20 weeks ago
1 year 25 weeks ago