5 ms·
That is a bit reductive. You can consider these implementations in other languages: https://github.com/hypirion/haskell-transducers https://github.com/hypirio
by waffletower 6mo ago
That is a bit reductive. You can consider these implementations in other languages: https://github.com/hypirion/haskell-transducers https://github.com/hypirion/haskell-transducers -- https://github.com/ruuda/transducers https://github.com/ruuda/transducers
- solomonb 6mo agoIt seems like a messy abstraction whose results could be achieved through a variety of other tools. :/
- waffletower 6mo agoIt isn't messy in Clojure
- mhitza 6mo agoFree Monads are a very nice (though not performant) way of creating an embedded domain specific language interpreter. Once I was building a declarative components library in PHP, using the ideas I've learned from free monads. I'm sure you can't imagine what an attrocity I've built. It did the job, but I had to mentally check out and throw in a couple of goto's in my main evalution loop. All that to say that elegance of expressivity is tied to the syntax and semantics of languages.
- solomonb 6mo agoFree Monads are also built on a tower of mathematical structures that come with laws and invariants. I have yet to see such formalization for transducers.