[[project @ 2000-07-06 11:43:24 by rrt] rrt**20000706114324 Bump the version no. ] { addfile ./ghc/docs/users_guide/4-08-notes.sgml hunk ./ghc/docs/users_guide/4-07-notes.sgml 1 - - Release notes for version 4.07 (May 2000) - - - User-visible compiler changes - - - - New profiling subsystem, based on cost-centre stacks. - See . - - - - The x86 native code generator has been reworked - considerably, and now works reliably. Using the NCG rather - than compiling via C reduces compilation times by roughly a - half while having minimal effect on the run-time of the - compiled program (about 2-4% slower, worse for floating-point - intensive programs). - - The NCG is used by default for non-optimising compiles. - You can use it with by adding the - flag to GHC's command - line, after . - - - - Implicit parameters. This Haskell extension gives a - statically-typed version of dynamic scoping that avoids the - worst problems of dynamic scoping in lisp. See the - POPL paper - for more details. It is enabled by . - - - - - New DEPRECATED pragma for marking - outdated interfaces as deprecated. - - - - New flag: , which - dumps a file M.imports that contains the - (allegedly) minimal bunch of imports needed by the current - module. - - - - New “package” system for libraries. See - for the details. - - - - The long-standing bug that caused some programs which - used trace to - exit with a deadlock error has been fixed. - - - - Trying to put into a full MVar will now - raise a PutFullMVar - exception. - - - - If a thread is about to be garbage collected, because it - is waiting on an MVar that no other thread - has access to, then it will now be sent the BlockedOnDeadMVar - exception. - - - - A thread that is found to be blocked against itself - (i.e. is black holed) is now sent a - NonTermination exception. - - - - Operations which may block, such as - takeMVar, raiseInThread, - and several I/O operations, may now receive asynchronous - exceptions even in the scope of a - blockAsyncExceptions. These are called - interruptible operations. See for more details. - - - - Result type signatures now work. - - - - A truckload of bugfixes. - - - - - - - User-visible library changes - - - - The FFI has been revised and expanded; see , , and . - - - - HaXml, a library for parsing and generating XML, has - been added to the text package (). - - - - The QuickCheck library for performing - functional testing has been added to the - util package (). - - - - Two new experimental interfaces to arrays: - IArray for immutable arrays (), and MArray for - mutable arrays (). Comments on - these interfaces are welcome; eventually we'd like them to - replace ByteArray, - MutableArray, IOArray, - and STArray. - - - - New function: tryTakeMVar. - - - - hPutBuf, - hPutBufBA, hGetBuf, and - hGetBufBA, have been renamed to - hPutBufFull, - hPutBufBAFull, - hGetBufFull, and - hGetBufBAFull. Functions with the old - names still exist, but have slightly different semantics. See - for more details. - - - - - - Internal changes - - - - Con is gone; the - CoreExpr type is simpler. - - - - NoRepLits have gone. - - - - Better usage info in interface files, which means less - recompilation. - - - - CCall primop is tidied up. - - - - Constant folding is now done by Rules. - - - - Lots of hackery in the simplifier. - - - - Improvements in CPR and strictness analysis. - - - - - - - - - rmfile ./ghc/docs/users_guide/4-07-notes.sgml hunk ./ghc/docs/users_guide/4-08-notes.sgml 1 + + Release notes for version 4.08 (July 2000) + + + User-visible compiler changes + + + + New profiling subsystem, based on cost-centre stacks. + See . + + + + The x86 native code generator has been reworked + considerably, and now works reliably. Using the NCG rather + than compiling via C reduces compilation times by roughly a + half while having minimal effect on the run-time of the + compiled program (about 2-4% slower, worse for floating-point + intensive programs). + + The NCG is used by default for non-optimising compiles. + You can use it with by adding the + flag to GHC's command + line, after . + + + + Implicit parameters. This Haskell extension gives a + statically-typed version of dynamic scoping that avoids the + worst problems of dynamic scoping in lisp. See the + POPL paper + for more details. It is enabled by . + + + + + New DEPRECATED pragma for marking + outdated interfaces as deprecated. + + + + New flag: , which + dumps a file M.imports that contains the + (allegedly) minimal bunch of imports needed by the current + module. + + + + New “package” system for libraries. See + for the details. + + + + The long-standing bug that caused some programs which + used trace to + exit with a deadlock error has been fixed. + + + + Trying to put into a full MVar will now + raise a PutFullMVar + exception. + + + + If a thread is about to be garbage collected, because it + is waiting on an MVar that no other thread + has access to, then it will now be sent the BlockedOnDeadMVar + exception. + + + + A thread that is found to be blocked against itself + (i.e. is black holed) is now sent a + NonTermination exception. + + + + Operations which may block, such as + takeMVar, raiseInThread, + and several I/O operations, may now receive asynchronous + exceptions even in the scope of a + blockAsyncExceptions. These are called + interruptible operations. See for more details. + + + + Result type signatures now work. + + + + A truckload of bugfixes. + + + + + + + User-visible library changes + + + + The FFI has been revised and expanded; see , , and . + + + + HaXml, a library for parsing and generating XML, has + been added to the text package (). + + + + The QuickCheck library for performing + functional testing has been added to the + util package (). + + + + Two new experimental interfaces to arrays: + IArray for immutable arrays (), and MArray for + mutable arrays (). Comments on + these interfaces are welcome; eventually we'd like them to + replace ByteArray, + MutableArray, IOArray, + and STArray. + + + + New function: tryTakeMVar. + + + + hPutBuf, + hPutBufBA, hGetBuf, and + hGetBufBA, have been renamed to + hPutBufFull, + hPutBufBAFull, + hGetBufFull, and + hGetBufBAFull. Functions with the old + names still exist, but have slightly different semantics. See + for more details. + + + + + + Internal changes + + + + Con is gone; the + CoreExpr type is simpler. + + + + NoRepLits have gone. + + + + Better usage info in interface files, which means less + recompilation. + + + + CCall primop is tidied up. + + + + Constant folding is now done by Rules. + + + + Lots of hackery in the simplifier. + + + + Improvements in CPR and strictness analysis. + + + + + + + + + hunk ./ghc/docs/users_guide/ug-book.sgml 2 -The Glasgow Haskell Compiler User's Guide, Version 4.07 +The Glasgow Haskell Compiler User's Guide, Version 4.08 hunk ./ghc/docs/users_guide/ug-ent.sgml 3 - + }