|Ashsong||sorear: Is there something obvious that I need to add to a .cabal file to make Cabal clean up after C2hs or is this a bug in Cabal?|
|sorear||Ashsong: I'm not kidding|
Ashsong: I really *have never used* c2hs
|Ashsong||sorear: I understand that, and I fixed the problems I was having there.|
(Up to type-checking. I don't know if the library will immediately segfault.)
|Ashsong||sorear: I was wondering, in this question, if you were familiar enough with Cabal to comment on whether Cabal normally cleans up after its supported preprocessors, whether special effort is required, or whether there's no support.|
|dons||ffi bindings can be like that|
cabal I thought, did clean up.
|Ashsong||cabal mostly cleaned up, but it left a bunch of .chi and .chs.h files lying around.|
|Ashsong||I'm not familiar enough with Cabal to know if this is intentional or if I'm not configuring Cabal properly or if it's a bug.|
|dons||well, I don't see any special handling in , say, X11-extras, which uses c2hs|
so it might just be a feature :}
|sorear||dons: X11-extras doesn't use c2hs|
|dons||$ ls Graphics/X11/Xlib/Extras.hsc|
|dons||ah yeah oops|
|sorear||> "hsc" == "chs"|
|dons||that's right, we have 2 preprocessors|
Ashsong: in that case, yes, c2hs might well leave behind files
|Ashsong||dons: It's not a big deal. Just a nit really.|
dons: The question was whether it was a nit that should end up in a bugtracker.
|dons||sorear: here's a job for you. you like parsers, yeah?|
and you like Haskell, yeah?
|dons||want to implement the system described in "Franois Pottier and Yann Rgis-Gianas. Towards efficient, typed LR parsers. In ACM Workshop on ML, volume 148(2) of Electronic Notes in Theoretical Computer Science, pages 155-180, March 2006."|
strongly typed parsers using GADTs
|sorear||ooh, that actually sounds fun|
|dons||"The LR parser generators that are bundled with many functional programming language implementations produce code that is untyped, needlessly inefficient, or both. We show that, using generalized algebraic data types, it is possible to produce parsers that are well-typed (so they cannot unexpectedly crash or fail) and nevertheless efficient."|
|sorear||strongly typed LR parsers already exists - Frown uses them|
|dons||sound fun, no?|
using GADTs though?
|Ashsong||sorear: better move quickly, or Oleg might beat you to it.|