summaryrefslogtreecommitdiff
path: root/ghc/docs/release_notes/0-16-notes.lit
diff options
context:
space:
mode:
Diffstat (limited to 'ghc/docs/release_notes/0-16-notes.lit')
-rw-r--r--ghc/docs/release_notes/0-16-notes.lit106
1 files changed, 0 insertions, 106 deletions
diff --git a/ghc/docs/release_notes/0-16-notes.lit b/ghc/docs/release_notes/0-16-notes.lit
deleted file mode 100644
index ba2d504062..0000000000
--- a/ghc/docs/release_notes/0-16-notes.lit
+++ /dev/null
@@ -1,106 +0,0 @@
-Release~0.16 was the second public release of this compilation system.
-It was primarily a bug-fixing and ``solidifying'' release.
-
-The announcement for this release is distributed as \tr{ANNOUNCE-0.16}
-in the top-level directory.
-
-%************************************************************************
-%* *
-\subsection[0-16-new-docs]{New documentation}
-%* *
-%************************************************************************
-
-We're providing a few more papers, in \tr{ghc/docs/papers}. See
-\tr{ghc/docs/README} for a full list of documentation.
-
-%************************************************************************
-%* *
-\subsection[0-16-new-in-compiler]{New in the compiler proper}
-%* *
-%************************************************************************
-
-New strictness analyser and update analyser; their use will be
-reflected in the pragmas in your interface files. The format of these
-interface pragmas {\em will probably change}.
-
-Errors related to misuse of Prelude identifiers are more likely to be
-caught.
-
-For some unknown reason, our ``wired-in'' default declaration in 0.10 was
-\tr{default (Integer,Double)}. We changed it to
-\tr{default (Int,Double)}, as the Report suggests (which is less safe).
-
-We've switched from basing our derived instances on a non-standard
-@cmp3@ method (class @Ord@), to basing them on another non-standard
-method @tagCmp@. The relevant types and things are...
-\begin{verbatim}
-cmp3 :: b -> b -> b -> a -> a -> b
-
-tagCmp :: a -> a -> CMP_TAG
-data CMP_TAG = LT_TAG | EQ_TAG | GT_TAG
-\end{verbatim}
-If you peer into the \tr{ghc/lib/prelude/*.hs} code, it will be
-obvious what's going on here. We hope to make further improvements
-on comparison code in the foreseeable future.
-
-%************************************************************************
-%* *
-\subsection[0-16-new-in-libraries]{In the prelude and runtime support}
-%* *
-%************************************************************************
-
-The libraries underpinning Glasgow monadic I/O, sequencing, primitive
-arrays, and variables have been reworked, with some consequent
-changes. If you encounter difficulties, you should consult the
-@PreludeGlaIO.hi@ and @PreludeGlaArray.hi@ interfaces in your
-\tr{imports} directory.
-
-Andy Gill's proposal for access to standard Haskell I/O functions from
-the monadic I/O world has been implemented. So you have functions
-such as @getArgsIO@, @appendChanIO@, etc., etc.
-
-The stuff you used to get from @Stdio.hi@ now comes directly from
-@PreludeGlaIO.hi@.
-
-The @packString#@ function has been moved into a module of its own,
-@PackedString@, and {\em its type has changed}. The functions now in
-that module are (to be elaborated...):
-\begin{verbatim}
-packString :: String -> PackedString
-packString# :: String -> Arr# Char#
-\end{verbatim}
-The latter is very useful to preparing @String@ arguments to pass to C.
-
-The HBC library modules that compile readily with GHC are available,
-you'll need to give a \tr{-lHShbc} option to the driver. These
-modules are:
-\begin{verbatim}
-Either, Hash, ListUtil, Maybe, Miranda, Number, Parse, Pretty, QSort,
-Random, Time, Word
-\end{verbatim}
-
-The GNU multi-precision (GMP) package which underpins our @Integer@
-support has been upgraded to version 1.3.2.
-
-%************************************************************************
-%* *
-\subsection[0-16-new-elsewhere]{New elsewhere}
-%* *
-%************************************************************************
-
-0.16 has a new and much uglier ``assembler mangler''
-(\tr{ghc/driver/ghc-asm-*.lprl}), which is what converts GCC-produced
-assembly-language output into the stuff you actually run. Besides
-throwing away function prologues/epilogues, it parks ``info tables''
-next to entry code, and fast-entry code right next to slow-entry code.
-
-The net effect of this assembler-mangler is that there is {\em very
-little runtime penalty} for compiling via GCC.
-
-The way we go about mapping ``STG registers'' to real machine
-registers (\tr{ghc/imports/StgRegs.lh}) is different. It should be
-particularly better for machines with few registers (though we still
-don't have a good solution for x86 machines).
-
-We can now ``steal'' caller-save registers; in the past, we could only
-steal callee-save registers.