
Don Stewart wrote:
I think we don't see as much metaprogramming because of other language features -- laziness, operator syntax, and type classes -- make a bunch of common designs work without needing metaprogramming.
While true, there are also 2 other reasons for meta-programmers are not all over Haskell: 1. efficiency nuts are already using C++ templates and don't see why they would switch, 2. people who care about types use a typed meta-language (like metaocaml) instead of an untyped template layer atop a (fantastic!) typed language. Actually, people in the #2 camp (like me) are keeping a close eye on dependently-typed languages (like Idris [1]) where partial evaluation has been show to be particularly easy and effective. I am eagerly (!) awaiting similar results from the Agda [2] camp. I believe the world really is ready for a typed metaprogramming language. I know I am. And I would really like it if Haskell were that language. Jacques [1] http://www.cs.st-andrews.ac.uk/~eb/Idris/ [2] http://wiki.portal.chalmers.se/agda/