3 ms·
This use of a church encoding to generalize over strict and lazy iterations of almost arbitrary data structures and streams has been constructed and described b
by funcDropShadow 5y ago
This use of a church encoding to generalize over strict and lazy iterations of almost arbitrary data structures and streams has been constructed and described by Oleg Kiselyov [1] long before transducers and many Haskell implementations . This page is a treasure trove of computer science theory and their applications in functional programming.
[1]: http://okmij.org/ftp/tagless-final/course/Boehm-Berarducci.html http://okmij.org/ftp/tagless-final/course/Boehm-Berarducci.h... and http://okmij.org/ftp/Streams.html http://okmij.org/ftp/Streams.html
- dwohnitmok 5y agoOleg is great. In this case we're actually going the opposite direction (going back to a concrete data structure). His stream fusion stuff is really cool, but I don't know of any popular libraries that have incorporated unfortunately. I think the Scala fs2 stream library was interested in trying to implement some of the ideas some years back, but I think they ended up not having the time or energy.