Hello Adam, At a guess, ~ is ambiguous with the type equality syntax a ~ b. You'll probably have to add a new production for types (similar to atype) which are at the top level of a data constructor definition.
I recently wrote some documentation on how to interpret Happy info files. There hasn't been a release yet but the docs are here: https://github.com/ezyang/happy/commit/daf84f5aa6f6453a118944f77393537f323d1adb Cheers, Edward Excerpts from Adam Sandberg Eriksson's message of 2015-06-04 12:52:02 -0700: > Hello *, > > I'm working on the -XStrict language extension[1] for this years Google > summer of code. I've started with the smaller -XStrictData (as > documented at the wiki) and have the internals mostly figured out. > > However after adding relevant rules for '~' in the parser[2] I get an > explosion of shift/reduce conflicts as well as 4 extra reduce/reduce > conflicts, see [3] for the happy info (the states with 36 shift/reduce > conflicts seem to be the problematic ones), I also fail to parse the > test file [4] with the error > > DsStrictData.hs:15:1: error: > parse error (possibly incorrect indentation or mismatched brackets) > > Can anyone offer some guidance on what the appropriate changes to the > parser are to make these "lazyness" marks work? > > Thanks, > Adam > > [1]: https://ghc.haskell.org/trac/ghc/wiki/StrictPragma > [2]: > https://github.com/adamse/ghc/blob/strict-pragma/compiler/parser/Parser.y#L1547-L1563 > [3]: > https://gist.githubusercontent.com/adamse/8d6c54b6ae660fca8b97/raw/detailed-info > [4]: > https://github.com/adamse/ghc/blob/strict-pragma/testsuite/tests/deSugar/should_run/DsStrictData.hs#L13 _______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
