1. 21 Sep, 2001 5 commits
  2. 20 Sep, 2001 9 commits
    • rje's avatar
      [project @ 2001-09-20 16:01:53 by rje] · 3ff55536
      rje authored
      Now has better handling of comments.
      
      Not a big deal, but means we don't get as many false definitions caused
      by parsing comments.
      3ff55536
    • simonpj's avatar
      [project @ 2001-09-20 16:01:23 by simonpj] · 3549fa7b
      simonpj authored
      Argh!  Bogon in last fix!  Merge to stable!
      3549fa7b
    • rje's avatar
      [project @ 2001-09-20 14:47:21 by rje] · b6650007
      rje authored
      Now Hasktags generates Emacs etags format "TAGS" files as well as ctags format "tags" files.
      
      It can thus be used with a wider range of editors than previously.
      	(specifically Emacs/XEmacs)
      
      I don't think this change should affect anything other than hasktags itself, and it makes hasktags a lot more useful (given how many people use Emacs), so it might be good to merge this into STABLE.
      b6650007
    • sewardj's avatar
      [project @ 2001-09-20 14:08:13 by sewardj] · 7c842eea
      sewardj authored
      Detect and reject gcc versions >= 3.0 at both build-configure and
      binary-dist configure time.
      
      MERGE TO STABLE
      7c842eea
    • simonmar's avatar
      [project @ 2001-09-20 13:32:15 by simonmar] · e20d2427
      simonmar authored
      Ignore RULES pragmas when -fglasgow-exts is off.
      e20d2427
    • simonpj's avatar
      [project @ 2001-09-20 12:15:41 by simonpj] · b16004bf
      simonpj authored
      Remove dead code (no need to merge to stable branch)
      b16004bf
    • simonpj's avatar
      [project @ 2001-09-20 12:15:20 by simonpj] · 2705a8d8
      simonpj authored
      Add debug stuff (no need to merge to stable branch)
      2705a8d8
    • simonpj's avatar
      [project @ 2001-09-20 12:14:31 by simonpj] · ab061892
      simonpj authored
      ------------------------------------------------
      	Make code generation ignore isLocalId/isGlobalId
      	------------------------------------------------
      
      	MERGE WITH STABLE BRANCH
      
      CorePrep may introduce some new, top-level LocalIds.  This
      breaks an invariant that the core2stg/code generator passes
      occasionally used, namely that LocalIds are not top-level bound.
      
      This commit fixes that problem.
      
      It also removes an assert from CodeGen.cgTopRhs that asks
      for the CgInfo of such new LocalIds -- but they may (legitimately)
      not have any, so it was a bad ASSERT.  [Showed up in George
      Russel's system.]
      ab061892
    • simonpj's avatar
      [project @ 2001-09-20 08:47:13 by simonpj] · 2c250999
      simonpj authored
      ------------------------------
      	Fix a scoped-type-variable bug
      	------------------------------
      
      	MERGE WITH STABLE BRANCH
      
      The bug caused an incorrect failure when the same type
      variable was used more than once in a collection of patterns:
      
      	f (x :: t) (y :: t) = e
      
      On the way, I eliminated bindNakedTyVarsFVRn, which was only
      called once.
      2c250999
  3. 19 Sep, 2001 2 commits
  4. 18 Sep, 2001 5 commits
  5. 17 Sep, 2001 12 commits
    • ken's avatar
      [project @ 2001-09-17 22:46:59 by ken] · 99f27d09
      ken authored
      The size of a large bitmap is in number of (32- or 64-bit) words,
      not 32-bit words. MERGE TO STABLE
      99f27d09
    • rrt's avatar
      [project @ 2001-09-17 17:40:10 by rrt] · aafccd38
      rrt authored
      Update License not to have a blank line at the start and announce to look
      tidier (but it's still not v5.02).
      
      PLEASE MERGE
      aafccd38
    • sewardj's avatar
      [project @ 2001-09-17 17:23:32 by sewardj] · 2a15c00a
      sewardj authored
      Fix utterly bogus implementation of system on Windoze.
      2a15c00a
    • simonmar's avatar
      [project @ 2001-09-17 16:51:55 by simonmar] · 50cc9c13
      simonmar authored
      More small performance improvements
      50cc9c13
    • simonmar's avatar
      [project @ 2001-09-17 16:21:41 by simonmar] · 14856043
      simonmar authored
      Subvert GHC's full-laziness optimisation by explicitly lambda-lifting
      a local lambda expression to the top level, and exporting it to ensure
      it doesn't get inlined.  Without this hack, full-laziness will float
      out several subexpressions, which turns out to be a pessimisation in
      this case.
      
      This is worth about 20% in hPutStr performance, so we now beat the old
      I/O library on 'cat' ;-)
      
      I'd like to MERGE TO STABLE this, but 5.02 is imminent so it might
      have to wait until 5.02.1.
      14856043
    • simonmar's avatar
      [project @ 2001-09-17 14:58:09 by simonmar] · a3b0f2a6
      simonmar authored
      Fix a couple more cut-n-pastos in the line-buffered version of
      hPutStr.  Also fill in the export list while I'm here.
      
      MERGE TO STABLE
      a3b0f2a6
    • sewardj's avatar
      [project @ 2001-09-17 13:46:26 by sewardj] · f33a892d
      sewardj authored
      Give a fixity declaration for seq.
      f33a892d
    • sewardj's avatar
      [project @ 2001-09-17 12:12:31 by sewardj] · 5e1cb7db
      sewardj authored
      Update for 5.02.
      
      MERGE TO STABLE
      5e1cb7db
    • simonpj's avatar
      [project @ 2001-09-17 10:35:46 by simonpj] · 0240235f
      simonpj authored
      Bogon in defn of seq (caused lint error in PrelIO)
      0240235f
    • rrt's avatar
      [project @ 2001-09-17 09:52:21 by rrt] · 7d0b7002
      rrt authored
      The list of steps to go through when making an InstallShield. This
      forms the basis of what needs to be automated in make install after
      the 5.02 release.
      7d0b7002
    • simonmar's avatar
      [project @ 2001-09-17 09:51:23 by simonmar] · 488d5cc3
      simonmar authored
      Knock the FFI documentation into some sort of shape for the release:
      
      - The blurb about "the FFI is in two/three parts..." was repeated in
        three places.  We also at some point seem to have lost the property
        that the FFI spec is a self-contained document; I don't try to fix
        that here, since we're going to replace it with the new spec at some
        point.
      
      - Replace references to Addr and ForeignObj with Ptr and ForeignPtr.
      
      - Remove mentions of GHC's ByteArray and MutableByteArray types, as
        these are deprecated and will be removed in a couple of versions.
        (mostly subsumed by allocaBytes and friends).
      
      - Catch up with GHC's removal of the library specification from foreign
        import.  Mention that libraries are specified in a compiler-dependent
        way now, and that GHC uses either packages or command-line opts for
        this.
      
      - Fix up some markup.
      488d5cc3
    • sewardj's avatar
      [project @ 2001-09-17 09:28:01 by sewardj] · 349d9b53
      sewardj authored
      primRepToSize: for PrimReps which we don't know how to handle,
      abort compilation and advise user to use -fvia-C, rather than
      continuing with a bogus Size which may silently cause incorrect
      code to be generated.
      
      MERGE TO STABLE
      349d9b53
  6. 15 Sep, 2001 1 commit
  7. 14 Sep, 2001 6 commits
    • qrczak's avatar
      [project @ 2001-09-14 16:54:13 by qrczak] · 1c89aa7f
      qrczak authored
      Make -c actually working (as --cc).
      1c89aa7f
    • sewardj's avatar
      [project @ 2001-09-14 16:01:20 by sewardj] · e4fd7364
      sewardj authored
      Update version to 5.02.
      
      MERGE TO STABLE
      e4fd7364
    • simonmar's avatar
      [project @ 2001-09-14 15:56:40 by simonmar] · 0346ecd9
      simonmar authored
      Document how to use "foreign export" with GHC, including how to call
      startupHaskell()/shutdownHaskell() when providing your own main().
      0346ecd9
    • sewardj's avatar
      [project @ 2001-09-14 15:53:41 by sewardj] · c60660d1
      sewardj authored
      merge rev 1.47.2.1:
      
      * typo ('-help' -> '--help')
      c60660d1
    • simonpj's avatar
      [project @ 2001-09-14 15:51:41 by simonpj] · 5ab261bb
      simonpj authored
      --------------------------
      	Add a rule-check pass
      	(special request by Manuel)
      	--------------------------
      
      	DO NOT merge with stable
      
      The flag
      
      	-frule-check foo
      
      will report all sites at which RULES whose name starts with "foo.."
      might apply, but in fact the arguments don't match so the rule
      doesn't apply.
      
      The pass is run right after all the core-to-core passes.  (Next thing
      to do: make the core-to-core script external, so you can fiddle with
      it.  Meanwhile, the core-to-core script is in
      	DriverState.builCoreToDo
      so you can move the CoreDoRuleCheck line around if you want.
      
      The format of the report is experimental: Manuel, feel free to fiddle
      with it.
      
      Most of the code is in specialise/Rules.lhs
      
      
      Incidental changes
      ~~~~~~~~~~~~~~~~~~
      Change BuiltinRule so that the rule name is accessible
      without actually successfully applying the rule.  This
      change affects quite a few files in a trivial way.
      5ab261bb
    • simonpj's avatar
      [project @ 2001-09-14 15:49:56 by simonpj] · 74a395c2
      simonpj authored
      -----------------
      	Make seq built in
      	-----------------
      
      	DO NOT merge with stable
      
      Until this commit 'seq' used a cunning hack so that it
      seems to be *non-strict* in its second argument:
      
        seq x y = case seq# x of { 0 -> y; other -> error "urk" }
      
      The reason for this is to make sure that x is evaluated before y,
      which is what you want in a parallel setting.
      
      But in a *sequential* settting, this simply destroys strictness
      information about y.  Now that people are starting to use seq more,
      this is becoming painful.  People sometimes use seq to make their
      function strict, and are surprised when it becomes non-strict in other
      arguments!
      
      So this commit changes seq so that it does what you would naively
      expect:
      
      	seq x y = case x of { any -> y }
      
      This is done by making seq built-in, defined along with
      	unsafeCoerce
      	getTag
      
      in MkId.lhs.  (I considered giving their unfoldings in
      PrelGHC.hi-boot.pp, but then there is the matter of making sure they
      are unfolded, since these fns don't have top-level curried defns,
      so I held off and did seq the same way as the other two.)
      
      I renamed PrelConc.seq as PrelConc.pseq; maybe its name will change
      to `then` or `before` or something else.  That's up to the GPH
      folk.
      74a395c2