X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdocs%2Fusers_guide%2Flibraries.vsgml;h=cd837929e6b01417f6e20aeec3dc51d2b47ef1b6;hb=8b71efe0f44c79401f42c8d37ab13ce61dcf5516;hp=9e666b5e268ed0c5b914636de4f1e66bfdd6dff8;hpb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;p=ghc-hetmet.git
diff --git a/ghc/docs/users_guide/libraries.vsgml b/ghc/docs/users_guide/libraries.vsgml
index 9e666b5..cd83792 100644
--- a/ghc/docs/users_guide/libraries.vsgml
+++ b/ghc/docs/users_guide/libraries.vsgml
@@ -1,5 +1,5 @@
%
-% $Id: libraries.vsgml,v 1.3 1998/12/02 13:20:40 simonm Exp $
+% $Id: libraries.vsgml,v 1.4 1999/02/02 14:14:12 sof Exp $
%
% GHC Prelude and Libraries.
%
@@ -56,6 +56,73 @@ you can get access to several extensions this way (for some you might
need to give the @-fglasgow-exts@-fglasgow-exts option
flag).
+
+GHC/Hugs Extension Libraries
+
+
+The extension libraries provided by both GHC and Hugs are described in
+the
+
+
+GHC-only Extension Libraries
+
+libraries, ghc-only
+extension libraries, ghc-only
+
+If you rely on the implicit @import Prelude@ that GHC normally does
+for you, and if you don't use any weird flags (notably
+@-fglasgow-exts@), and if you don't import the Glasgow extensions
+interface, @GlaExts@, then GHC should work exactly as the
+Haskell report says (modulo a few minor issues, see Section ).
+
+If you turn on @-fglasgow-exts@, a new world opesn up to you and the compiler
+will recognise and parse unboxed values properly, and provide access to the
+various interfaces libraries described here (and piles of other goodies.)
+
+&mutablearray;
+&bytearray;
+
+The @CCall@ module
+
+
+The @CCall@ module defines the classes @CCallable@ and @CReturnable@,
+along with instances for the primitive types (@Int@, @Int#@, @Float@,
+@Float#@ etc.) GHC knows to import this module if you use @_ccall_@,
+but if you need to define your own instances of these classes, you
+will need to import @CCall@ explicitly.
+
+More information on how to use @_ccall_@ can be found in Section
+.
+
+The @GlaExts@ interface
+
+GlaExts interface (GHC extensions)
+
+The @GlaExts@ interface provides access to extensions that only GHC
+implements. These currently are: unboxed types, including the
+representations of the primitive types (Int, Float, etc.), and the
+GHC primitive operations (@+#@, @==#@, etc.).
+
+This module used to provide access to all the Glasgow extensions, but
+these have since been moved into separate libraries for compatibility
+with Hugs (version 2.09: in fact, you can still get at this stuff via
+@GlaExts@ for compatibility, but this facility will likely be removed
+in the future).
+
+
+-- the representation of some basic types:
+data Char = C# Char#
+data Int = I# Int#
+data Addr = A# Addr#
+data Word = W# Word#
+data Float = F# Float#
+data Double = D# Double#
+data Integer = J# Int# Int# ByteArray#
+
+module GHC -- all primops and primitive types.
+
+
The module @PrelGHC@: really primitive stuff