On Tue, Feb 27, 2007 at 12:07:24PM +0000, Tuomo Valkonen wrote:
> On 2007-02-27, Tuomo Valkonen <[EMAIL PROTECTED]> wrote:
> > I don't know about that.. The thing is, I like writing algorithms and
> > data structures more than learning others' APIs, and the help provided
> > by a DB isn't _that_ big...
> 
> There's one considerable benefit from using a ready DB, though: one
> could write the thing in Haskell, as no low-level bit manipulation
> is needed (which is practically impossible in Haskell and other 
> high-level languages). 

There are some very nice high-level libraries available[1] for Haskell
that abstract away even writing the SQL.  Of these I've only played with
HaskellDB and was reasonably impressed, but I think a lot has changed
since then and it may be even better.

> But then again, if one decides to write a 
> more efficient implementation at a later date, a complete rewrite
> is needed. (It's quite stupid to wrap from low-level C code to 
> Haskell and then back to C for FUSE.)

I don't think it's implemented anywhere at the moment, but have you
seen the ICFP2005 paper by Iavor Diatchi et. al.[2]?  The reason I
heard about it was through a safe low-level langauge I'm interested
in called BitC[3] that's thinking of using a similar technique for
representing "(low level hardware) data-structures which involve nested
union discriminators"[4].  BitC has a bootstrapping compiler written in
C++ at the moment, but hasn't reached the self-hosting stage yet.


  Sam

 [1] http://www.haskell.org/haskellwiki/Libraries_and_tools/Database_interfaces
 [2] http://www.cse.ogi.edu/~diatchki/papers/bitdata.pdf
 [3] http://www.coyotos.org/docs/bitc/spec.html
 [4] http://www.coyotos.org/pipermail/bitc-dev/2007-February/000881.html

Reply via email to