On 03/14/2013 11:01 PM, Duncan Coutts wrote: > On Thu, 2013-03-14 at 11:15 -0700, Jason Dagit wrote: >> On Thu, Mar 14, 2013 at 11:01 AM, Bardur Arantsson >> <s...@scientician.net>wrote: >> >>> On 03/14/2013 03:53 PM, Duncan Coutts wrote: >>>> Hi folks, >>>> >>>> Why did I choose parsec? Practicality dictates that I can only use >>>> things in the core libraries, and the nearest thing we have to that is >>>> the parser lib that is in the HP. I tried to use happy but I could not >>>> construct a grammar/lexer combo to handle the layout (also, happy is not >>>> exactly known for its great error messages). >>>> >>> >>> Just thinking out loud here, but what about ditching the current format >>> for something that's simpler to parse/generate? Like, say, JSON? > > Of course .cabal files are mainly written by humans, not machines, so we > should optimise for them.
I though we were mostly talking about InstalledPackageInfo. That could be in $EASILY_PARSEABLE_FORMAT without really breaking anything, right? Another option if GHC really also needs to parse .cabal files: - Introduce a format for Cabal files that's trivial to hand-code a recursive descent parser for. - Add a command in Cabal to generate that format from a .cabal file. - Have "cabal sdist" automatically generate that file and put it into the uploaded archive. Regards, _______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel