
#15147: Type checker plugin receives Wanteds that are not completely unflattened -------------------------------------+------------------------------------- Reporter: nfrisby | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.8.1 Component: Compiler (Type | Version: 8.4.1 checker) | Keywords: Resolution: | 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 simonpj):
I have a related request: directly provide the list of all in-scope variables bound by the enclosing and current implications
It's not quite readily available, because we simply recurse in the solver, without putting the skolems anywhere accessible. The right place would be in the `InertSet` (in `TcSMonad`). There is already a field for the flatten-skolems (fsks); you'd just need to add a field for the ordinary skolems. Not hard. The fmv are more like unification variables; you can easily find them from the RHS of `CFunEqCan` wanteds/deriveds. If you want to offer a patch, I'm sure Richard and I can offer guidance. I think we should concentrate on what GHC can ''easily'' do; we don't want to impose substantial overheads for the benefit of plugins that may not exist in the common case. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15147#comment:23 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler