1. 08 Aug, 2001 1 commit
  2. 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
  3. 31 Mar, 2001 2 commits
    • panne's avatar
      [project @ 2001-03-31 17:08:22 by panne] · b54855b8
      panne authored
      Disabled this test. Litlits are on the death list. Should this test be
      moved to should_fail or something like this?
      b54855b8
    • panne's avatar
      [project @ 2001-03-31 17:05:58 by panne] · 062a5e06
      panne authored
      Disabled part of the test dealing with LARGE tuples, which don't work
      with GHC (traditionally). I know this is not optimal, but I fear that
      the situation won't change soon.
      062a5e06
  4. 23 Mar, 2001 1 commit
  5. 13 Mar, 2001 1 commit
  6. 28 Feb, 2001 1 commit
  7. 12 Dec, 2000 1 commit
    • simonmar's avatar
      [project @ 2000-12-12 17:21:40 by simonmar] · 584d954c
      simonmar authored
      Take a pass over the tests, get most things working again.  Mostly
      -package lang changes, and synching up of the expected output.
      
      This was a good exercise though: I found at least two real bugs in the
      process :)
      584d954c
  8. 03 Nov, 2000 1 commit
  9. 17 Aug, 2000 1 commit
  10. 03 Jul, 2000 1 commit
  11. 02 Jul, 2000 1 commit
  12. 12 Jun, 2000 2 commits
  13. 31 May, 2000 1 commit
  14. 22 May, 2000 1 commit
  15. 18 Jan, 2000 1 commit
  16. 29 Dec, 1999 1 commit
  17. 12 Nov, 1999 1 commit
  18. 09 Nov, 1999 1 commit
  19. 16 Sep, 1999 1 commit
  20. 31 Jul, 1999 2 commits
  21. 14 Jul, 1999 1 commit
  22. 15 Jun, 1999 1 commit
  23. 14 Jun, 1999 1 commit
  24. 09 Jun, 1999 1 commit
  25. 07 May, 1999 1 commit
  26. 05 May, 1999 1 commit
  27. 29 Apr, 1999 1 commit
  28. 06 Apr, 1999 1 commit
  29. 19 Feb, 1999 1 commit
  30. 06 Feb, 1999 1 commit
  31. 24 Jan, 1999 1 commit
  32. 15 Jan, 1999 1 commit
  33. 16 Nov, 1998 1 commit
  34. 08 Jul, 1998 1 commit
  35. 06 May, 1998 1 commit
  36. 17 Apr, 1998 1 commit
  37. 03 Feb, 1998 1 commit