I hadn't heard of it before. I do like the examples and the clean-looking way it inferred the type from usage. I don't see what's really "metaprogramming" about the example in the link you posted; isn't that just reflection, which you can already do in the same way in C#? Edit: I guess, through the custom literals, it hides some of the boilerplate of how it had to read in the xml string and convert it into an XElement.
I don't see what's really "metaprogramming" about the example in the link you posted; isn't that just reflection, which you can already do in the same way in C#? Edit: I guess, through the custom literals, it hides some of the boilerplate of how it had to read in the xml string and convert it into an XElement.
It doesn't just have custom literals, it has a macro system that allows you to extend the language's syntax and to generate code at compile time. I've been interested in Scheme's hygienic macros for a long time and I could never get into it because I don't like how disjointed Lisp's ecosystem is, especially compared to C/++'s. It makes you wonder "did I choose the right dialect?"