1. 15 Nov, 2002 1 commit
    • simonmar's avatar
      [project @ 2002-11-15 11:20:30 by simonmar] · 805fcaad
      simonmar authored
      - get rid of $(FptoolsHcOpts), it was ill-conceived.  As it was,
        $(FptoolsHcOpts) was overriding options in $(GhcHcOpts).  Now,
        we just use $(SRC_HC_OPTS) instead, which can be overriden
        by $(GhcHcOpts).
      
      - Don't bother adding -ldl to $(SRC_HC_OPTS) in config.mk.  It is
        added to the RTS's package configuration if necessary.
      805fcaad
  2. 14 Nov, 2002 3 commits
  3. 13 Nov, 2002 4 commits
    • simonmar's avatar
      [project @ 2002-11-13 17:02:06 by simonmar] · 26961bb3
      simonmar authored
      Add -f to ln -s command
      26961bb3
    • simonmar's avatar
      [project @ 2002-11-13 12:21:08 by simonmar] · 351afa5a
      simonmar authored
      Add support for gcc-style "make bootstrap" which will build the stage
      1, 2 and 3 compilers in the same build tree.
      
      The idea is to simplify building a stage 2 or 3 compiler (now you only
      need one build tree), and also speed up the build: there's no need to
      compile the libraries more than once, because the stage 1 libraries
      are used for stages 2 & 3.
      
      In ghc/compiler, the objects and .hi files are now placed in
      subdirectories: ghc/compiler/stage1 has the stage1 objects,
      ghc/compiler/stage2 has the stage2 objects, etc.
      
      The story from the top-level (fptools) is this:
      
        make all 	  works as before (i.e. builds ghc (stage 1),
      		  libraries, etc.)
      
        make stage2     builds the stage 2 compiler
        make stage3     builds the stage 3 compiler
      
        make bootstrap  does 'make all' followed by 'make stage2'
        make bootstrap3 does 'make all' followed by 'make stage2; make stage3'
      
      In ghc/compiler, the story is now:
      
        make all	     works as before (i.e. builds stage 1 only)
      
        make boot          generate build dirs and dependencies for stage 1
        make boot stage=N  generate build dirs and dependencies for stage N
      
        make stageN
        make stage=N       builds stage N compiler.  Run it in-place using
      		    ./stageN/ghc-inplace.
      
      I haven't decided what to do about 'make install' yet, and this still
      needs documenting in the Building Guide.  Also, you still get the same
      $(GhcHcOpts) for each stage.
      351afa5a
    • chak's avatar
      [project @ 2002-11-13 09:57:02 by chak] · 3212d689
      chak authored
      Added forall's to the representation of type terms
      3212d689
    • chak's avatar
      [project @ 2002-11-13 07:17:34 by chak] · 12a5d425
      chak authored
      More details about the handling of binders in DsMeta
      12a5d425
  4. 11 Nov, 2002 8 commits
    • panne's avatar
      [project @ 2002-11-11 18:42:09 by panne] · 0352501b
      panne authored
      Warning police: Removed "possibly uninitialized variable" warning.
      0352501b
    • simonmar's avatar
      [project @ 2002-11-11 15:49:58 by simonmar] · 8c58d234
      simonmar authored
      - embelish the documentation for +RTS -xc a bit
      
      - add some more question/answer pairs to the FAQ
      8c58d234
    • simonmar's avatar
      [project @ 2002-11-11 11:18:39 by simonmar] · 24be2773
      simonmar authored
      Increase the size of many of the int variables used in hp2ps to 64
      bits on a 32 bit machine, since they can easily overflow if the
      program runs for a few seconds.
      
      Fortunately there was a useful typedef to change - I couldn't be
      bothered figuring out exactly which variables to make wider, and the
      performance of hp2ps isn't really critical anyhow (this change makes
      it about 30% slower, but who cares).
      24be2773
    • simonpj's avatar
      [project @ 2002-11-11 11:04:10 by simonpj] · 0e6a76a1
      simonpj authored
      -----------------
      	Template Haskell
      	-----------------
      
      Template Haskell should now work in all modes!
      
      Remove test for --make/--interactive mode.
      0e6a76a1
    • simonpj's avatar
      [project @ 2002-11-11 11:02:55 by simonpj] · 20d4907c
      simonpj authored
      Back out accidental commit
      20d4907c
    • simonpj's avatar
      [project @ 2002-11-11 10:59:07 by simonpj] · 6942766a
      simonpj authored
      Comments only
      6942766a
    • simonpj's avatar
      [project @ 2002-11-11 10:58:40 by simonpj] · d0829767
      simonpj authored
      ------------------
        	Improve byte-code compilation of unboxed
      	 	tuple returns
      		------------------
      
      The previous byte-code for returning unboxed tuples was just wrong.  It's
      a special case for the situation where we return (# s, x #), where s is
      a state token, so we can just return the single result 'x' on top of the
      stack.  Previously we generated an ENTER at the end, which is plain wrong.
      We should RETURN.
      
      It still doesn't work, for other tiresome reasons...but rather than fix it
      we'll wait for eval-apply.  Meanwhile it's less wrong than before.
      d0829767
    • simonpj's avatar
      [project @ 2002-11-11 10:53:28 by simonpj] · 0adb7175
      simonpj authored
      ------------------
        	   Fix a newtype-deriving bug
      		------------------
      
      The new newtype-deriving mechanism was erroneously using the
      *representation type* of the newtype.  The rep type looks through all
      ihtermediate newtypes, so that is wrong.  See Note [newtype
      representation] in TcDeriv.lhs
      
      deriving/should_run/drvrun013 now tests for this.
      0adb7175
  5. 09 Nov, 2002 2 commits
  6. 08 Nov, 2002 4 commits
    • simonpj's avatar
      [project @ 2002-11-08 15:21:27 by simonpj] · 410e4850
      simonpj authored
      --------------------------------
      	Expression simplification for TH
      	--------------------------------
      
      Simplify expressions without any inlining in SimplCore.simplifyExpr.
      
      simplifyExpr is used to simplify a TH splice before running the code,
      and simplifyExpr was using (SimplPhase 0) which allows inlining.
      Unfortunately, when -O is on (which can happen when compiling a program
      with some splices with -O) some inlining can happen which then confuses
      the byte-code generator.  (Unboxed tuples.)
      410e4850
    • simonpj's avatar
      [project @ 2002-11-08 15:16:50 by simonpj] · e0b20971
      simonpj authored
      Wibbles
      e0b20971
    • simonmar's avatar
      [project @ 2002-11-08 12:52:51 by simonmar] · f7490897
      simonmar authored
      oops, should really check for .hi-boot-<version> before .hi-boot
      f7490897
    • simonpj's avatar
      [project @ 2002-11-08 09:01:06 by simonpj] · 73641e01
      simonpj authored
      ------------------
        	   More TH stuff (thanks to Ian L)
      		------------------
      
      * Make TH Literals have an Integer not an Int
      * Desguar TH 'foreign import' a bit better
      * Minor documentation changes
      73641e01
  7. 07 Nov, 2002 2 commits
    • simonmar's avatar
      [project @ 2002-11-07 14:42:25 by simonmar] · 9c383315
      simonmar authored
      Put a "warning:" prefix on a DEBUG belch msg to make it clearer that
      this isn't an error.
      9c383315
    • simonpj's avatar
      [project @ 2002-11-07 11:42:48 by simonpj] · 06fa575f
      simonpj authored
      ------------------
      	Fix an obscure bug in implicit parameters,
      	interacting with lazy pattern matching
      		------------------
      
      		MERGE TO STABLE BRANCH
      
      The problem was this:
      
        data UniqueSupply = US Integer
      
        newUnique :: (?uniqueSupply :: UniqueSupply) => Integer
        newUnique = r
                  where US r = ?uniqueSupply
      
      The lazy pattern match in the where clause killed GHC 5.04 because the
      SourceType {?uniqueSupply::UniqueSupply} of the RHS of the 'where' didn't
      look like a UniqueSupply.
      
      The fix is simple: in DsUtils.mkSelectorBinds, use the pattern, not
      the rhs, to get the type reqd.  More efficient too.
      
      Test is typecheck/should_compile/tc164.hs
      06fa575f
  8. 06 Nov, 2002 3 commits
  9. 05 Nov, 2002 7 commits
  10. 04 Nov, 2002 1 commit
  11. 01 Nov, 2002 3 commits
    • simonmar's avatar
      [project @ 2002-11-01 11:17:29 by simonmar] · 9bffc64e
      simonmar authored
      warning police: #include <string.h> to get proto for strlen()
      9bffc64e
    • simonmar's avatar
      [project @ 2002-11-01 11:16:33 by simonmar] · cbe4e8ae
      simonmar authored
      total_alloc should be a 64-bit couunter.
      
      MERGE TO STABLE
      cbe4e8ae
    • simonmar's avatar
      [project @ 2002-11-01 11:05:46 by simonmar] · 6226441f
      simonmar authored
      Fix the heapCensus crash.
      
      It turned out that after a GC, the small_alloc_list might be non-empty
      if a new finalizer thread had been started.  The last block on
      small_alloc_list doesn't have the free pointer set correctly (as a
      small optimisation, we don't normally set the free pointer after each
      allocation, only when the block is full).  The result was that the
      free pointer contains the wrong value, and the heap census traverses
      garbage.  The fix is to set the free pointer correctly before
      traversing small_alloc_list.
      
      The bug doesn't show up when DEBUG is on, because extra DEBUG checks
      cause the free pointer to be initialised to a sensible(-ish) value.
      Hence my difficulty in reproducing the bug.
      
      To reproduce: compile ghc-regress/lib/should_run/memo002 with
      profiling and run it with a sufficiently small sample interval (-i0.02
      did it for me).
      
      Thanks to the kind folks at ARM for helping out with the debugging of
      this one.
      
      MERGE TO STABLE
      6226441f
  12. 31 Oct, 2002 2 commits