Hacker News new | ask | show | jobs
by charleskinbote 1522 days ago
Is there any example code you'd be able to point to? I'd have thought this would be difficult without something like haskell's Fix
1 comments

No open source code base I can point to right now unfortunately.

But this is fun stuff, so I couldn't help creating a simple gist to demonstrate the concept: https://gist.github.com/sebastiaanvisser/cd6ee46356e3ecc8945...

The trick is to keep all the combinators specific to your data type. In Haskell you can derive your functor (and applicative/foldable/traversable) and have a single cata to rule them all. In Rust you build them specifically for every datatype. Less neat, but could still be totally worth it!

This is great, thanks for taking the time to flesh it out