On 6/8/15 5:43 AM, Timon Gehr wrote:
On 06/08/2015 09:51 AM, Andrei Alexandrescu wrote:
I've been wondering for a good while whether it's possible with what we
have. Looks like it is, modulo some gnarly hacks in introspecting
function types.
https://github.com/D-Programming-Language/phobos/pull/3394
Destroy!
Andrei
- This is not alpha renaming. Alpha renaming renames a variable at the
point it is bound and updates all occurrences of the variable. Alpha
renaming does not change the term it is applied to.
http://en.wikipedia.org/wiki/Lambda_calculus#.CE.B1-conversion
This is type replacement.
I'm using the term a bit loosely but I think appropriately.
- How do you use it to create recursive types using algebraic? (Assuming
that's what your comment refers to.)
I've added documentation and examples to
http://erdani.com/d/phobos-prerelease/std_variant.html#.Algebraic.
Feedback appreciated.
Thanks,
Andrei