1. 27 Sep, 2002 3 commits
    • simonpj's avatar
      [project @ 2002-09-27 08:20:43 by simonpj] · dbc254c3
      simonpj authored
      --------------------------------
              Implement recursive do-notation
      	--------------------------------
      
      This commit adds recursive do-notation, which Hugs has had for some time.
      
      	mdo { x <- foo y ;
      	      y <- baz x ;
      	      return (y,x) }
      
      turns into
      
      	do { (x,y) <- mfix (\~(x,y) -> do { x <- foo y;
      					    y <- baz x }) ;
      	     return (y,x) }
      
      This is all based on work by Levent Erkok and John Lanuchbury.
      
      The really tricky bit is in the renamer (RnExpr.rnMDoStmts) where
      we break things up into minimal segments.  The rest is easy, including
      the type checker.
      
      Levent laid the groundwork, and Simon finished it off. Needless to say,
      I couldn't resist tidying up other stuff, so there's no guaranteed I
      have not broken something.
      dbc254c3
    • simonpj's avatar
      [project @ 2002-09-27 08:16:24 by simonpj] · b7cc3d01
      simonpj authored
      --------------------------------
           Do type-checking of external-core input
      	--------------------------------
      
      When we read in an External Core file, we should really type-check it.
      We weren't, because we treated it as if it were trusted, interface-file
      material.
      
      This commit fixes the problem, albeit in a bit of a hacky way.  The
      typechecking is done by Lint, which does not give as friendly error
      messages as does the normal typechecker.  But it's much better than nothing.
      
      I also removed the entirely-unused 'warnings' from the Lint monad.
      b7cc3d01
    • simonpj's avatar
      [project @ 2002-09-27 07:51:57 by simonpj] · 67491efa
      simonpj authored
      typo
      67491efa
  2. 26 Sep, 2002 6 commits
  3. 25 Sep, 2002 19 commits
  4. 24 Sep, 2002 1 commit
    • simonmar's avatar
      [project @ 2002-09-24 14:31:20 by simonmar] · ad3f9bc6
      simonmar authored
      Stale interface files left by modules which no longer exist can cause
      build problems, so in make clean we now delete all the interface files
      we can find, rather than just the ones we know were generated from
      existing source files.
      ad3f9bc6
  5. 23 Sep, 2002 2 commits
  6. 20 Sep, 2002 2 commits
    • lewie's avatar
      [project @ 2002-09-20 23:48:53 by lewie] · 5f4d3eb8
      lewie authored
      Make sure that permissions on installed files are right by adding
      `%defattr(-,root,root)' to the `%files' entries.
      Not a critical patch - Manuel built the rpms as root anyway, but this
      makes it so that you are not dependent on building the rpm as root.
      5f4d3eb8
    • simonmar's avatar
      [project @ 2002-09-20 13:08:42 by simonmar] · 7b556b76
      simonmar authored
      Fix the install-datas target when $(INSTALL) is ./install-sh
      7b556b76
  7. 19 Sep, 2002 2 commits
  8. 18 Sep, 2002 5 commits
    • simonpj's avatar
      [project @ 2002-09-18 16:05:45 by simonpj] · ffc8dd84
      simonpj authored
      Fix LIE-plumbing bogon that killed spectral/fibheaps
      ffc8dd84
    • simonmar's avatar
      [project @ 2002-09-18 12:36:39 by simonmar] · c2849804
      simonmar authored
      Add support for slurping in nofib dumps created with
      EXTRA_RUNTEST_OPTS=-cachegrind, and output tables for number of
      instructions, memory reads/writes, and cache misses.
      c2849804
    • simonmar's avatar
      [project @ 2002-09-18 12:35:36 by simonmar] · d392e76e
      simonmar authored
      remove old heimdall and cacheprof support, and add cachegrind support
      (-cachegrind option).
      d392e76e
    • simonmar's avatar
      [project @ 2002-09-18 10:51:01 by simonmar] · fb1b5b07
      simonmar authored
      Fix up exception handling when reading an interface file, and make it
      compile with 4.08.x again.
      
      GhcExceptions weren't being caught by readIface, so an error when
      reading an interface could be unintentionally fatal (errors should be
      soft when reading the old interface file for the current module).
      Also, the Interrupted exception should not be caught by readIface,
      because we want ^C to behave as normal when reading interface files
      (currently it causes an interface-file read error rather than
      interrupting the whole compiler).
      
      Some exception-related compatibility functions have been moved from
      Util to Panic.
      fb1b5b07
    • mthomas's avatar
      [project @ 2002-09-18 06:34:07 by mthomas] · 29e55dea
      mthomas authored
      ifdefs for mingw32 to get rid of signal functions.
      29e55dea