[GHC] #8427: GHC accepts invalid program because of EPS poisoning
GHC
ghc-devs at haskell.org
Tue Oct 22 07:33:31 UTC 2013
#8427: GHC accepts invalid program because of EPS poisoning
-------------------------------------+-------------------------------------
Reporter: errge | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 7.10.1
Component: Compiler | Version: 7.7
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: GHC accepts | Difficulty: Moderate (less
invalid program | than a day)
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+-------------------------------------
Changes (by simonpj):
* priority: lowest => normal
Comment:
You are quite right. The current situation is manifestly a compromise.
The "right" solution is
* to create a fresh class-instance environment (call it `myInstEnv`) when
starting to compile a module
* whenever you need an interface file, go look it up; if it is not there,
load it; and then (in both cases) add its class instances to `myInstEnv`
* similarly add any orphan modules
* to avoid repeatedly adding stuff to `myInstEnv` we'll need a set of
module whose class instance are already in it.
* discard `myInstEnv` when we are done with this module
Similarly for rules and family instances.
Once done we can delete some code in GHCi that does something very like
this for the ghci command line.
None of this is hard, just needs doing. Volunteers?
I'll make priority 'normal'.
Simon
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8427#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list