summaryrefslogtreecommitdiff
path: root/ghc/lib/concurrent
Commit message (Collapse)AuthorAgeFilesLines
* [project @ 1999-11-26 16:29:09 by simonmar]simonmar1999-11-268-701/+0
| | | | GHC bits for new library organisation.
* [project @ 1999-10-29 13:55:40 by sof]sof1999-10-291-2/+6
| | | | attach version info
* [project @ 1999-10-05 10:30:26 by simonmar]simonmar1999-10-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Build System Cleanup -------------------- This commit is intended to clear the way for automatic RPM building. In particular, the idea is that 'make install' doesn't build anything, so you can do make install prefix=/some/tmp/prefix to install everything in /some/tmp/prefix, but leave the hardwired-in install directories the same. For scripts that depend on the install dir (currently just the GHC driver and mkdependHS), we now build two versions: <script>-inplace, which is used for running the script from the build tree, and <script>, which is the to-be-installed version. NOTE: binary distributions are now a little bit trickier to build. You *must* include the line "BIN_DIST=1" in your build.mk if you intend to make a binary distribution from the current build tree. This is because certain scripts have to be built differently, and we don't rebuild them when doing 'make binary-dist' anymore (since 'make binary-dist' just does a 'make install' with a re-targetted prefix, just like the RPM builder). Other changes - the binary-dist machinery is now all in fptools/Makefile - removed a gratuitous $(package)-$(version) level of directories from the binary distribution. - binary distributions are now placed under the package name, rather than fptools/fptools. - various other minor cleanups.
* [project @ 1999-09-17 10:43:51 by sof]sof1999-09-171-2/+7
| | | | DLL building tweaks, including terrible hack to compile PrelMain
* [project @ 1999-08-27 08:34:15 by simonmar]simonmar1999-08-271-0/+1
| | | | wibble
* [project @ 1999-08-27 08:33:06 by simonmar]simonmar1999-08-271-2/+0
| | | | Fix imports.
* [project @ 1999-08-25 16:11:43 by simonmar]simonmar1999-08-251-2/+5
| | | | | | | | | | | | | | | | | Support for thread{WaitRead,WaitWrite,Delay}. These should behave identically to the 3.02 implementations. We now have the virtual timer on during all program runs, which ticks at 50Hz by default. This is used to implement threadDelay, so you won't get any better granularity than the tick frequency unfortunately. It remains to be seen whether using the virtual timer will have a measurable impact on performance for non-threadDelaying programs. All operations in the I/O subsystem should now be non-blocking with respect to other running Haskell threads. It remains to be seen whether this will have a measurable performance impact on non-concurrent programs (probably not).
* [project @ 1999-08-25 10:23:51 by simonmar]simonmar1999-08-251-0/+28
| | | | Eq and Ord instances for ThreadId.
* [project @ 1999-07-06 16:45:31 by simonpj]simonpj1999-07-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All Simon's recent tuning changes. Rough summary follows: * Fix Kevin Atkinson's cant-find-instance bug. Turns out that Rename.slurpSourceRefs needs to repeatedly call getImportedInstDecls, and then go back to slurping source-refs. Comments with Rename.slurpSourceRefs. * Add a case to Simplify.mkDupableAlt for the quite-common case where there's a very simple alternative, in which case there's no point in creating a join-point binding. * Fix CoreUtils.exprOkForSpeculation so that it returns True of (==# a# b#). This lack meant that case ==# a# b# of { True -> x; False -> x } was not simplifying * Make float-out dump bindings at the top of a function argument, as at the top of a let(rec) rhs. See notes with FloatOut.floatRhs * Make the ArgOf case of mkDupableAlt generate a OneShot lambda. This gave a noticeable boost to spectral/boyer2 * Reduce the number of coerces, using worker/wrapper stuff. The main idea is in WwLib.mkWWcoerce. The gloss is that we must do the w/w split even for small non-recursive things. See notes with WorkWrap.tryWw. * This further complicated getWorkerId, so I finally bit the bullet and make the workerInfo field of the IdInfo work properly, including under substitutions. Death to getWorkerId. Kevin Glynn will be happy. * Make all lambdas over realWorldStatePrimTy into one-shot lambdas. This is a GROSS HACK. * Also make the occurrence analyser aware of one-shot lambdas. * Make various Prelude things into INLINE, so that foldr doesn't get inlined in their body, so that the caller gets the benefit of fusion. Notably in PrelArr.lhs.
* [project @ 1999-05-14 19:49:22 by sof]sof1999-05-141-0/+2
| | | | Added (yield :: IO ()) - the underlying bits were already there, really.
* [project @ 1999-05-05 10:48:03 by sof]sof1999-05-051-1/+6
| | | | DLL config added
* [project @ 1999-04-28 08:30:58 by simonm]simonm1999-04-281-1/+1
| | | | merge --> mergeIO
* [project @ 1999-04-27 17:44:26 by sof]sof1999-04-272-74/+124
| | | | For a forkIO'ed process, report uncaught exceptions on stderr.
* [project @ 1999-03-25 13:10:32 by simonm]simonm1999-03-251-10/+1
| | | | Remove #ifdef __CONCURRENT_HASKELL__, update for H98.
* [project @ 1999-02-20 13:41:27 by sof]sof1999-02-201-49/+48
| | | | Fixed waitQSemN bug
* [project @ 1999-02-05 14:34:02 by sof]sof1999-02-051-0/+1
| | | | 'errors' caught by -fwarn-type-defaults
* [project @ 1999-01-25 10:26:18 by sof]sof1999-01-251-0/+10
| | | | Added isEmptyChan
* [project @ 1999-01-14 18:21:49 by sof]sof1999-01-145-18/+18
| | | | | | | Haskell 98 related changes + the addition of the MVar primop, isEmptyMVar :: MVar a -> IO Bool -- use with care.
* [project @ 1998-05-26 13:00:47 by simonm]simonm1998-05-262-2/+1
| | | | - remove references to PrelUnsafe(ST)
* [project @ 1998-05-05 12:53:29 by sof]sof1998-05-051-2/+2
| | | | Renamed conc syslib to concurrent
* [project @ 1998-04-16 12:50:41 by sof]sof1998-04-161-1/+2
| | | | syslibs: generate dependencies on Prelude modules
* [project @ 1998-02-25 16:03:04 by simonm]simonm1998-02-251-1/+3
| | | | remove hslibs reference, add \$Id\$.
* [project @ 1998-02-20 13:25:37 by simonm]simonm1998-02-201-1/+1
| | | | cut-n-paste-o.
* [project @ 1998-02-02 17:27:26 by simonm]simonm1998-02-028-14/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [project @ 1998-01-22 11:11:46 by sof]sof1998-01-221-43/+32
| | | | | | * renamed putList2Chan to writeList2Chan. * renamed readChanContents to getChanContents * Use do notation throughout.
* [project @ 1997-11-29 20:31:55 by sof]sof1997-11-291-7/+7
| | | | Renamed {read,write}Sample to {read,write}SampleVar
* [project @ 1997-11-11 14:32:34 by simonm]simonm1997-11-114-41/+46
| | | | | | | | | Library changes to: * remove PrimIO * change type of _ccall_ to IO * incorporate Alastair Reid's new library interfaces for compatibility with Hugs.
* [project @ 1997-10-21 20:39:15 by sof]sof1997-10-211-2/+11
| | | | Parallel Haskell changes(hwloidl)
* [project @ 1997-10-13 16:12:54 by simonm]simonm1997-10-131-25/+8
| | | | | | | | | | | | | | | | | | Changes to unbox the state in the ST and IO monads. ST now has type newtype ST s a = ST (State# s -> STret s a) data STret s a = STret (State# s) a IO now has type newtype IO a = IO (State# RealWorld -> IOResult a) data IOResult a = IOok (State# RealWorld) a | IOfail (State# RealWorld) IOError So ST should be slightly more efficient, and IO should be nearly as efficient as ST.
* [project @ 1997-07-05 01:01:11 by sof]sof1997-07-052-1/+2
| | | | Use UnsafeST
* [project @ 1997-05-18 04:24:53 by sof]sof1997-05-181-1/+1
| | | | QSem bug fix
* [project @ 1997-03-14 05:19:02 by sof]sof1997-03-142-2/+7
| | | | Import changes
* [project @ 1997-01-18 10:03:27 by simonpj]simonpj1997-01-182-0/+2
| | | | More polishing by Simon; to get nofib to run!
* [project @ 1996-12-19 18:35:23 by simonpj]simonpj1996-12-197-61/+26
| | | | Adding and removing files
* [project @ 1996-07-25 20:43:49 by partain]partain1996-07-252-5/+7
| | | | Bulk of final changes for 2.01
* [project @ 1996-06-27 16:55:06 by partain]partain1996-06-277-0/+577
partain 1.3 changes to 960626