On Wednesday, 6 April 2016 at 20:48:20 UTC, Lucian Radu
Teodorescu wrote:
Compared to CTFE, in Sparrow you can run at compile-time *any*
algorithm you like. No restrictions apply. Not only you can do
whatever your run-time code can do, but can also call external
programs at compile-time.
Imagine that you are calling the D compiler from inside the
Sparrow compiler to compile some D code that you encounter.
Interesting. I guess that's why you'd have annotations on
variables that are set at compile time; without those
annotations, there would be no way to tell when the value is
calculated, and with non-pure functions, that becomes important.
In a way, requiring annotations is almost more elegant than
requiring functional purity...