matryoshka icon indicating copy to clipboard operation
matryoshka copied to clipboard

The beginnings of mutually-recursive support.

Open sellout opened this issue 9 years ago • 1 comments

This gives us multi-sorted recursion-schemes.

It involves adding a bunch of “higher-order” type classes, etc., which parallel the ones we already use.

Right now the implementation is pretty minimal – cata/ana, cataM/anaM are available. These should generalize the same way as the mono-sorted recursion schemes (para, apo, futu, etc.), but there’s just more stuff to add before that’s available.

There are a couple minimal tests that show that it does something, that apparently gets the right answer.

sellout avatar Jun 12 '16 21:06 sellout

Blocked by scala/scala#5744 for Scala 2.12 (and scala/scala#5749 for Scala 2.11).

sellout avatar Feb 28 '17 03:02 sellout