

Algebraic Data Types for Ruby - jweissman
https://github.com/txus/adts

======
altarius
I'm not a ruby guy but the implementation is quite interesting.

The syntax looks very readable compared to other library-level
implementations. There seems to have been some abuse of the "::" constant
access operator and a lot of meta-magic + eval but the results are pretty
nice.

I find the type-mapping in the Constructor class pretty interesting as well.

