[project @ 1999-01-19 13:10:21 by simonm]
authorsimonm <unknown>
Tue, 19 Jan 1999 13:10:21 +0000 (13:10 +0000)
committersimonm <unknown>
Tue, 19 Jan 1999 13:10:21 +0000 (13:10 +0000)
4.02 updates.

ghc/docs/users_guide/4-02-notes.vsgml
ghc/docs/users_guide/runtime_control.vsgml

index 1c5d753..69b565b 100644 (file)
@@ -4,18 +4,12 @@
 
 <itemize>
 
-<item> Some Haskell 98 changes:
-       <itemize>
-       <item> Lazy name-clash detection.
-       <item> Scoped infix declarations.
-       <item> <tt/Eval/ class now completely removed.
-       </itemize>
+<item> Full Haskell 98 language support.
 
 <item> Scoped type variables implemented.
 
 <item> Several bugs in _ccall_GC and foreign export fixed.
 
-
 <item> Warnings for unused variables should work now (they didn't before).
 
 <item> Simplifier improvements:
@@ -34,4 +28,17 @@ the simplifier.
 
 <item> <tt/OccName/ is a separate module, and is an abstract data type.
  
+<item> A new generational garbage collector: the number of generations
+is variable, using the -G RTS option (see <ref id="rts-options-gc"
+name="RTS options to control the garbage-collector">).  This collector
+is faster and more space-efficient than the two-space collector in 4.01.
+
+<item> Error messages and warnings are now printed out in the order they
+occur in the source code.
+
+<item> <tt/isEmptyMVar/ operation added to the <tt/Concurrent/ library.
+
+<item> Two functions exported from <tt/IOExts/: <tt/unsafeIOToST/ and
+<tt/stToIO/.
+
 </itemize>
index 82876bf..ccb553e 100644 (file)
@@ -69,8 +69,17 @@ maximum performance.
 
 [Default: 2] Set the number of generations used by the garbage
 collector.  The default of 2 seems to be good, but the garbage
-collector can support any number of generations.  NOTE: -G1 (i.e. a
-two-space copying collector) is currently not supported.
+collector can support any number of generations.  Anything larger than
+about 4 is probably not a good idea unless your program runs for a
+<emph/long/ time, because the oldest generation will never get
+collected.
+
+Specifying 1 generation with @+RTS -G1@ gives you a simple 2-space
+collector, as you would expect.  In a 2-space collector, the @-A@
+option (see below) specifies the <emph/minimum/ allocation area size,
+since the allocation area will grow with the amount of live data in
+the heap.  In a multi-generational collector the allocation area is a
+fixed size.
 
 <tag>@-A<size>@:</tag>
 <nidx>-A&lt;size&gt; RTS option</nidx>