Thanks The cancelative monoid is the right class for rolling back transactions, by the way.
2013/3/22 Mario Blažević <[email protected]> > The new package monoid-subclasses [1] exports a number of classes that > sit between monoids and groups: ReductiveMonoid, CancellativeMonoid, > GCDMonoid, MonoidNull, and FactorialMonoid among others. The package also > comes with class instances for all applicable data types from base, vector, > containers, bytestring, and text packages. > > These classes were initially a part of the incremental-parser package > [2] but they've moved, so incremental-parser-0.2.2 now depends on > monoid-subclasses which has added more class methods and instances. The > parsers constructed using the incremental-parser library generally work on > any ReductiveMonoid, FactorialMonoid or TextualMonoid. You can thus > construct a generic parser that operates on String, ByteString, or Text > input, or even on Product Integer or a Map if you are so inclined. > > The version 0.8 of Streaming Component Combinators (a.k.a. SCC) has > also been re-designed from the ground up. In the earlier versions, as in > the pipes and conduit packages, the types of streams and stream-processing > components were > parametrized by the type of the individual items flowing through. All > sources and sinks are now parametrized instead by the type of the monoid > they produce or consume. As a consequence, SCC coroutines can now > communicate in chunks of > ByteString or Text instead of just lists, and these chunks can be of > arbitrary size. The boundaries of producer's chunks are invisible to the > consumer (excepting some low-level functions), which must specify the > amount of data it wants to receive using a ReadRequest. This change at the > heart of SCC has had a positive impact on outer layers, and especially on > the Splitter component type which has become much simpler. > > [1] > http://hackage.haskell.org/**package/monoid-subclasses-0.1.**1<http://hackage.haskell.org/package/monoid-subclasses-0.1.1> > [2] > http://hackage.haskell.org/**package/incremental-parser-0.**2.2<http://hackage.haskell.org/package/incremental-parser-0.2.2> > [3] > http://hackage.haskell.org/**package/scc-0.8<http://hackage.haskell.org/package/scc-0.8> > > > ______________________________**_________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/**mailman/listinfo/haskell-cafe<http://www.haskell.org/mailman/listinfo/haskell-cafe> > -- Alberto.
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
