summaryrefslogtreecommitdiff
path: root/ghc/lib/exts/IOExts.lhs
Commit message (Collapse)AuthorAgeFilesLines
* [project @ 1999-11-26 16:29:09 by simonmar]simonmar1999-11-261-322/+0
| | | | GHC bits for new library organisation.
* [project @ 1999-09-20 10:22:40 by sof]sof1999-09-201-3/+11
| | | | Added 'updateIORef :: IORef a -> (a->a) -> IO ()'
* [project @ 1999-09-19 19:30:04 by sof]sof1999-09-191-5/+53
| | | | | | | | | | | | | | | * 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)
* [project @ 1999-09-11 18:30:49 by sof]sof1999-09-111-0/+55
| | | | | | | | | | | 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.
* [project @ 1999-07-27 11:12:05 by simonmar]simonmar1999-07-271-0/+7
| | | | | | | | | | 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.
* [project @ 1999-04-12 18:32:17 by sof]sof1999-04-121-0/+18
| | | | Added Haskell wrapper for freeHaskellFunctionPtr()
* [project @ 1999-03-05 10:21:22 by sof]sof1999-03-051-0/+13
| | | | | | | | | | | | | | | | | 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.
* [project @ 1999-01-23 17:46:01 by sof]sof1999-01-231-14/+0
| | | | Move ST <--> IO coercion functions from IOExts to (Lazy)?ST
* [project @ 1999-01-14 18:15:28 by sof]sof1999-01-141-0/+1
| | | | | | | | * 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
* [project @ 1998-12-02 13:17:09 by simonm]simonm1998-12-021-20/+71
| | | | Move 4.01 onto the main trunk.
* [project @ 1998-08-14 13:01:44 by sof]sof1998-08-141-6/+46
| | | | New functions: unsafeIOToST, hConnectTo
* [project @ 1998-06-29 14:56:01 by sof]sof1998-06-291-9/+5
| | | | Re-export h{Get,Set}Echo
* [project @ 1998-05-26 13:00:47 by simonm]simonm1998-05-261-1/+0
| | | | - remove references to PrelUnsafe(ST)
* [project @ 1998-04-07 07:51:07 by simonpj]simonpj1998-04-071-0/+9
| | | | Simons changes while away at Tic/WG2.8
* [project @ 1998-03-12 08:56:24 by sof]sof1998-03-121-0/+5
| | | | Added IOExts.openFileEx + IOExts.IOModeEx
* [project @ 1998-02-02 17:27:26 by simonm]simonm1998-02-021-0/+86
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