
#10796: Illegal data constructor name: `fromList' ... When splicing a TH expression -------------------------------------+------------------------------------- Reporter: erisco | Owner: Type: bug | Status: new Priority: normal | Milestone: 8.0.1 Component: Template Haskell | Version: 7.8.3 Resolution: | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): -------------------------------------+------------------------------------- Comment (by goldfire): Good point. But I'm not terribly concerned here. The current behavior of `dataToPatQ` in this situation (when it sees a function instead of a constructor) is to create some bogus Haskell. The new behavior of `dataToPatQ` in this situation will be to create some bogus Haskell. The bogus Haskell changes, but I don't think it's any worse. And, as you say, with this change, we could improve `dataToExpQ` to create correct Haskell. Perhaps better would be for calls to `dataToQa` to know when it's working with a pattern and fail more gracefully. That would indeed be an improvement. But I don't think that we should try too hard here. The `Data` instance involved is lying, calling something a constructor when it's not. If we can accommodate the lie easily -- as we can in `dataToExpQ` -- then great. Otherwise, I think it's OK to fail. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10796#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler