1. 05 Apr, 2005 2 commits
    • krasimir's avatar
      [project @ 2005-04-05 09:06:36 by krasimir] · bdfa0107
      krasimir authored
      In many places there was a common pattern
      
      when (verbose >= n) $ putMsg "..."
      
      It is now replaced with
      
      debutTraceMsg dflags n "..."
      
      In few places hPutStrLn stderr or putStrLn was used instead of putMsg in
      the above pattern. They are replaced too. Now putMsg is used only in places
      where the verbosity flag was not checked.
      bdfa0107
    • simonpj's avatar
      [project @ 2005-04-05 08:25:06 by simonpj] · 43c2b681
      simonpj authored
      Final wibbles, I hope
      43c2b681
  2. 04 Apr, 2005 10 commits
    • simonpj's avatar
      [project @ 2005-04-04 16:49:42 by simonpj] · 7ea374f5
      simonpj authored
      One more stage2 wibble
      7ea374f5
    • simonpj's avatar
      [project @ 2005-04-04 16:15:04 by simonpj] · 5f38e9ba
      simonpj authored
      More stage2 wibbles
      5f38e9ba
    • simonpj's avatar
      [project @ 2005-04-04 15:54:50 by simonpj] · 57bdd6a6
      simonpj authored
      More wibbles to HsSyn changes
      57bdd6a6
    • simonmar's avatar
      [project @ 2005-04-04 15:54:18 by simonmar] · 61988d63
      simonmar authored
      Use the imul instruction natively, rather than the braindead wrapper
      around it.  The register allocator has been able to handle the fixed
      register usage of imul for a while now.  Also, the wrapper was broken
      on x86_64.
      61988d63
    • simonmar's avatar
      [project @ 2005-04-04 15:51:45 by simonmar] · 7bec5cbf
      simonmar authored
      wibble
      7bec5cbf
    • simonpj's avatar
      [project @ 2005-04-04 15:22:25 by simonpj] · da5cbb63
      simonpj authored
      Further HsSyn wibbles
      da5cbb63
    • simonpj's avatar
      [project @ 2005-04-04 14:11:29 by simonpj] · b5e9d715
      simonpj authored
      Wibbles arising from HsSyn changes
      b5e9d715
    • simonpj's avatar
      [project @ 2005-04-04 13:30:58 by simonpj] · 0935f932
      simonpj authored
      Update hs-boot file
      0935f932
    • simonpj's avatar
      [project @ 2005-04-04 13:26:59 by simonpj] · 6d0a6464
      simonpj authored
      Wibble: invert sense of test
      6d0a6464
    • simonpj's avatar
      [project @ 2005-04-04 11:55:11 by simonpj] · d551dbfe
      simonpj authored
      This commit combines three overlapping things:
      
      1.  Make rebindable syntax work for do-notation. The idea
          here is that, in particular, (>>=) can have a type that
          has class constraints on its argument types, e.g.
             (>>=) :: (Foo m, Baz a) => m a -> (a -> m b) -> m b
          The consequence is that a BindStmt and ExprStmt must have
          individual evidence attached -- previously it was one
          batch of evidence for the entire Do
          
          Sadly, we can't do this for MDo, because we use bind at
          a polymorphic type (to tie the knot), so we still use one
          blob of evidence (now in the HsStmtContext) for MDo.
          
          For arrow syntax, the evidence is in the HsCmd.
          
          For list comprehensions, it's all built-in anyway.
          
          So the evidence on a BindStmt is only used for ordinary
          do-notation.
      
      2.  Tidy up HsSyn.  In particular:
      
      	- Eliminate a few "Out" forms, which we can manage
      	without (e.g. 
      
      	- It ought to be the case that the type checker only
      	decorates the syntax tree, but doesn't change one
      	construct into another.  That wasn't true for NPat,
      	LitPat, NPlusKPat, so I've fixed that.
      
      	- Eliminate ResultStmts from Stmt.  They always had
      	to be the last Stmt, which led to awkward pattern
      	matching in some places; and the benefits didn't seem
      	to outweigh the costs.  Now each construct that uses
      	[Stmt] has a result expression too (e.g. GRHS).
      
      
      3.  Make 'deriving( Ix )' generate a binding for unsafeIndex,
          rather than for index.  This is loads more efficient.
      
          (This item only affects TcGenDeriv, but some of point (2)
          also affects TcGenDeriv, so it has to be in one commit.)
      d551dbfe
  3. 03 Apr, 2005 4 commits
  4. 01 Apr, 2005 2 commits
    • simonmar's avatar
      [project @ 2005-04-01 12:14:29 by simonmar] · 6c554010
      simonmar authored
      First cut at the x86_64 native code generator.  Lots of code is shared
      with i386, but floating point uses SSE2.
      
      This more or less works, the things I know that don't work are:
      
        - the floating-point primitives (sin, cos etc.) are missing
        - floating-point comparisons involving NaN are wrong
        - there's no PIC support yet
      
      Also, I have a long list of small things to fix up to improve
      performance.
      
      I think the small memory model is assumed, for now.
      6c554010
    • simonmar's avatar
      [project @ 2005-04-01 11:34:20 by simonmar] · 79c03a2f
      simonmar authored
      build fix when !GHCI
      79c03a2f
  5. 31 Mar, 2005 7 commits
  6. 30 Mar, 2005 5 commits
  7. 28 Mar, 2005 1 commit
  8. 24 Mar, 2005 5 commits
    • simonmar's avatar
      [project @ 2005-03-24 16:14:00 by simonmar] · 19519dc3
      simonmar authored
      Cleanup the upsweep strategy in GHC.load.
      
      Now it's hopefully clearer how we decide what modules to recompile,
      and which are "stable" (not even looked at) during a reload.  See the
      comments for details.
      
      Also, I've taken some trouble to explicitly prune out things that
      aren't required before a reload, which should reduce the memory
      requirements for :reload in GHCi.  Currently I believe it keeps most
      of the old program until the reload is complete, now it shouldn't
      require any extra memory.
      19519dc3
    • simonmar's avatar
      [project @ 2005-03-24 15:22:33 by simonmar] · acc0fe48
      simonmar authored
      tweaks to a (commented-out) trace message
      acc0fe48
    • simonmar's avatar
      [project @ 2005-03-24 15:11:07 by simonmar] · d46ae075
      simonmar authored
      mkStgAltType: try to find the non-abstract TyCon if the one in the
      type of the case binder turns out to be an HiBootTyCon.  Fixes
      possible code generation bugs when compiling programs with recursive
      modules.
      d46ae075
    • simonmar's avatar
      [project @ 2005-03-24 10:02:36 by simonmar] · b6b182f3
      simonmar authored
      Don't build GHC in all of GhcLibWays, like we do for other libraries
      b6b182f3
    • simonmar's avatar
      [project @ 2005-03-24 08:46:49 by simonmar] · 6189bc57
      simonmar authored
      Disable SplitObjs when building stage2 (which is also package now, so
      was getting the splitting treatment by default).
      6189bc57
  9. 23 Mar, 2005 2 commits
    • sof's avatar
      [project @ 2005-03-23 18:51:33 by sof] · 15552e14
      sof authored
      Rename the filenames used for the 'win32' package to {lib}HSwin_32{1.o,2.o,.a}
      so as to avoid conflicts with the 'Win32' package when installing to a common
      library directory on a case-insensitive filesystem (as we do when building
      binary dists under Windows.) This fixes the off-the-bat brokenness experienced
      by people trying to load the 'Win32' package with ghci-6.4.
      
      Note: package creators may want to make a note of this if they haven't already,
      i.e., while the package infrastructure is case-sensitive, it's unsafe to assume
      that the underlying filesystem is.
      
      Merge to STABLE.
      15552e14
    • simonmar's avatar
      [project @ 2005-03-23 13:27:42 by simonmar] · c94111ff
      simonmar authored
      Build GHC package as part of stage 2, and install it.
      
      The following changes will affect those building the GHC package:
      
        - BuildPackageGHC=YES is no longer required in build.mk
        - You must build stage 2 in order to get package ghc.
        - 'make install-inplace-pkg' is not required (nor does it work)
        - -package ghc can be used with the local stage1 or stage2 compiler
          in the current build tree, and it will be available after a
          'make install'.
      
      The GHC package is no longer optional, but it doesn't add much to the
      build time.
      c94111ff
  10. 22 Mar, 2005 2 commits
    • simonpj's avatar
      [project @ 2005-03-22 17:33:38 by simonpj] · d3585c0a
      simonpj authored
      Windows wibbles
      d3585c0a
    • simonmar's avatar
      [project @ 2005-03-22 17:13:12 by simonmar] · 069370a5
      simonmar authored
      A start on the GHC API:
      
      Flesh out the GHC module so that it can replace CompManager.  Now, the
      clients that used CompManager consume the GHC API instead (namely
      Main, DriverMkDepend, and InteractiveUI).  Main is significantly
      cleaner as a result.
      
      The interface needs more work: in particular, getInfo returns results
      in the form of IfaceDecls but we want to use full HsSyn and
      Id/DataCon/Class across the boundary instead.
      
      The interfaces for inspecting loaded modules are not yet implemented.
      069370a5