1. 29 Aug, 2001 1 commit
  2. 13 Aug, 2001 1 commit
  3. 02 Aug, 2001 1 commit
  4. 01 Aug, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-08-01 12:07:50 by simonmar] · f7828a36
      simonmar authored
      Signification cleanup & rewrite of CmLink.
      
      Fixes at least one bug: the PersistentLinkerState could sometimes get
      out of step with the RTS's idea of which modules were loaded, leading
      to an unloadObj failure when we try to unload the same module twice.
      This could happen if a ^C exception is received in the middle of a
      :load.
      
      Fixed by keeping the part of the linker's state that must match up
      with the RTS's internal state entirely private to CmLink, stored in a
      global variable.  The operations in CmLink which manipulate this state
      are now wrapped by Exception.block, and so are safe from ^C
      exceptions.
      f7828a36
  5. 15 Jun, 2001 1 commit
    • simonpj's avatar
      [project @ 2001-06-15 08:29:57 by simonpj] · 972d6442
      simonpj authored
      Some tidying up
      
      * Remove CmStaticInfo
         - GhciMode moves to HscTypes
         - The package stuff moves to new module main/Packages.lhs
      
      [put any package-related stuff in the new module]
      
      * Add Outputable.docToSDoc
      972d6442
  6. 14 Jun, 2001 1 commit
    • simonpj's avatar
      [project @ 2001-06-14 12:50:05 by simonpj] · 16d5d1c7
      simonpj authored
      ----------------------
      	Installation packaging
      	----------------------
      
      GHC runs various system programs like
      	cp, touch
      	gcc, as, ld etc
      
      On Windows we plan to deliver these programs along with GHC,
      so we have to be careful about where to find them.
      
      This commit isolates all these dependencies in a single module
      
      	main/SysTools.lhs
      
      Most of the #ifdefery for mingw has moved into this module.
      There's some documentation in SysTools.lhs
      
      Along the way I did lots of other cleanups.  In particular
      
        * There is no more 'globbing' needed when calling runSomething
        * All file removal goes via the standard Directory.removeFile
        * TmpFiles.hs has gone; absorbed into SysTools
        * Some DynFlag stuff has moved from DriverFlags to CmdLineOpts
      
      
      Still to do:
      
        **	I'm a bit concerned that calling removeFile one at a time
      	when deleting masses of split-object files is going to be
      	rather slow
      
        **	GHC now expects to find split,mangle,unlit in
      		libdir/extra-bin
      	instead of just
      		libdir
      
      	So something needs to change in the Unix installation scripts
      
        **    The "ineffective C preprocessor" is a perversion and should die
      16d5d1c7
  7. 28 Mar, 2001 2 commits
    • qrczak's avatar
      [project @ 2001-03-28 18:53:39 by qrczak] · b113e320
      qrczak authored
      Typo.
      b113e320
    • simonmar's avatar
      [project @ 2001-03-28 11:01:19 by simonmar] · f4eba96b
      simonmar authored
      Clean up GHC's error reporting.
      
        - the GhcException type has some more constructors: CmdLineError,
          UserError, and InstallationError.  OtherError has gone.
      
        - most error messages should begin with "<location>:".  When the
          error is on the command-line or in GHC itself, <location> is
          "ghc", for consistency with std Unix semantics.
      
        - GHCi no longer prints a superfluous "ghc: " before certain error
          messages.
      f4eba96b
  8. 19 Mar, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-03-19 16:22:00 by simonmar] · dd4bc7ed
      simonmar authored
      Fix a problem with the 'it' variable in GHCi.  New bindings for 'it'
      were getting confused with old bindings, because we always used the
      same 'it' name.
      
      Now, we generate a new unique for 'it' each time around.
      
      Also, make sure that any existing variables shadowed by new
      command-line bindings are correctly removed from the environments to
      avoid space leaks.
      dd4bc7ed
  9. 01 Mar, 2001 2 commits
    • simonpj's avatar
      [project @ 2001-03-01 16:56:44 by simonpj] · 86db5bf5
      simonpj authored
      Move import
      86db5bf5
    • simonmar's avatar
      [project @ 2001-03-01 14:26:00 by simonmar] · 18b24e64
      simonmar authored
      GHCi fixes:
      
        - expressions are now compiled in a pseudo-module "$Interactive",
          which avoids some problems with storage of demand-loaded declarations.
      
        - compilation manager now detects when it needs to read the interace
          for a module, even if it is already compiled.  GHCi never demand-loads
          interfaces now.
      
        - (from Simon PJ) fix a problem with the recompilation checker, which
          meant that modules were sometimes not recompiled when they should
          have been.
      
        - ByteCodeGen/Link: move linker related stuff into ByteCodeLink.
      18b24e64
  10. 26 Feb, 2001 4 commits
  11. 07 Feb, 2001 3 commits
  12. 06 Feb, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-02-06 12:03:10 by simonmar] · 0ed9d260
      simonmar authored
      Try to get the stable modules story right.  Things now work much
      better: objects aren't unloaded and reloaded unnecessarily, and
      compiling modules from with GHCi works:
      
      	> :! ghc -c A.hs
      	> :r
      	Compiling A ... compilation IS NOT required (using ./A.o)
      	Compiling B ... compilation IS NOT required
      	Compiling C ... compilation IS NOT required
      	Compiling Main ... compilation IS NOT required
      
      Compiled module must not depend on interpreted modules, but we
      currently don't enforce this restriction properly.
      0ed9d260
  13. 05 Feb, 2001 1 commit
  14. 18 Dec, 2000 1 commit
  15. 13 Dec, 2000 1 commit
  16. 27 Nov, 2000 1 commit
  17. 24 Nov, 2000 1 commit
    • simonmar's avatar
      [project @ 2000-11-24 17:09:52 by simonmar] · 8fe9b1af
      simonmar authored
      - 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.
      8fe9b1af
  18. 21 Nov, 2000 2 commits
    • sewardj's avatar
      [project @ 2000-11-21 16:19:15 by sewardj] · e4ab5e87
      sewardj authored
      Message wibbles.
      e4ab5e87
    • simonmar's avatar
      [project @ 2000-11-21 14:31:58 by simonmar] · e663f7b8
      simonmar authored
      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.
      e663f7b8
  19. 20 Nov, 2000 3 commits
    • simonpj's avatar
      [project @ 2000-11-20 14:48:52 by simonpj] · c271b647
      simonpj authored
      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.
      c271b647
    • sewardj's avatar
      [project @ 2000-11-20 13:39:26 by sewardj] · dd3c088a
      sewardj authored
      Redo the source-up-to-date logic (in CompManager.upsweep_mod).
      dd3c088a
    • sewardj's avatar
      [project @ 2000-11-20 11:39:57 by sewardj] · c7955cf7
      sewardj authored
      * (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
      c7955cf7
  20. 17 Nov, 2000 2 commits
    • simonmar's avatar
      [project @ 2000-11-17 16:53:27 by simonmar] · 459e7bd4
      simonmar authored
      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.
      459e7bd4
    • sewardj's avatar
      [project @ 2000-11-17 10:13:21 by sewardj] · f5f3b9d9
      sewardj authored
      Make file up-to-dateness checking work in batch mode.
      f5f3b9d9
  21. 16 Nov, 2000 4 commits
    • simonmar's avatar
      [project @ 2000-11-16 16:54:36 by simonmar] · 2bf08ae1
      simonmar authored
      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.
      2bf08ae1
    • sewardj's avatar
      [project @ 2000-11-16 16:23:03 by sewardj] · 2829e3a6
      sewardj authored
      * 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.
      2829e3a6
    • simonmar's avatar
      [project @ 2000-11-16 15:57:05 by simonmar] · f212eb91
      simonmar authored
      Moving things around a bit to avoid cycles.
      
      Further progress on interactive linker.
      f212eb91
    • simonmar's avatar
      [project @ 2000-11-16 11:39:36 by simonmar] · 292c077d
      simonmar authored
      Current state of the interactive system; can load packages (in theory).
      292c077d
  22. 15 Nov, 2000 2 commits
  23. 14 Nov, 2000 1 commit
  24. 13 Nov, 2000 1 commit
    • sewardj's avatar
      [project @ 2000-11-13 17:08:36 by sewardj] · 52dbfc65
      sewardj authored
      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.
      52dbfc65
  25. 08 Nov, 2000 1 commit