1 <Sect1 id="release-4-06">
2 <Title>Release notes for version 4.06—1/00
17 Major library reorganisation. The libraries are now split into 8
23 <Term><Literal>concurrent</Literal></Term>
26 Same as the old <literal>concurrent</literal> library
32 <Term><Literal>data</Literal></Term>
35 Datatypes. Contains old <literal>FiniteMap</literal>
36 and <literal>Set</literal> modules, and Chris Okasaki's Edison
43 <Term><Literal>lang</Literal></Term>
46 contains most of the contents of
47 the old <literal>exts</literal> library
53 <Term><Literal>net</Literal></Term>
56 networking-related libraries (Socket, SocketPrim, and
63 <Term><Literal>num</Literal></Term>
66 numerical-related libraries (currently empty).
72 <Term><Literal>posix</Literal></Term>
81 <Term><Literal>text</Literal></Term>
84 text-processing related libraries (including Andy Gill's
91 <Term><Literal>util</Literal></Term>
94 various miscellaneous libraries, including John Hughes'
95 and Koen Claessen's QuickCheck library.
102 See the accompanying libraries documentation for more details.
108 Cleanup of concurrent I/O system. We now use non-blocking I/O on
109 all Handles, so that multiple threads can do I/O simultaneously.
110 We <Emphasis>don't</Emphasis> however do non-blocking I/O on <Constant>stdout</Constant>/<Constant>stderr</Constant>,
111 due to reports that some shells don't correctly restore
112 blocking mode on these file descriptors after running a program.
116 <ListItem id="exc-changes-406">
123 <Function>raiseInThread</Function> can now raise exceptions in threads blocked on I/O or time delays.
129 New functions in <literal>Exception</literal>
132 blockAsyncExceptions :: IO a -> IO a
133 unblockAsyncExceptions :: IO a -> IO a
136 used to control the delivery of asynchronous exceptions to
137 a thread (including those raised via <Function>raiseInThread</Function>).
143 Asynchronous exceptions are now blocked by default inside
144 an exception handler. Use <Function>unblockAsyncExceptions</Function> to
145 restore the previous behaviour.
156 Add NetBSD/x86 support.
162 Added support for <Literal>foreign export dynamic</Literal>.
179 Build system cleanup—<Command>BIN_DIST=1</Command> is now needed in <Filename>build.mk</Filename> (before building!) to build binary dists.
185 New RTS option <Option>-xc</Option>, which prints the current cost-centre
186 stack to stderr whenever an exception is raised (only for
198 Not-quite-ready-yet, but in there nontheless
208 Building way '<Literal>s</Literal>' on a system with pthreads (only tested on
209 Linux so far) will include support for running multiple
210 Haskell threads on several pthreads simultaneously. If
211 your system supports it, this will enable Haskell programs
212 to take advantage of multiprocessor SMP machines.
223 Initial ports of GranSim and GUM to GHC 4 are in there. Not quite
235 Heap profiling sort-of works. Only cost-centre heap
236 profiles are supported so far.