From: simonm Date: Thu, 4 Dec 1997 11:17:54 +0000 (+0000) Subject: [project @ 1997-12-04 11:17:54 by simonm] X-Git-Tag: Approx_2487_patches~1198 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=c2624f32004b2e10d4bd5db7311c86a1cbd6180f;p=ghc-hetmet.git [project @ 1997-12-04 11:17:54 by simonm] some backwards-compatibility updates that should have gone into 2.09. --- diff --git a/ghc/docs/users_guide/backwards.lit b/ghc/docs/users_guide/backwards.lit index a709b21..5ed266b 100644 --- a/ghc/docs/users_guide/backwards.lit +++ b/ghc/docs/users_guide/backwards.lit @@ -8,7 +8,7 @@ This part of the guide is to help people upgrading from a previous version of GHC. Right now, it is mostly to help people -switching from GHC~0.29 (a Haskell~1.2 compiler, mostly) to GHC~2.04 +switching from GHC~0.29 (a Haskell~1.2 compiler, mostly) to GHC~2.xx (a Haskell~1.4 compiler). %ToDo: index @@ -158,14 +158,11 @@ The type of the function \tr{fail} changed between draft and real-thing. Old: \tr{fail x}; new: \tr{fail (userError x)}. Also, what used to be \tr{failWith x} is now just \tr{fail x}. -The function \tr{try} didn't make it into 1.3 I/O. GHC supplies it -(at least for now) as @GHCio.tryIO@. - All the system modules named \tr{LibSomething} dropped the \tr{Lib}. So: \tr{LibSystem} is now just \tr{System}. -In~0.29, you could mix-n-match @IO@ with @PrimIO@, simply because the -implementation happend to allow it. Not any more. +As of 2.09, GHC doesn't have @PrimIO@, and all @_ccall_@s now return +type @IO a@, where @a@ is the return type of the @_ccall_@ itself. The \tr{IOError} type is now abstract; you cannot see it's constructors. 1.3 provides functions to query errors. @@ -256,9 +253,6 @@ make horrible changes to \tr{GHC*} modules.... You can't dig around inside the @ST@/@IO@ monads quite so freely. -If you want to provide your own @mainPrimIO@ routine, it must be -in a module @GHCmain@, not @Main@. - The old \tr{PreludePrimIO} interface is DEAD. The even-older \tr{PreludeGlaIO} interface is DEADER. @@ -277,3 +271,7 @@ and @fwrite@ are dead. The \tr{LibPosix} stuff didn't make it into 1.3 I/O, so it has become a ``system library'' (\tr{-syslib posix}). Other than dropping the \tr{Lib*} prefix, everything should be the same as in 0.29. + +As of GHC 2.09, @mainPrimIO@ is now called @mainIO@, to reflect the +fact that @PrimIO@ doesn't exist anymore. If you want to provide your +own @mainIO@ routine, it must be in a module @GHCmain@, not @Main@.