Hacker News new | comments | show | ask | jobs | submit login

Consider how much powerful macros can be if you don't have to deal with out of order definitions.

Macros are wonderful, but intuitively it seems very limited in scope wrt compile-time optimizations.

For example, how would you do dataflow analysis at compile-time (which is necessary for a plethora of optimizations) with just macros?

JVM does that for you. However you're free to do all sorts of kinds of optimizations that the JVM simply can't do. Think about a in-memory logic engine that's running during compilation - you can introduce relations which influence how code further down the line is compiled via macros.

Please explain?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact