
#12618: Add saturated constructor applications to Core -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by lukemaurer): We went back and forth with something like this in Sequent Core, where having the dual of Case was nice. One downside hasn't been mentioned, though: We'll need to use smart constructors more consistently, or otherwise not be able to count on ''all'' saturated constructor applications to use `ConApp`. Currently there's `mkCoreApp` and `mkCoreApps`, but those are only necessary when the let/app invariant must be enforced; IIRC, lots of places where let/app is known to hold just use fold `App` over the arguments. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12618#comment:20 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler