Re:Functional programming with bananas, lenses, envelopes an...
by charleskinbote on Tuesday April 26, 2022 @07:44AM
(#31166250)
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
[ Parent
| on HN ]
Re:Functional programming with bananas, lenses, envelopes an...
by sfvisser on Tuesday April 26, 2022 @04:43PM
(#31172911)
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!
Re:Functional programming with bananas, lenses, envelopes an...
by charleskinbote on Wednesday April 27, 2022 @07:44AM
(#31178709)
This is great, thanks for taking the time to flesh it out