| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
GHC bits for new library organisation.
|
| |
|
|
| |
Added 'updateIORef :: IORef a -> (a->a) -> IO ()'
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Re-exported IO.HandlePosn, i.e.,
type HandlePosition = Integer
data HandlePosn = HandlePosn Handle HandlePosition
* Added hTell :: Handle -> HandlePosition
(merely a wrapper for IO.hGetPosn )
* Added hSetBinaryMode :: Handle -> Bool -> IO Bool
for dynamically changing the 'translation mode' of a Handle.
This stuff is only useful on platforms that make a distinction
between text and binary files (e.g., Win32)
|
| |
|
|
|
|
|
|
|
|
|
| |
Experimental support for re-routeing I/O on a Handle to that of another
for the duration of an IO action. Used to provide the following three
(exported) actions
withStdin, withStdout, withStderr :: Handle -> IO a -> IO a
which 'replaces' one of the standard handles with that of the supplied
handle while performing the second action.
|
| |
|
|
|
|
|
|
|
|
| |
add unofficial/undocumented function:
mkWeakIORef :: IORef a -> IO () -> IO (Weak (IORef a))
for weak pointers to IORefs. This avoids some of the problems with
inlining disturbing the semantics of mkWeak by making the weak key
point to the primitive MutVar instead of the box.
|
| |
|
|
| |
Added Haskell wrapper for freeHaskellFunctionPtr()
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support for unsafely thawing your (Byte)Arrays, i.e., added the
following ops:
MutableArray.unsafeThawArray :: Ix ix => Array ix elt -> ST s (MutableArray s ix elt)
MutableArray.unsafeThawByteArray :: Ix ix => ByteArray ix -> ST s (MutableByteArray s ix)
MutableArray.thawByteArray :: Ix ix => ByteArray ix -> ST s (MutableByteArray s ix)
ST.unsafeThawSTArray :: Ix ix => Array ix elt -> ST s (STArray s ix elt)
LazyST.unsafeThawSTArray :: Ix ix => Array ix elt -> ST s (STArray s ix elt)
IOExts.unsafeFreezeIOArray :: Ix ix => IOArray ix elt -> IO (Array ix elt)
IOExts.unsafeThawIOArray :: Ix ix => Array ix elt -> IO (IOArray ix elt)
+ removed the re-exportation of Monad that ST and LazyST did.
|
| |
|
|
| |
Move ST <--> IO coercion functions from IOExts to (Lazy)?ST
|
| |
|
|
|
|
|
|
| |
* Misc changes to reflect that we're now speaking Haskell 98.
* Augmented IOExts export list with
unsafeIOToST :: IO a -> ST s a
stToIO :: ST s a -> IO a
|
| |
|
|
| |
Move 4.01 onto the main trunk.
|
| |
|
|
| |
New functions: unsafeIOToST, hConnectTo
|
| |
|
|
| |
Re-export h{Get,Set}Echo
|
| |
|
|
| |
- remove references to PrelUnsafe(ST)
|
| |
|
|
| |
Simons changes while away at Tic/WG2.8
|
| |
|
|
| |
Added IOExts.openFileEx + IOExts.IOModeEx
|
|
|
Library re-organisation:
All libraries now live under ghc/lib, which has the following structure:
ghc/lib/std -- all prelude files (libHS.a)
ghc/lib/std/cbits
ghc/lib/exts -- standard Hugs/GHC extensions (libHSexts.a)
-- available with '-fglasgow-exts'
ghc/lib/posix -- POSIX library (libHSposix.a)
ghc/lib/posix/cbits -- available with '-syslib posix'
ghc/lib/misc -- used to be hslibs/ghc (libHSmisc.a)
ghc/lib/misc/cbits -- available with '-syslib misc'
ghc/lib/concurrent -- Concurrent libraries (libHSconc.a)
-- available with '-concurrent'
Also, several non-standard prelude modules had their names changed to begin
with 'Prel' to reduce namespace pollution.
Addr ==> PrelAddr (Addr interface available in 'exts')
ArrBase ==> PrelArr
CCall ==> PrelCCall (CCall interface available in 'exts')
ConcBase ==> PrelConc
GHCerr ==> PrelErr
Foreign ==> PrelForeign (Foreign interface available in 'exts')
GHC ==> PrelGHC
IOHandle ==> PrelHandle
IOBase ==> PrelIOBase
GHCmain ==> PrelMain
STBase ==> PrelST
Unsafe ==> PrelUnsafe
UnsafeST ==> PrelUnsafeST
|