Mario Blažević | 22 Mar 05:07 2013
Picon

ANNOUNCE: monoid-subclasses-0.1.1, incremental-parser-0.2.2, and SCC-0.8

     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
(Continue reading)

Alberto G. Corona | 13 Apr 17:29 2013
Picon

Re: ANNOUNCE: monoid-subclasses-0.1.1, incremental-parser-0.2.2, and SCC-0.8

Thanks
 
The cancelative monoid is the right class for rolling back transactions, by the way.


2013/3/22 Mario Blažević <blamario <at> acanac.net>
    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
[2] http://hackage.haskell.org/package/incremental-parser-0.2.2
[3] http://hackage.haskell.org/package/scc-0.8


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



--
Alberto.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Gmane