
#9980: TcS monad is too heavy -------------------------------------+------------------------------------- Reporter: simonpj | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.4 Resolution: | Keywords: | TypeCheckerPlugins 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 darchon): I had no need for `unsafeTcPluginTcM` until GHC 8.5, and only because: * The evidence for `KnownNat` is a `Natural`, even though Core doesn't have "first-class" support for Natural literals (but if I understand correctly, somebody is working on improving this situation) * Evidence is no longer a separate data type, but just a normal core expressions (except for evidence for `Typeable`). So the causes for my need `unsafeTcPluginTcM` can simply be classified as a "series of unfortunate/unforeseen events". However, isn't that exactly the reason for `unsafeTcPluginTcM`s existence in the first place? To have an escape hatch for situations that weren't easily foreseeable. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9980#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler