Skip to content

The beginnings of mutually-recursive support.#28

Open
sellout wants to merge 2 commits intoprecog:masterfrom
sellout:mutually-recursive
Open

The beginnings of mutually-recursive support.#28
sellout wants to merge 2 commits intoprecog:masterfrom
sellout:mutually-recursive

Conversation

@sellout
Copy link
Copy Markdown
Contributor

@sellout sellout commented Jun 12, 2016

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.

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
Copy link
Copy Markdown
Contributor Author

sellout commented Feb 28, 2017

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant