summaryrefslogtreecommitdiff
path: root/ghc/compiler/compMan
Commit message (Collapse)AuthorAgeFilesLines
...
* [project @ 2000-12-12 14:35:08 by simonmar]simonmar2000-12-121-4/+4
| | | | | Clean up the error handling a bit; the exception type is moved to Panic, and a new exception for panics has been added.
* [project @ 2000-11-28 11:03:45 by sewardj]sewardj2000-11-282-79/+134
| | | | Cleanup, debug, of upsweep-avoidance stuff.
* [project @ 2000-11-27 17:45:07 by sewardj]sewardj2000-11-271-32/+133
| | | | | First shot at avoiding starting upsweep at the bottom. Still a bit flaky; needs cleaning up.
* [project @ 2000-11-27 11:36:27 by sewardj]sewardj2000-11-271-2/+3
| | | | | cmLoadModule: try and return the "highest" achieved module at the head of the list, so that the interactive UI winds up in a plausible module.
* [project @ 2000-11-27 10:48:10 by simonmar]simonmar2000-11-271-2/+2
| | | | rename filterNameEnv-->filterNameMap to avoid clash with Name.filterNameEnv.
* [project @ 2000-11-24 17:09:52 by simonmar]simonmar2000-11-242-55/+62
| | | | | | | | | | | - Bug fixes to the interpreter. Now much more stable - it hasn't crashed all day. - Many improvements to the user interface (eg. :set +t and :set +s work just like Hugs). - Several wibbles & message improvements: the interpreter now informs you when it's loading the object code for a given module.
* [project @ 2000-11-24 09:51:38 by simonpj]simonpj2000-11-241-1/+1
| | | | Unused imports and suchlike
* [project @ 2000-11-22 15:51:48 by simonmar]simonmar2000-11-221-4/+17
| | | | | | :l now unloads the previously loaded module collection before loading the new ones. This allows you to :l Main, :cd <somewhere-else> and :l Main again without it saying "compilation IS NOT required".
* [project @ 2000-11-22 10:56:53 by simonmar]simonmar2000-11-221-1/+1
| | | | | - :type now prints names unqualified when possible. - :module is implemented
* [project @ 2000-11-22 10:01:45 by sewardj]sewardj2000-11-221-1/+1
| | | | compiling-with-4.08.1 wibbles
* [project @ 2000-11-21 16:31:51 by sewardj]sewardj2000-11-211-15/+15
| | | | | | Delete pci field from PersistentCMState. Now that the list of available packages is a global variable (v_Packages), there's no point in having it in PersistentCMState.
* [project @ 2000-11-21 16:19:15 by sewardj]sewardj2000-11-211-4/+6
| | | | Message wibbles.
* [project @ 2000-11-21 15:00:57 by simonmar]simonmar2000-11-211-2/+16
| | | | | | | * :t works !!! (but it's a bit excessive about qualifying everything at the moment). * lots of other things work.
* [project @ 2000-11-21 14:31:58 by simonmar]simonmar2000-11-212-21/+42
| | | | | | | | | | | | | | | | | | | Mostly verbosity changes. GONE AWAY: -dshow-passes, -ddump-all, -ddump-most. NEW: -v<n>, where <n> is 0 | print errors & warnings only 1 | minimal verbosity: print "compiling M ... done." for each module. 2 | equivalent to -dshow-passes 3 | equivalent to existing "ghc -v" 4 | "ghc -v -ddump-most" 5 | "ghc -v -ddump-all" 4 & 5 are the same at the moment. -dshow-passes also prints out the passes in the driver, and some in the compilation manager.
* [project @ 2000-11-21 11:31:21 by simonmar]simonmar2000-11-211-7/+13
| | | | make ":l hello" load hello.hs if it exists.
* [project @ 2000-11-21 11:22:25 by sewardj]sewardj2000-11-211-8/+10
| | | | Clean up CM's messages a bit.
* [project @ 2000-11-20 17:42:00 by sewardj]sewardj2000-11-201-11/+11
| | | | | | | | | Split HscResult into HscFail | HscNoRecomp | HscRecomp, and clean up producers and consumers of such. In particular, if no recompilation happens, the resulting iface is put into the HIT instead of being thrown away. Also (trivial) unify functions *ModuleInThisPackage with *HomeModule.
* [project @ 2000-11-20 16:28:29 by simonmar]simonmar2000-11-201-46/+81
| | | | | | Allow the root of the module tree to have a filename which is different from its module name. The argument to cmLoadModule is now a filename.
* [project @ 2000-11-20 14:48:52 by simonpj]simonpj2000-11-202-5/+14
| | | | | | | | | | When renaming, typechecking an expression from the user interface, we may suck in declarations from interface files (e.g. the Prelude). This commit takes account of that. To do so, I did some significant restructuring in TcModule, with consequential changes and tidy ups elsewhere in the type checker. I think there should be fewer lines in total than before.
* [project @ 2000-11-20 13:43:19 by sewardj]sewardj2000-11-201-49/+6
| | | | Delete dead code resulting from redoing of source-up-to-date logic.
* [project @ 2000-11-20 13:39:26 by sewardj]sewardj2000-11-203-57/+75
| | | | Redo the source-up-to-date logic (in CompManager.upsweep_mod).
* [project @ 2000-11-20 11:39:57 by sewardj]sewardj2000-11-202-23/+33
| | | | | | * (CompManager) recompile if in interactive mode and no old linkable exists * (HscMain) don't write interface files in interactive mode * (everywhere) switch arg order to unJust for PAP purposes
* [project @ 2000-11-17 16:53:27 by simonmar]simonmar2000-11-172-30/+40
| | | | | | | | | | | | | | | | Results of today's hacking: - We can now execute expressions from the GHCi prompt. However, a problem with the typechecker environment means that identifiers from outside the current module aren't resolved :-( - loading up a multi-module program in the interpreter seems to work. Interpreting is kinda slow (ok, very slow), but I'm hoping it'll get better when I compile the interpreter w/ optimisation. - :set sort of works - you can do ":set -dshow-passes", for example - lots of bugfixes, etc.
* [project @ 2000-11-17 13:33:17 by sewardj]sewardj2000-11-171-11/+43
| | | | | | | Facilitate handling the situation where name of module /= name of file. This is handled in CompManager.summarise, which can inspect the source to see what the _real_ module name is, and act accordingly. All a bit messy -- needs a rethink.
* [project @ 2000-11-17 11:59:59 by sewardj]sewardj2000-11-171-13/+65
| | | | | | | | | | Filter the HST and HIT passed to compile to only contain the downwards closure of the module being compiled. This means that the instance-env construction machinery cannot pick up out-of-scope instances from HST. Don't know if it's necessary to filter HIT -- perhaps not. Instance env construction still doesn't work right, due to duplicates being picked up from interface files.
* [project @ 2000-11-17 10:13:21 by sewardj]sewardj2000-11-172-6/+33
| | | | Make file up-to-dateness checking work in batch mode.
* [project @ 2000-11-16 16:54:36 by simonmar]simonmar2000-11-162-18/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WOOHOO! GHCi interprets "Hello World": _____ __ __ ____ _________________________________________________ (| || || (| |) GHC Interactive, version 5.00 || __ ||___|| || () For Haskell 98. || |) ||---|| || || http://www.haskell.org/ghc || || || || || (| Bug reports to: glasgow-haskell-bugs@haskell.org (|___|| || || (|__|) \\______________________________________________________ Loading package std ... resolving ... done. Prelude> :l Main cmLoadModule: downsweep begins getSummary: Main after tsort: NONREC ModSummary { ms_mod = Main, ms_imps = [] ms_srcimps = [] } CHECKING OLD IFACE for hs = Just "./Main.hs", hspp = Just "/tmp/ghc25011.hspp" COMPILATION IS REQUIRED UPSWEEP COMPLETELY SUCCESSFUL CmLink.link: linkables are ... LinkableM Main [Trees [Main.main = letP stg_cIM = (@PP Native PrelShow.$fShow[] Native PrelShow.$fShowChar) in letP stg_cIL = (@IP Native PrelBase.unpackCString# 141613256#) in (@PP (@PP Native PrelIO.print stg_cIM) stg_cIL)]] Main.main CmLink.link: done Prelude> Main.main Run expression: Main.main evalI: 141613256# "Hello, world!" done.
* [project @ 2000-11-16 16:23:03 by sewardj]sewardj2000-11-164-25/+96
| | | | | | * Move along the source-changed checkery. * Make the driver put object files in the right place when using CM. * Don't do hscNoRecomp in one-shot mode.
* [project @ 2000-11-16 15:57:05 by simonmar]simonmar2000-11-164-274/+210
| | | | | | Moving things around a bit to avoid cycles. Further progress on interactive linker.
* [project @ 2000-11-16 11:39:36 by simonmar]simonmar2000-11-161-1/+1
| | | | Current state of the interactive system; can load packages (in theory).
* [project @ 2000-11-15 15:43:30 by sewardj]sewardj2000-11-153-314/+221
| | | | | | Overhaul of CM, reducing the complexity of recursive module machinery. Also, don't compute package dependencies at all, and don't pass them to the linker.
* [project @ 2000-11-15 10:49:53 by sewardj]sewardj2000-11-153-31/+35
| | | | Fix up the Batch vs Interactive plumbing.
* [project @ 2000-11-14 17:41:04 by sewardj]sewardj2000-11-142-8/+14
| | | | Fixes to do with CM and module cycles. Also to do with OPTIONS pragmas.
* [project @ 2000-11-14 15:04:15 by sewardj]sewardj2000-11-141-2/+6
| | | | Stop the world in the Approved Manner if the finder can't find a module.
* [project @ 2000-11-14 13:59:44 by sewardj]sewardj2000-11-142-11/+33
| | | | Only do batch linking if the upsweep succeeds and someone exports Main.main.
* [project @ 2000-11-13 17:08:36 by sewardj]sewardj2000-11-133-10/+38
| | | | | | First shot at batch linking. Does not attempt linking if upsweep was not completely successful. Always attempts linking if upsweep successful, even if there's no 'main' to be found anywhere.
* [project @ 2000-11-13 12:43:20 by sewardj]sewardj2000-11-132-8/+14
| | | | First shot at wiring up 'ghc --make'.
* [project @ 2000-11-08 15:14:03 by simonmar]simonmar2000-11-081-2/+6
| | | | fix heavy-handed merge-o :(
* [project @ 2000-11-08 14:52:06 by simonpj]simonpj2000-11-081-7/+3
| | | | Compiles most of the Prelude; versioning still not good
* [project @ 2000-11-08 13:51:58 by simonmar]simonmar2000-11-081-0/+10
| | | | Fixes for compiling w/ 4.08.1
* [project @ 2000-11-07 16:39:15 by simonmar]simonmar2000-11-071-3/+1
| | | | small fixes
* [project @ 2000-11-07 16:03:38 by simonmar]simonmar2000-11-072-3/+2
| | | | Fix compilation with 4.08.1
* [project @ 2000-11-03 11:36:30 by sewardj]sewardj2000-11-032-39/+34
| | | | Finally get CompManager to compile. Also rm some redundant imports.
* [project @ 2000-11-02 14:27:01 by simonmar]simonmar2000-11-024-0/+855
Cleaning up the configuration/build process. - New build.mk option: GhcWithInterpreter. It has reasonable defaults, and shouldn't need to be overriden (you get the interpreter if you're bootstrapping with ghc 4.09+ on an ELF architecture, at the moment). - compilation manager now lives in compiler/compMan. compiler/ghci contains only interpreter-related files. - WithGhcHc has gone, it now defaults to $(GHC). This is so that we can reliably determine the version of $(GHC) using the stuff that configure tells us. configure gets a new --with-ghc option so you can specify which ghc to use.