Conversation

Ooh, what magic is this `%runElab` thingy? How does it know about those user-defined data types you made in that gist? Does it verify that they're of the right 'shape' first, or is it more of a macro-style thing?
1
1
Kind of looks similar to what I've been wondering - could you consider have a language that just treated the file as some statically run monady thing, then commands like `data` and `import` would just be functions that alter the environment…
1
4
That's pretty much how it works. Reflection exposes that, so as long as the overhead is low (which it is) it seems a plausible way to implement the rest (e.g. records, interfaces, etc)
2
4