1. 08 Nov, 2001 1 commit
  2. 07 Nov, 2001 1 commit
  3. 18 Sep, 2001 1 commit
  4. 17 Sep, 2001 3 commits
    • 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
  5. 14 Sep, 2001 1 commit
  6. 23 Aug, 2001 1 commit
    • sewardj's avatar
      [project @ 2001-08-23 10:36:50 by sewardj] · cff3ca90
      sewardj authored
      Globally-uniquify the names of some _wrap functions so that the
      previously-undetected global namespace clashes don't cause an
      assertion failure in Hash.c when compiled -DDEBUG when starting GHCi
      with various hslibs packages.
      cff3ca90
  7. 17 Aug, 2001 1 commit
  8. 05 Aug, 2001 1 commit
  9. 04 Aug, 2001 1 commit
  10. 13 Jul, 2001 1 commit
    • rrt's avatar
      [project @ 2001-07-13 11:48:52 by rrt] · c3b90296
      rrt authored
      Don't use relative #include paths, as these files will be compiled from
      inside cbits (they're now linked into the cbits library). All paths on which
      include files may be found must now be given with -I directives.
      c3b90296
  11. 29 Jun, 2001 1 commit
  12. 22 Jun, 2001 1 commit
  13. 24 May, 2001 1 commit
  14. 22 May, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-05-22 15:06:47 by simonmar] · df75591b
      simonmar authored
      - System.exitWith now raises a (new) exception,
      	ExitException ExitCode.
      
      - While I was there I cleaned up System.getArgs and
        System.getProgName, using foriegn label and removing progargs.c
      df75591b
  15. 21 May, 2001 1 commit
  16. 18 May, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-05-18 16:54:04 by simonmar] · d9af408e
      simonmar authored
      I/O library rewrite
      -------------------
      
      This commit replaces the old C/Haskell I/O implementation with a new
      Haskell-only one using the new FFI & hsc2hs.
      
      main points:
      
         - lots of code deleted: we're about 3000 lines of C lighter,
           but the amount of Haskell code is about the same.
      
         - performance is ok: some operations are faster, others are
           slower.  There's still some tuning to do, though.
      
         - the new library is designed to handle read/write streams
           much better: a read/write stream gets a special kind of
           handle internally called a "DuplexHandle", which actually
           contains two separate handles, one for writing and one for
           reading.  The upshot is that you can do simultaneous reading
           and writing to/from a socket or FIFO without any locking
           problems.  The effect is similar to calling socketToHandle
           twice, except that finalization works properly (creating
           two separate Handles could lead to the socket being closed
           too early when one of the Handles is GC'd).
      
         - hConnectTo and withHandleFor are gone (no one responded to
           my mail on GHC users, but we can always bring 'em back if
           necessary).
      
         - I made a half-hearted attempt at keeping the system-specific
           code in one place: see PrelPosix.hsc.
      
         - I've rearranged the I/O tests and added lots more.
           ghc/tests/lib/IO now contains Haskell 98-only IO tests,
           ghc/test/lib/{IOExts, Directory, Time} now contain tests for
           the relevant libraries.  I haven't quite finished in here yet,
           the IO tests work but the others don't yet.
      
         - I haven't done anything about Unicode yet, but now we can
           start to discuss what needs doing here.  The new library
           is using MutableByteArrays for its buffers because that
           turned out to be a *lot* easier (and quicker) than malloc'd
           buffers - I hope this won't cause trouble for unicode
           translations though.
      
      WARNING: Windows users refrain from updating until we've had a chance
      to fix any issues that arise.
      
      Testing: the basic H98 stuff has been pretty thoroughly tested, but
      the new duplex handle stuff is still a little green.
      d9af408e