1. 10 Feb, 2003 2 commits
  2. 08 Feb, 2003 2 commits
  3. 07 Feb, 2003 4 commits
    • sof's avatar
      [project @ 2003-02-07 22:26:08 by sof] · 761af30a
      sof authored
      hsc2hs-inplace: provide --ld default-default
      761af30a
    • sof's avatar
      [project @ 2003-02-07 22:14:32 by sof] · 01591a28
      sof authored
      Rip out rawSystem impl -- it only happened to work by accident.
      
      Simpler to just assume that SystemExts supplies it instead, which it
      has for a number of versions now.
      01591a28
    • sof's avatar
      [project @ 2003-02-07 21:55:36 by sof] · e1618c1f
      sof authored
      - default linker is now 'ghc' (i.e., consistent with the default compiler.)
      - new option, -v/--verbose, which makes the tool less inscrutable about what
        external commands it actually ends up exec'ing.
      - under Win32, try locating the default 'ghc' to run by looking in the dir
        where 'hsc2hs' resides (which they do in a binary install.)
      - make the default --template arg story actually work (win32 only.)
      e1618c1f
    • simonpj's avatar
      [project @ 2003-02-07 09:39:02 by simonpj] · 7f82f577
      simonpj authored
      Fix minor bugs in simplifier iteration control
      7f82f577
  4. 06 Feb, 2003 8 commits
  5. 05 Feb, 2003 7 commits
  6. 04 Feb, 2003 8 commits
    • simonpj's avatar
      [project @ 2003-02-04 15:31:18 by simonpj] · 17777c53
      simonpj authored
      -------------------------------------
      	Fix a name-capture bug in Ext-Core
      	-------------------------------------
      
      Don't expand newtypes (even non-recursive ones) when going to External Core.
      Reason: the expansion was performed *after* Tidying; the expansion performs
      type substitution, which is only done right if you take account of the Uniques.
      But since it's post-tidying, we got capture of occurence names.
      
      I hope the lack of newtype expansion doesn't hurt anyone; I doubt it will.
      If so, we can think again.
      
      Thanks to Tobias Gedell for this one.
      17777c53
    • simonpj's avatar
      [project @ 2003-02-04 15:09:38 by simonpj] · 957bf375
      simonpj authored
      -------------------------------------
      	Remove all vestiges of usage analysis
      	-------------------------------------
      
      This commit removes a large blob of usage-analysis-related code, almost
      all of which was commented out.
      
      Sadly, it doesn't look as if Keith is going to have enough time to polish it
      up, and in any case the actual performance benefits (so far as we can measure
      them) turned out to be pretty modest (a few percent).
      
      So, with regret, I'm chopping it all out.  It's still there in the repository
      if anyone wants go hack on it.  And Tobias Gedell at Chalmers is implementing
      a different analysis, via External Core.
      957bf375
    • simonpj's avatar
      [project @ 2003-02-04 13:06:41 by simonpj] · e8f681e4
      simonpj authored
      ---------------------------------------------------
      			External Core fix
      	output implicit bindings in correct dependency order
      	---------------------------------------------------
      
      In coreSyn/MkExternalCore, output constructor wrappers before the
      other implicit bindings, because the latter may use the former.
      
      Thanks to Tobias Gedell for this one.
      e8f681e4
    • simonpj's avatar
      [project @ 2003-02-04 12:40:00 by simonpj] · 74775c6b
      simonpj authored
      Make utils/genprimopcode recognise the type ().
          It was previously written 'Unit', which is easily
          confused with the type 'Unit' (used for generic
          derived instances).
      74775c6b
    • simonpj's avatar
      [project @ 2003-02-04 12:33:05 by simonpj] · e6d00492
      simonpj authored
      ---------------------------------------------------
      	Template-Haskell fix to make the global environment
      		      more side-effect-ful
      	---------------------------------------------------
      
      Consider
      
      	f = $(...foldl...) $(...foldl...)
      
      The first splice sucks in the type sig for foldl, which the second
      splice needs.  That means that the second splice is going to have to
      consult the persistent compiler state to see the effect of imports
      by the first one.
      
      We used to cache the global type environment in the TcGblEnv, but
      this commit switches to the obvious thing: consult the persistent
      state on every global lookup.  After all, reading a MutVar is no
      big deal; and it's a benign, ever-growing cache of type signatures,
      so the side effect is fine.
      
      On the way I tidied up the knot-tying in TcIfaceSig a bit more.
      Previously, I think the setUnfoldingInfo was being strict in the
      unfolding, which forced it to be type-checked.  Now it's lazy.
      That could mean a lot less typechecking overall, for things whose
      unfolding isn't looked at.  I hope I havn't broken it, though.
      e6d00492
    • simonpj's avatar
      [project @ 2003-02-04 12:28:22 by simonpj] · 115f0fae
      simonpj authored
      ---------------------------------------------------
      	Important fix to the handling of class methods that
      	      mention their own class type variable
      	---------------------------------------------------
      
      [NB: I'm not 100% certain that this commit is independent of the
           Template-Haskell-related commit I'm doing at the same time.
           I've tried to separate them but may not have succeeded totally.]
      
      This bug gives utterly bogus (detected by Core Lint) programs.
      Isaac Jones discovered it.  Here's an example, now enshrined as tc165.
      
          class C a where
      	f :: (Eq a) => a
      
          instance C () where
      	f = f
      
      The instance decl was translated as
      
          dfC() = MkC (let f = \dEq -> f in f)
      
      which is utterly wrong.  Reason: the 'f' on the left was being treated
      as an available Inst, but it doesn't obey INVARIANT 2 for Insts, which
      is that they are applied to all their dictionaries.  (See the data type
      decl for Inst.)
      
      Solution: don't include such class methods in the available Insts.
      115f0fae
    • simonpj's avatar
      [project @ 2003-02-04 12:25:21 by simonpj] · 60beff5f
      simonpj authored
      Use nameIsLocalOrFrom instead of open code
      60beff5f
    • simonpj's avatar
      [project @ 2003-02-04 12:23:32 by simonpj] · 23a4e1f0
      simonpj authored
      Add type sig
      23a4e1f0
  7. 03 Feb, 2003 1 commit
  8. 01 Feb, 2003 1 commit
  9. 31 Jan, 2003 1 commit
  10. 30 Jan, 2003 2 commits
    • simonmar's avatar
      [project @ 2003-01-30 10:19:07 by simonmar] · 674e4a46
      simonmar authored
      Quick fix for profiling after I broke it in rev. 1.68.
      
      The profiling system needs some initialisation after module
      registration (hs_add_root()).  Since module registration now happens
      later, the profiling system was getting initialised too early before
      any cost centers had been registered.  This is a quick fix; we still
      can't handle multiple hs_add_root()s with profiling.
      674e4a46
    • simonmar's avatar
      [project @ 2003-01-30 10:06:35 by simonmar] · 858255ab
      simonmar authored
      gcc 2.96 miscompiles LDV_recordDead_FILL_SLOP_DYNAMIC() when DEBUG is
      on, and I think I must have debugged this crash about three times
      already.  So I'm inserting a #error to stop me doing it again.
      858255ab
  11. 29 Jan, 2003 2 commits
    • simonmar's avatar
      [project @ 2003-01-29 10:28:56 by simonmar] · f84bb9a2
      simonmar authored
      Multi-init protection.
      
      Multiple inits now don't crash, but they still don't do anything
      sensible because the finalizers have been run during the first
      hs_exit().
      f84bb9a2
    • simonmar's avatar
      [project @ 2003-01-29 09:54:31 by simonmar] · b1c5d8c6
      simonmar authored
      - re-instate setProgArgv, it is used in System.Environment (bah, could
        have sworn I grepped for it and found nothing...)
      
      - Remove init_stack symbol from the Linker's symbol table; this is
        now static.
      b1c5d8c6
  12. 28 Jan, 2003 2 commits