From dec1077181f2c4685490e2ffdbfe631ce9d55983 Mon Sep 17 00:00:00 2001 From: simonm Date: Tue, 25 Nov 1997 12:44:54 +0000 Subject: [PATCH] [project @ 1997-11-25 12:44:54 by simonm] literatize and add a few forgotten things. --- ghc/docs/users_guide/2-09-notes.lit | 91 ++++++++++++++++++++++++++++++++--- 1 file changed, 85 insertions(+), 6 deletions(-) diff --git a/ghc/docs/users_guide/2-09-notes.lit b/ghc/docs/users_guide/2-09-notes.lit index 285bf68..ead193f 100644 --- a/ghc/docs/users_guide/2-09-notes.lit +++ b/ghc/docs/users_guide/2-09-notes.lit @@ -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} -- 1.7.10.4