[Haskell-cafe] ANNOUNCE: Takusen 0.8.6

Gregory Crosswhite gcross at phys.washington.edu
Sun Aug 1 15:41:53 EDT 2010

  On 8/1/10 12:12 PM, austin seipp wrote:
> Hi Jason,
> I've had my eye on the 'Takusen' approach for a while. In particular I
> think it's a wonderful idea to use the left-fold based interface.
> Takusen is also well supported and pretty stable, having been around
> for a while.

I agree;  in fact, I use it for all of my database needs.

>   * It would be nice if we could make it depend on nicer libraries
> instead of rolling its own stuff - for example, we have Lato's
> excellent iteratee package, and Bas van Dijk has written a (IMO
> woefully underappreciated!) 'regions' package with encapsulate the
> lightweight monadic regions idea Oleg proposed. Of course, due to
> design, neither of these may work properly for Takusen's case, and if
> they did they would very likely facilitate API changes, but it's
> something I've been thinking about in the name of making the library
> smaller and more lightweight.

Making the library depend on more external libraries will actually make 
it more "heavyweight" since it will require the user to install more 
libraries just in order to use Takusen.  I'm not saying that this is a 
bad thing, but I wouldn't automatically count it as a disadvantage that 
one can install Takusen without requiring lots of other libraries to be 
installed first.

It looks to me like the iteratee package wouldn't be a good fit for 
Takusen because (as far I understand it) it is designed for the use case 
of reading raw data where in particular the "chunks" might not be 
aligned with the records being processed, whereas Takusen is designed 
for reading in very structured data.  The regions package might work, 
although there are problems with the way that it handles exceptions that 
has been discussed previously on this list.

Finally, a disadvantage of changing Takusen to use these kinds of 
external libraries is that it could actually make it *harder* to 
understand how to use it, since first the user would have to understand 
the concepts involved in the external libraries.

Again, I'm not saying that any of these issues automatically make it a 
bad idea to modify Takusen to use external libraries, just that the 
current approach works well and is (in my opinion) already relatively 
simple and straightforward, and it would be unfortunate if this were 
lost without a clear benefit.


More information about the Haskell-Cafe mailing list