
#1409: Allow recursively dependent modules transparently (without .hs-boot or anything) -------------------------------------+------------------------------------- Reporter: Isaac Dupree | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: ⊥ Component: Compiler | Version: 6.10.2 Resolution: | Keywords: backpack Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #9256 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by atravers): Replying to [comment:49 simonpj]: Starting with the following local definitions of computeInOuts, in section 5.4 of the Diatchki/Jones/Hallgren paper: {{{ nextExps = computeEs . computeIs computeEs is = zipWith exports mods is computeIs es = map (`inscope` toFun es) mods }}} which can be simplified to: {{{ nextExps es = map (computeModExps es) mods computeModExps es m = exports m (inscope m (toFun es)) }}} Then: {{{ nextExps es = map (computeModExps es) mods computeModExps es m = fst (compileMod es m) }}} ...assuming this can be well-defined: {{{ compileMod es m = (modExps, modCode) where modExps = exports m (inscope m (toFun es)) modCode = ... . . . }}} Would something like this be possible in GHC? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/1409#comment:72 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler