#8347: Add a Strict LANGUAGE pragma -------------------------------------+------------------------------------- Reporter: tibbe | Owner: tibbe Type: feature request | Status: new Priority: normal | Milestone: 7.12.1 Component: Compiler | Version: 7.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: Phab:D1033 -------------------------------------+------------------------------------- Comment (by Ben Gamari <ben@…>): In [changeset:"f842ad6c751c14ec331ca1709538c2f3e9a30ae7/ghc" f842ad6/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="f842ad6c751c14ec331ca1709538c2f3e9a30ae7" Implementation of StrictData language extension This implements the `StrictData` language extension, which lets the programmer default to strict data fields in datatype declarations on a per-module basis. Specification and motivation can be found at https://ghc.haskell.org/trac/ghc/wiki/StrictPragma This includes a tricky parser change due to conflicts regarding `~` in the type level syntax: all ~'s are parsed as strictness annotations (see `strict_mark` in Parser.y) and then turned into equality constraints at the appropriate places using `RdrHsSyn.splitTilde`. Updates haddock submodule. Test Plan: Validate through Harbormaster. Reviewers: goldfire, austin, hvr, simonpj, tibbe, bgamari Reviewed By: simonpj, tibbe, bgamari Subscribers: lelf, simonpj, alanz, goldfire, thomie, bgamari, mpickering Differential Revision: https://phabricator.haskell.org/D1033 GHC Trac Issues: #8347 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8347#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler