transducer-machines

Using Scalaz Stream for parsing task (replacing Scalaz Iteratees)

房东的猫 提交于 2019-12-29 10:09:03
问题 Introduction I use Scalaz 7's iteratees in a number of projects, primarily for processing large-ish files. I'd like to start switching to Scalaz streams, which are designed to replace the iteratee package (which frankly is missing a lot of pieces and is kind of a pain to use). Streams are based on machines (another variation on the iteratee idea), which have also been implemented in Haskell. I've used the Haskell machines library a bit, but the relationship between machines and streams isn't

Using Scalaz Stream for parsing task (replacing Scalaz Iteratees)

允我心安 提交于 2019-12-29 10:08:33
问题 Introduction I use Scalaz 7's iteratees in a number of projects, primarily for processing large-ish files. I'd like to start switching to Scalaz streams, which are designed to replace the iteratee package (which frankly is missing a lot of pieces and is kind of a pain to use). Streams are based on machines (another variation on the iteratee idea), which have also been implemented in Haskell. I've used the Haskell machines library a bit, but the relationship between machines and streams isn't

What's the conceptual difference between Machines and Conduits (or other similar libraries)?

放肆的年华 提交于 2019-12-03 03:56:52
问题 I'd like to learn the concept, so that I'd be able to understand and use libraries such as machines. I tried to follow Rúnar Bjarnason's talk on machines, but there is too little information, basically just a bunch of data types. I can't even understand what k is in newtype Machine k o = Step k o (Machine k o) data Step k o r = Stop | Yield o r | forall t . Await (t -> r) (k t) r or what's t is and why it's quantified. Or, what's the conceptual difference between conduit -like libraries and

What's the conceptual difference between Machines and Conduits (or other similar libraries)?

落花浮王杯 提交于 2019-12-02 16:17:06
I'd like to learn the concept, so that I'd be able to understand and use libraries such as machines . I tried to follow Rúnar Bjarnason's talk on machines , but there is too little information, basically just a bunch of data types. I can't even understand what k is in newtype Machine k o = Step k o (Machine k o) data Step k o r = Stop | Yield o r | forall t . Await (t -> r) (k t) r or what's t is and why it's quantified. Or, what's the conceptual difference between conduit -like libraries and machines ? conduit and pipes are both far more mature than machines , but -- that said -- machines is