Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There are different "macro stages" to allow macro application on both typed and untyped source.


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).


For example, see implementation of "lock" macro: http://code.google.com/p/nemerle/source/browse/nemerle/trunk...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: