Ho letto circa arrows ultimamente, un concetto inventato più di 10 anni fa. Permette di ottenere più informazioni statiche sui calcoli rispetto alle monadi, pur avendo il potere dei calcoli a seconda dei precedenti.Buoni esempi all'avanguardia di frecce in azione?
Tuttavia non sono riuscito a trovarli usati nelle librerie più recenti e all'avanguardia. Ad esempio, attoparsec non ha nemmeno un'istanza Arrow
, anche se le frecce sono state progettate per accelerare l'analisi.
Esistono alcuni esempi di frecce utilizzate nelle librerie o negli eseguibili attualmente sviluppati, che offrono prestazioni o altri vantaggi?
(capisco che questo è una specie di una domanda soft - il mio obiettivo è quello di ottenere una migliore comprensione del concetto e dei suoi vantaggi.)
Ho scoperto che [_Netwire_] (https://wiki.haskell.org/Netwire) è un bell'esempio. In particolare ['Wire'] (https://hackage.haskell.org/package/netwire-5.0.1/docs/Control-Wire-Core.html#t:Wire) implementa fino a' ArrowChoice' ma non 'Monad '. –