1. 12 Jan, 2001 20 commits
  2. 11 Jan, 2001 10 commits
    • qrczak's avatar
      [project @ 2001-01-11 22:04:39 by qrczak] · e19816a8
      qrczak authored
      Allow Ptr in foreign dynamic declarations
      e19816a8
    • qrczak's avatar
      [project @ 2001-01-11 19:50:19 by qrczak] · 98ac64ef
      qrczak authored
      Remove backslash-newline pairs in #-constructs.
      98ac64ef
    • qrczak's avatar
      [project @ 2001-01-11 19:48:28 by qrczak] · f6acf71b
      qrczak authored
      CChar is Num so NUL can be written as 0.
      f6acf71b
    • simonmar's avatar
      [project @ 2001-01-11 17:51:02 by simonmar] · 6170d17e
      simonmar authored
      oops, I broke getArgs.  Unbreak it, and remove an unused import while
      I'm here.
      6170d17e
    • simonmar's avatar
      [project @ 2001-01-11 17:35:24 by simonmar] · 27867e55
      simonmar authored
      add missing -u symbols.
      27867e55
    • simonmar's avatar
      [project @ 2001-01-11 17:33:32 by simonmar] · 68b16e25
      simonmar authored
      s/PrelAddr/Addr
      68b16e25
    • simonmar's avatar
      [project @ 2001-01-11 17:25:56 by simonmar] · efa88123
      simonmar authored
      Re-organisation of ghc/lib/std and hslibs/lang
      ----------------------------------------------
      
      In brief: move deprecated features out of ghc/lib/std and into
      hslibs/lang, move new FFI libraries into ghc/lib/std and start
      using them.
      
      - foreign import may now return an unboxed type (this was
        advertised to work before, but in fact didn't).  Subsequent
        cleanups in PrelInt/PrelWord.
      
      - Ptr is now defined in ghc/lib/std/PrelPtr.lhs.  Ptr is no
        longer a newtype of Addr, it is defined directly in terms of
        Addr#.
      
      - PrelAddr has disappeared from ghc/lib/std, all uses of Addr in
        ghc/lib/std have been replaced with Ptr.  The definitions of
        Addr has been moved to hslibs/lang/Addr.lhs, as has
        lots of other Addr-related stuff.
      
      - ForeignObj has been removed from ghc/lib/std, and replaced with
        ForeignPtr.  The definition of ForeignObj has been moved to
        hslibs/lang/ForeignObj.lhs.
      
      - Most of the new FFI has been moved into ghc/lib/std in the form
        of modules PrelMarshalAlloc, PrelCString, PrelCError,
        PrelMarshalError, PrelMarshalArray, PrelMarshalUtils,
        PrelCTypes, PrelCTypesISO, and PrelStorable.  The corresponding
        modules in hslibs/lang simply re-export the contents of these
        modules.
      
      - PrelPosixTypes defines a few POSIX types (CMode == mode_t,
        etc.)
      
      - PrelCError changed to access errno using foreign label and peek
        (the POSIX book I have says that errno is guaranteed to be an
        extern int, so this should be OK until I get around to making
        errno thread-safe).
      
      - Hacked the macros that generate the code for CTypes and
        CTypesISO to generate much less code
        (ghc/lib/std/cbits/CTypes.h).
      
      - RtsAPI is now a bit more honest when it comes to building heap
        objects (it uses the correct constructors).
      
      - the Bits class and related stuff has been moved to ghc/lib/std
        (it was simpler this way).
      
      - Directory and System have been converted to use the new FFI.
      efa88123
    • simonpj's avatar
      [project @ 2001-01-11 14:09:50 by simonpj] · e18bb2e8
      simonpj authored
      Add debug print for rule firings; controlled by -ddump-inlinings.
      
      Also, make -ddump-inlinings work without -DDEBUG is off.
      It's jolly useful, and it's tiresome to have to tell
      people to rebuild their compiler.
      e18bb2e8
    • simonpj's avatar
      [project @ 2001-01-11 13:58:05 by simonpj] · 4bac90dc
      simonpj authored
      Fix a grotesque bug in the HsCore.pprUfExpr
      The expression
      
      	((\x -> f x y) a b)
      
      printed as
      
      	(\x -> f x y a b)
      
      which in turn caused any importing module to
      behave most oddly.
      
      This didn't show up before, because such expressions don't
      happen much (they are simplified).  But one showed up in a
      RULE (which happens to be simplified only very gently), and
      that tickled this bug.
      4bac90dc
    • qrczak's avatar
      [project @ 2001-01-11 07:04:16 by qrczak] · 11980a5d
      qrczak authored
      Change the representation of IOException: add optional filename.
      11980a5d
  3. 10 Jan, 2001 3 commits
    • sewardj's avatar
      [project @ 2001-01-10 17:19:01 by sewardj] · 7794a551
      sewardj authored
      Today's interpreter bug fixes: FP stuff, and unpacking constrs onto stack.
      7794a551
    • qrczak's avatar
      [project @ 2001-01-10 16:28:15 by qrczak] · a23a8116
      qrczak authored
      Remove CError.throwCError. Export the new function errnoToIOError.
      
      Add a missing colon in a string inside IOException formed from
      the error-specific part and optional filename. The IOException
      representation has not changed yet, but IMHO the filename should
      be kept separate.
      
      Correctly handle user errors in IO.ioeGet* functions like other
      IO errors.
      
      Let fail :: String -> IO a throw a user error instead of invoking error
      (Haskell98 is ambiguous about that and IMHO it should be this way;
      this is also what nhc does).
      a23a8116
    • rrt's avatar
      [project @ 2001-01-10 11:50:43 by rrt] · 514e08bf
      rrt authored
      Improved Windows installation instructions, thanks to a test drive by Andrew
      Tolmach.
      514e08bf
  4. 09 Jan, 2001 4 commits
  5. 08 Jan, 2001 2 commits
    • chak's avatar
      [project @ 2001-01-08 12:58:45 by chak] · d82e38d0
      chak authored
      Revision of Marcin's QError module
      
      * I think, there was a rough consensus that Marcin's module provides the
        right kind of interface for handling "errno"s
      
      * Malcolm preferred an enumeration, but Marcin made a convincing argument
        that this doesn't go well with architecture-dependent variations of "errno"
      
      * Recoded the hsc magic into autoconf magic
      
      * In hsc files, errno constants can be accessed directly; to provide access
        for ordinary Haskell programmer, constants for a range of common symbols are
        provided (their values are determined by configure)
      
      * Introduced an `Errno' newtype to increase type safety
      
      * renamed the throwIfXXX functions to throwErrnoIfXXX to have the original
        names available in the language independent MarshalError
      
      * FIXME: We need a thread local getErrno in the RTS!
      
      (It all compiles, but is still to be tested.)
      d82e38d0
    • rrt's avatar
      [project @ 2001-01-08 12:31:34 by rrt] · cf2b7f7b
      rrt authored
      Add -dynamic and make -static always the default.
      cf2b7f7b
  6. 06 Jan, 2001 1 commit