> The world of statically typed languages has the same framework (Scala’s Lift). But the implementation for Nemerle is based on macros and recognized standards such as LINQ.
I can't stand it when people parade around the "recognized standards" some company made up and then recognized on their own.
so if macros can operate on typed source and/or on the typed ast tree, do they (the macros) have a type system that guarantees that they will preserve correct typing? or are types still checked agan (globally?) after applying the macro?
what i'm really asking is, is there anything "smart" about how the macro works with the type system?
Macros are expending in the typing process. In macro you can use compiler API to type some untyped AST (for example, argument of macro).
For example, "foreach" macro use compiler API to infer type of collection. This macro generate specialized code for different collection kind (array/list/IEnumerable).
Beautifully written intro that gave me a complete feel for the language. I think that it is a really difficult thing, to communicate that well.
All the best ! I hope Nemerle becomes a fantastic option on the .NET platform. Though, with the speed that Microsoft likes to develop C#, it might most probably end up looking like this.
It looks all nice and well, but why can't languages these days be compiled ? I reckon it's way harder to do, but there's no major impediment to achieve what can be achieved in a language based say on the CLR.
It's much harder to get enough of a .NET runtime together for a new platform than it is to lean on a platform compiler and binary toolchain which must already exist. It's all very well saying "just download the installer," but that won't get my nemerle code running on my phone.
Nokia N900. Ok, so there's Mono for Maemo, so that's not a particularly convincing argument in itself. However, the point stands - replace Nemerle with Scala, for instance, and I'm stuffed (mostly).
I can't stand it when people parade around the "recognized standards" some company made up and then recognized on their own.