From d46a0ce7dc70ead9e6120fd08612b9b3f530344f Mon Sep 17 00:00:00 2001 From: simonmar Date: Wed, 21 May 2003 15:20:37 +0000 Subject: [PATCH] [project @ 2003-05-21 15:20:37 by simonmar] The 6.0 release notes. --- ghc/docs/users_guide/6.0-notes.sgml | 298 ++++++++++++++++++++++++++++++++++- 1 file changed, 290 insertions(+), 8 deletions(-) diff --git a/ghc/docs/users_guide/6.0-notes.sgml b/ghc/docs/users_guide/6.0-notes.sgml index 019503d..4bb93f4 100644 --- a/ghc/docs/users_guide/6.0-notes.sgml +++ b/ghc/docs/users_guide/6.0-notes.sgml @@ -1,29 +1,311 @@ - + Release notes for version 6.0 User-visible compiler changes - + + + Template Haskell, a new feature for compile-time + metaprogramming has been introduced. See . + + + INLINE pragmas on methods in class or instance + declarations now work properly. + + + Recursive do-notation (aka mdo) is + now supported. See . + + + There is now a native code generator for PowerPC + platforms. + + + Profiling: the RTS option enables + inclusion of thread stacks in a heap profile. See . + + + Non-blocking I/O is now supported on Windows. + + + The Typeable class can now be + derived, and the implementation of Typeable + is now more efficient. + + User-visible interpreter (GHCi) changes - + + + Loading a Main module that does not + define main is no longer an error, although + GHCi will still emit a warning in this case. + + - + User-visible library changes - + + + Hierarchical libraries are now available without needing + to specify an explicit flag. There + are some exceptions to this rule (see ), but if you stick to GHCi and + mode then there will normally be no + need to specify options at + all. + + Non-hierarchical libraries + (i.e. hslibs libraries) still need to be + explicitly requested with + options. + + + + The Posix library has been rewritten. + It is now a hierarchical library rooted at + System.Posix, and has some additions aimed + at supporting the latest revision of the POSIX standard (IEEE + Std 1003.1-2001). See the unix + package for details. + + The old posix package is still + available for backwards compatibility, but is deprecated and + will be removed in a future release. + + + + Data.IORef: Added atomicModifyIORef. + + + + System.Cmd: Added rawSystem. + + + + System.Environment: + Added withArgs and withProgName. + + + + Network.Socket: + Added sendFd and recvFd. + + + + The Readline library has moved to + System.Console.Readline, + and is in a package of its own + (readline). + + + + The non-hierarchical versions of the FFI libraries are + now all available without needing to specify -package + lang (they are actually now in the + haskell98 package, which is available by + default). + + + + Network.BSD: + symlink and readline are + now deprecated; use + System.Posix.createSymbolicLink and + System.Posix.readSymbolicLink + respectively. + + + + Control.Exception: + Added mapException. + + + + Data.Dynamic: + various changes to make the implementation of + Typeable more efficient. This entails some + changes to the interface, and affects how instances of + Typeable are defined. + + + + Data.Tree + is a new library for trees. + + + + Data.Graph + is a new library for graphs. + + + + System.IO: + Removed bracket and + bracket_ (use the versions from + Control.Exception instead). + + + + System.IO: + The IOError type is now a synonym for + IOException, whereas previously it was a + synonym for Exception. This has various + consequences, one of which is that the types of + System.IO.catch and + Control.Exception.catch are now different + (useful, because they do different things). + + + + System.IO.Error: + added annotateIOError, + modifyIOError, and ioeSet{ErrorType,ErrorString,Handle,FileName}. + + + + Text.ParserCombinators.ReadP: + lots of updates. + + + + Control.Monad.Monoid is now Data.Monoid. + + + + Data.PackedString: + added joinPS, unwordsPS + and unlinesPS. + + + + Data.HashTable + is a new dynamic hash-table implementation. + + + + Added System.Sendfile. + + + + Added Foreign.Marshal.Pool. + + + + Data.Bits: + shiftL, shiftR, + rotateL, and rotateR are + now methods of the Bite class. + + + + The FFI libraries now conform to the latest version of + the FFI spec: + + + Added Foreign.ForeignPtr.mallocForeignPtr + and friends. + + + Finalizers added to a ForeignPtr + with addForeignPtrFinalizer are now run + in strict order; namely the reverse of the order they were + added. + + + Foreign.C.TypesISO has been + merged into Foreign.C.Types. + + + + - New experimental features - + Experimental features + + + The Data class provides for generic + data traversals and folds; see Data.Generics. + Data can be derived for arbitrary + datatypes. The Data class is still + experimental, so its contents may change in the future. + + + Several bugs have been fixed in the threaded RTS, and it + should now be rather more robust (it should still be + considered experimental, however). + + Internal changes - + + + Sweeping changes to the compiler and runtime system to + change the evaluation model from push/enter to + eval/apply. The bottom line is that the + compiler is now more portable and some of the complexity is + now more centralised, while performance and binary sizes + remain about the same. + + A paper describing these changes can be found here. + + + The test suite is now driven by a Python script and is + rather more flexible and robust. It now supports building + tests several different "ways", and as a result we now run + each test with optimisation, profiling, native code + generation, and GHCi in addition to the vanilla way. + + + The build system now supports bootstrapping the compiler + in a single build tree. By default, typing + make at the top level will bootstrap the + compiler once to create a stage-2 compiler. See the Building + Guide for more details. + + + The RTS debugging flags are no longer represented by a + bitfield and now have single-character names. For example, to + turn on scheduler debugging output, use -Ds + rather than -D1. + + + The compiler no longer requires any packages from + hslibs to bootstrap. It is enough to + compile fptools/libraries before building + the stage 2 compiler. + + -- 1.7.10.4