Fork me on GitHub
#clojure-italy
<
2017-10-25
>
nilrecurring08:10:14

@reborg se hai una sequenza di operazioni pure (lo usecase per cui in clojure usi xforms), usando normali liste in haskell hai la fusion gratis, no commitment. Perchè i “side effect nello stream”: in haskell c’è un confine ben delineato tra operazioni pure e IO. Quindi le astrazioni in conduit (che a questo punto è abbastanza ubiquo, quindi non molto buy-in necessario) tornano utili se vuoi fare streaming (per esempio, non leggere un file grosso in memoria tutto in una volta) e allo stesso tempo avere i vantaggi della stream fusion (ovvero il compilatore riscrive la tua sequenza di operazioni in una funzione, così non allochi liste addizionali), senza doverti scrivere a mano il codice che fa streamingIO + processing.

nilrecurring08:10:53

@richiardiandrea molto interessante quel progetto in go. Curioso che l’autore sia uno degli autori di Kafka 🙂