[project @ 1997-11-25 12:44:54 by simonm]
authorsimonm <unknown>
Tue, 25 Nov 1997 12:44:54 +0000 (12:44 +0000)
committersimonm <unknown>
Tue, 25 Nov 1997 12:44:54 +0000 (12:44 +0000)
literatize and add a few forgotten things.

ghc/docs/users_guide/2-09-notes.lit

index 285bf68..ead193f 100644 (file)
@@ -1,18 +1,97 @@
-* unboxed the state in ST and IO, and specialised IO (it is no longer built
+Changes made since 2.08:
+
+\begin{itemize}
+\item fixed type-synonym-arity bug in the typechecker.
+
+\item fixed overloaded-constructor-argument bug in the typechecker.
+
+\item fix off-by-one error in PackedString:filterPS.
+
+\item fixed getCurrentDirectory.
+
+\item fixed space-leak bug to do with polymorphic recursion and overloading.
+
+\item fixed lit-deatify that was core dumping on Linux.
+
+\item some fixes to the native code generator for i386.
+
+\item unboxed the state in ST and IO, and specialised IO (it is no longer built
   on top of ST).
 
-* reversed the sense of -fwarn-{overlapped,incomplete}-patterns.  The driver
+\item reversed the sense of -fwarn-{overlapped,incomplete}-patterns.  The driver
   now has to have the flag to provide the warning.
 
-* added the -Wnot, -W, and -Wall options.  Set up a default set of warnings,
+\item added -fwarn-missing-methods
+
+\item added the -Wnot, -W, and -Wall options.  Set up a default set of warnings,
   namely -fwarn-{overlapped,incomplete}-patterns.
 
-* Added -fwarn-duplicate-exports warning to check for duplicates in
+\item Added -fwarn-duplicate-exports warning to check for duplicates in
   export lists. Included in default warning set.
 
-* Renamed SampleVar.{write,read}Sample to SampleVar.{write,read}SampleVar
+\item Renamed SampleVar.{write,read}Sample to SampleVar.{write,read}SampleVar
 
-* new mkdependHS options: -W disables warnings of duplicate interface
+\item new mkdependHS options: -W disables warnings of duplicate interface
   files found along the import path. --include-prelude *will* generate
   dependencies on Prelude + any prelude/syslib .hi files used.
 
+\item removed the @PrimIO@ type.  For a limited time only, @PrimIO@
+  will be available from @GlaExts@ as a synonym for @IO@.
+
+\item changed the type of @_ccall_@s to return @(IO a)@.
+
+\item renamed @mainPrimIO@ to @mainIO@, as it now has type @IO ()@.
+
+\item fixed the semantics of the @-i@ flag to @mkdependHS@ to be the
+  same as GHC.
+
+\item fix panic when a type constructor is used as a class.
+
+\item don't arbitrarily truncate cost centre names in profiling information.
+\end{itemize}
+
+In 2.09, we've made extensive changes to the libraries that provide
+access to various GHC extensions.  Many of these extensions are now
+provided by Hugs, and as a result we are now using a common set of
+extension libraries.
+
+Briefly, the changes are as follows (for the definition of the new
+libraries, see the section on GHC/Hugs libraries in the User Guide).
+
+\begin{itemize}
+\item Addr moved out of Foreign and into its own module.
+
+\item MutVar module disappeared, IOExts now exports IORefs and associated
+  operations.
+
+\item The @CCallable@ and @CReturnable@ classes now have their own
+  module, @CCall@.  You only need to import this module to provide a
+  new instance of one of these classes.
+
+\item A new module @IOExts@ provides extensions to the @IO@ monad,
+  including @unsafePerformIO@, @unsafeInterleaveIO@, @IORef@s (mutable
+  variables), and @IOArray@s (mutable arrays).
+
+\item Importing @ST@ is now the official way to get access to the @ST@
+  monad.  This module also supports @STRef@s (mutable variables) and
+  @STArray@s (mutable arrays).
+
+\item A new module @LazyST@ provides an identical interface to @ST@
+  except that the underlying implementation of the monad is lazy.  Be
+  careful about mixing these two in the same program.
+
+\item The new module @Bits@ provides a class of bit operations.  The
+  modules @Int@ and @Word@ provide signed and unsiged integer types
+  (respectively) of varying sizes, all of which support bit
+  operations. 
+
+\item Added @Bits@, @Int@, @Word@ (and a few new primops over words).
+
+\item The @GlaExts@ module will provide Glasgow-only extensions.  For
+  now, we've kept the old interface for compatibility, but beware that
+  this is deprecated and the relevant extension libraries should be
+  imported explicitly.
+
+\item Several changes to the libraries in @lib/ghc@ - see the User
+  Guide for details.
+\end{itemize}