1. 08 Dec, 2002 1 commit
  2. 06 Dec, 2002 1 commit
  3. 05 Dec, 2002 4 commits
    • mthomas's avatar
      [project @ 2002-12-05 23:49:43 by mthomas] · 6e5df3a4
      mthomas authored
      A new rejig script which takes arguments rather than hardwired locations.
      6e5df3a4
    • stolz's avatar
      [project @ 2002-12-05 14:20:55 by stolz] · 6ff1e84b
      stolz authored
      Add SA_RESETHAND (aka SA_ONESHOT) support.
      Requested by: John Meacham
      
      > module Main where
      
      > import System.Posix.Signals
      
      > main = do
      >   installHandler sigUSR1 (Catch (print "usr1")) Nothing
      >   installHandler sigUSR2 (CatchOnce (print "usr2")) Nothing
      >   _ <- getLine
      >   return ()
      6ff1e84b
    • simonmar's avatar
      [project @ 2002-12-05 13:51:56 by simonmar] · 1ca2417e
      simonmar authored
      - remove old code for GHC < 3.03 (we don't support building GHC with
        less than 4.08).
      
      - remove ErrorHdrHook and PatError, we now catch all exceptions at
        the top level and report panics (this will fix some test
        discrepancies with GHCi).
      1ca2417e
    • simonmar's avatar
      [project @ 2002-12-05 12:36:54 by simonmar] · 6dda11d0
      simonmar authored
      Don't put a recursive exception handler around the flushing of
      stdout/stderr after running a command.  If the user closes stdout or
      stderr, we now fail rather than going into an infinite loop.
      6dda11d0
  4. 04 Dec, 2002 3 commits
  5. 02 Dec, 2002 4 commits
    • simonpj's avatar
      [project @ 2002-12-02 17:10:13 by simonpj] · aa78876d
      simonpj authored
      Use the right PackageIfaceTable in cmInfoThing
      aa78876d
    • simonpj's avatar
      [project @ 2002-12-02 16:58:33 by simonpj] · bd87e787
      simonpj authored
      Remember to zapToType in tcSpliceExpr
      bd87e787
    • simonmar's avatar
      [project @ 2002-12-02 14:33:10 by simonmar] · 286a25bb
      simonmar authored
      Fix a bug and clean up some cruft in here:
      
       - In each function in the rts_getXXXX() family, there was a test that
         the object is actually of the desired type by examining its info
         table.  Some of these tests were disabled, but there was no comment
         explaining why.  I've just (re-)discovered the reason: the
         info table might be dynamically-loaded in the GHCi case.
      
         Not all the tests were disabled, which lead to bugs using the FFI
         in GHCi (in particular with functions that return Float or Double).
      
       - I've added consistent, but commented out, assertions to each of
         the rts_getXXXX() functions, and left a comment explaining why
         these reasonable-looking assertions are disabled.
      
      MERGE TO STABLE
      286a25bb
    • simonmar's avatar
      [project @ 2002-12-02 10:44:10 by simonmar] · 12718d14
      simonmar authored
      Add a FAQ item about long link times.
      12718d14
  6. 28 Nov, 2002 4 commits
    • simonpj's avatar
      [project @ 2002-11-28 17:17:41 by simonpj] · 3c58c25b
      simonpj authored
      -------------------------------
            A day's work to improve error messages
      	-------------------------------
      
      1.  Indicate when the cause of the error is likely to be the monomorpism
          restriction, and identify the offending variables.  This involves
          mainly tcSimplifyTop and its error generation.
      
      2.  Produce much better kind error messages.  No more
            ../alonzo/DiGraph.hs:40:
      	  Couldn't match `* -> *' against `Type bx'
      	      Expected kind: * -> *
      	      Inferred kind: Type bx
      	  When checking that `DiGraph n' is a type
      
      It took a surprisingly long time to get the details right.
      3c58c25b
    • simonpj's avatar
      [project @ 2002-11-28 10:04:52 by simonpj] · b44c6881
      simonpj authored
      Report over-size tuples gracefully
      b44c6881
    • simonpj's avatar
      [project @ 2002-11-28 10:04:15 by simonpj] · e030a747
      simonpj authored
      Document a couple more bugs
      e030a747
    • mthomas's avatar
      [project @ 2002-11-28 01:00:44 by mthomas] · 2c5ca121
      mthomas authored
      Add a getting started example.  Someone with Docbook please check the SGML.
      2c5ca121
  7. 26 Nov, 2002 1 commit
  8. 22 Nov, 2002 3 commits
  9. 21 Nov, 2002 14 commits
    • simonpj's avatar
      [project @ 2002-11-21 17:54:54 by simonpj] · 5e34dfe2
      simonpj authored
      un-wibble
      5e34dfe2
    • simonpj's avatar
      [project @ 2002-11-21 17:54:17 by simonpj] · 0df43546
      simonpj authored
      Another wibble
      0df43546
    • simonpj's avatar
      [project @ 2002-11-21 17:43:43 by simonpj] · d8a22a2b
      simonpj authored
      wibble
      d8a22a2b
    • simonpj's avatar
      [project @ 2002-11-21 15:51:43 by simonpj] · 11047b5e
      simonpj authored
      -------------------------------
      	Pass the current-module type envt
      to HscMain.compileExpr, and thence to the desugarer
      	-------------------------------
      
      For Template Haskell it's important to have the type envt of
      the current module available to hand the desugarer.
      
      Should fix TH_spliceDecl3
      11047b5e
    • simonpj's avatar
      [project @ 2002-11-21 14:59:51 by simonpj] · c9c01697
      simonpj authored
      -------------------------------
      	Better notion of what a 'value' is
      	Slightly better eta reduction
      	-------------------------------
      
      1.  At various places we watch out for "values"; the predicate exprIsValue
      detects them. It was stupidly treating nullary constructors as non-values
      which is exceptionally stupid.  This (performance) bug has been there
      for ages.
      
      There's an exactly similar bug in SimplUtils.interestingArg, which looks
      for an interesting argument to trigger an inlining.
      
      
      2.  The eta reduction in SimplUtils.tryEtaReduce would only eta reduce if
      that left us with a variable.  That led to slightly tiresome thing like
      	:DMonad (/\a b -> foo @ s @ a @ b) ...
      where this would be neater
      	:DMonad (foo @ s)
      The fix is easy, and there's a little less code too.
      c9c01697
    • simonpj's avatar
      [project @ 2002-11-21 11:32:45 by simonpj] · 99cccd62
      simonpj authored
      Add rawSystem back in for benefit of pre-504 compilers on Win32
      99cccd62
    • simonpj's avatar
      [project @ 2002-11-21 11:31:51 by simonpj] · b2d633b6
      simonpj authored
      import trimming
      b2d633b6
    • simonpj's avatar
      [project @ 2002-11-21 11:31:34 by simonpj] · a06f5e7b
      simonpj authored
      --------------------------------
      	Compile instance declarations better
      	--------------------------------
      
      This commit makes the type checker build better dictionaries
      from instance declarations.  "Better" in the sense that if a
      binding in the instance declaration mentions one of the other
      methods of the same class, we use that method directly rather
      than going via a (recursive) use of the dictionary.
      
      This makes it easier to unravel recursive knots, and that
      makes more inlining happen.  There's a long comment in
      TcInstDcls.tcMethods
      
      Makes the Monad instance for ST much more inlinable, and that
      makes spectral/fibheaps go faster, among other things.
      a06f5e7b
    • simonmar's avatar
      [project @ 2002-11-21 11:27:05 by simonmar] · 49c120b9
      simonmar authored
      these files should be on eval-apply-branch
      49c120b9
    • simonmar's avatar
      [project @ 2002-11-21 10:04:20 by simonmar] · 98eae016
      simonmar authored
      Repair the HEAD after some file adds/removes that were supposed to
      happen on the eval-apply-branch yesterday mysteriously happened on the
      HEAD instead.
      98eae016
    • simonpj's avatar
      [project @ 2002-11-21 09:37:24 by simonpj] · 5f7e4514
      simonpj authored
      More wibbles to improve declaration splicing
      5f7e4514
    • simonpj's avatar
      [project @ 2002-11-21 09:36:48 by simonpj] · b8598510
      simonpj authored
      Less rn-tracing
      b8598510
    • simonpj's avatar
      [project @ 2002-11-21 09:36:03 by simonpj] · f0f69132
      simonpj authored
      -------------------------------
      	Fix and tidy the desugaring of
      	pattern-matching in do-notation
      	-------------------------------
      
      In the reorgansiation of HsPat, failureFreePat had become incorrect (due to
      a catch-all case that caught a constructor that should have been matched).  So
      pattern-match failure in do-notation wasn't handled right.
      
      As it turned out, DsExpr.dsDo could be made much simpler and more elegant
      by using matchSimply instead of matchWrapper, and this had the side benefit
      of removing the last call to HsPat.failureFreePat.  So it's gone!
      f0f69132
    • chak's avatar
      [project @ 2002-11-21 03:34:07 by chak] · 063123a0
      chak authored
      Convert : Added newly required import of `HsSyn.TySynonym'
      TcSplice: Adapted `tcRunQ' to new definition of `THSyntax.Q'
      063123a0
  10. 20 Nov, 2002 5 commits
    • chak's avatar
      [project @ 2002-11-20 23:27:37 by chak] · d31b5e62
      chak authored
      wibble
      d31b5e62
    • simonpj's avatar
      [project @ 2002-11-20 15:43:37 by simonpj] · f2e26fc5
      simonpj authored
      Three Template Haskell improvements
      
      a) Add type synonyms to THSyntax (and DsMeta, Convert)
      
      b) Make Q into a newtype instead of a type synonym
      
      c) Eliminate tiresome and error prone argument to DsMeta.wrapGenSyms
         and similarly addTyVarBinds
      f2e26fc5
    • simonpj's avatar
      [project @ 2002-11-20 15:40:32 by simonpj] · c0624c76
      simonpj authored
      Wibble to fix :info
      c0624c76
    • simonpj's avatar
      [project @ 2002-11-20 15:39:47 by simonpj] · 916abd02
      simonpj authored
      ------------------------------------
      	Improve occurrence analysis a little
      	------------------------------------
      
      Consider
      
      		x1 = a0 : []
      		x2 = a1 : x1
      		x3 = a2 : x2
      		g  = f x3
      
      First time round, it looks as if x1 and x2 occur as an arg of a
      let(rec)-bound constructor, and hence should not be inlined. (If the
      RHS of a let is just (C a b) where C is a constructor, then we like to
      keep it that way, with atomic a,b, so that it can be inlined easily at
      a 'case'.)
      
      But in this case, x3 is inlined in g's RHS... and now x2 is not an arg
      of a let-bound constructor, so it can be inlined, and then x1.   Result:
      
      		g = f (a2 : a1 : a0 : [])
      
      Which is fine.  What is *not* fine is that it has been costing us a
      whole simplifier iteration for each element!
      
      This commit adds another little hack to get around the problem: don't treat
      constructor RHSs specially if the bound variable looks as if it occurs just
      once so it'll be inlined.  This catches the common case very nicely.
      
      It's a pain that we have the atomic-args-for-constructor-RHSs invariant.
      But I can't see  how to do without it.
      916abd02
    • simonmar's avatar
      [project @ 2002-11-20 14:09:42 by simonmar] · 491f66f8
      simonmar authored
      Snapshot of the Eval/Apply changes, c. 15 Nov 2002.  This snapshot
      should be relatively stable, although GHCi and profiling are currently
      known to be broken.
      491f66f8