[project @ 2004-01-15 14:43:17 by igloo]
authorigloo <unknown>
Thu, 15 Jan 2004 14:43:25 +0000 (14:43 +0000)
committerigloo <unknown>
Thu, 15 Jan 2004 14:43:25 +0000 (14:43 +0000)
Split Template Haskell out to its own package and update docs and tests.

ghc/compiler/Makefile
ghc/compiler/deSugar/DsMeta.hs
ghc/compiler/ghci/Linker.lhs
ghc/compiler/main/Packages.lhs
ghc/docs/comm/exts/th.html
mk/bootstrap.mk

index 271011f..d8c210f 100644 (file)
@@ -271,8 +271,8 @@ endif
 
 # Only include GHCi if we're bootstrapping with at least version 411
 ifeq "$(GhcWithInterpreter) $(bootstrapped)" "YES YES"
-# Yes, include the interepreter, readline, and Template Haskell extensions
-SRC_HC_OPTS += -DGHCI -package haskell-src
+# Yes, include the interpreter, readline, and Template Haskell extensions
+SRC_HC_OPTS += -DGHCI -package template-haskell -package haskell-src
 ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
 SRC_HC_OPTS += -package unix
 ifeq "$(GhcLibsWithReadline)" "YES"
index 4bcb32e..614ad3b 100644 (file)
@@ -1279,7 +1279,7 @@ tH_SYN_Name = mkModuleName "Language.Haskell.TH.Syntax"
 tH_LIB_Name = mkModuleName "Language.Haskell.TH.Lib"
 
 thSyn :: Module
--- NB: the TH.Syntax module comes from the "haskell-src" package
+-- NB: the TH.Syntax module comes from the "template-haskell" package
 thSyn = mkModule thPackage  tH_SYN_Name
 thLib = mkModule thPackage  tH_LIB_Name
 
index f8e6175..f8237dc 100644 (file)
@@ -705,7 +705,7 @@ partOfGHCi
 #          if defined(mingw32_TARGET_OS) || defined(darwin_TARGET_OS)
            = [ ]
 #          else
-           = [ "base", "haskell98", "haskell-src", "readline" ]
+           = [ "base", "haskell98", "template-haskell", "readline" ]
 #          endif
 
 showLS (Object nm)    = "(static) " ++ nm
index ef4a6e4..72b3cf8 100644 (file)
@@ -60,7 +60,7 @@ rtsPackage, basePackage, haskell98Package, thPackage :: PackageName
 basePackage      = FSLIT("base")
 rtsPackage      = FSLIT("rts")
 haskell98Package = FSLIT("haskell98")
-thPackage        = FSLIT("haskell-src")        -- Template Haskell libraries in here
+thPackage        = FSLIT("template-haskell")   -- Template Haskell libraries in here
 
 packageDependents :: PackageConfig -> [PackageName]
 -- Impedence matcher, because PackageConfig has Strings 
index 2c75b9a..dbb168a 100644 (file)
@@ -35,7 +35,7 @@
       A term in quasi-quote brackets needs to be translated into Core code
       that, when executed, yields a <em>representation</em> of that term in
       the form of the abstract syntax trees defined in <a
-      href="http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/libraries/haskell-src/Language/Haskell/THSyntax.hs"><code>Language.Haskell.THSyntax</code></a>.
+      href="http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/libraries/template-haskell/Language/Haskell/TH/Syntax.hs"><code>Language.Haskell.TH.Syntax</code></a>.
       Within <code>DsMeta</code>, this is achieved by four functions
       corresponding to the four types of quasi-quote brackets:
       <code>repE</code> (for <code>[|...|]</code>), <code>repP</code> (for
       type parameter to constrain the contexts in which they are applicable.
       For example, a function that builds a Core expression that evaluates to
       a TH type representation, which has type
-      <code>Language.Haskell.THSyntax.Type</code>, would return a value of
+      <code>Language.Haskell.TH.Syntax.Type</code>, would return a value of
       type 
     </p>
     <blockquote>
       <pre>
-Core Language.Haskell.THSyntax.Type</pre>
+Core Language.Haskell.TH.Syntax.Type</pre>
     </blockquote>
 
     <h3>Desugaring of Reification Operators</h3>
@@ -82,9 +82,9 @@ Core Language.Haskell.THSyntax.Type</pre>
       The operator <code>reifyType</code> receives the name of a function or
       data constructor as its argument and yields a representation of this
       entity's type in the form of a value of type
-      <code>THSyntax.Type</code>.  Similarly, <code>reifyDecl</code> receives
+      <code>TH.Syntax.Type</code>.  Similarly, <code>reifyDecl</code> receives
       the name of a type and yields a representation of the type's declaration
-      as a value of type <code>THSyntax.Decl</code>.  The name of the reified
+      as a value of type <code>TH.Syntax.Decl</code>.  The name of the reified
       entity is mapped to the GHC-internal representation of the entity by
       using the function <code>lookupOcc</code> on the name.
     </p>
@@ -177,7 +177,7 @@ in repTyClD and repC.</pre>
     <p>
       During the construction of representations, the desugarer needs to use a
       large number of functions defined in the library
-      <code>Language.Haskell.THSyntax</code>.  The names of these functions
+      <code>Language.Haskell.TH.Syntax</code>.  The names of these functions
       need to be made available to the compiler in the way outlined <a
       href="../the-beast/prelude.html">Primitives and the Prelude.</a>
       Unfortunately, any change to <a
index 69c7411..08fa127 100644 (file)
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# $Id: bootstrap.mk,v 1.27 2003/09/02 10:23:30 simonmar Exp $
+# $Id: bootstrap.mk,v 1.28 2004/01/15 14:43:24 igloo Exp $
 #
 # Makefile rules for booting from .hc files without a driver.
 #
@@ -88,6 +88,7 @@ DASH_L_GHC_RTS_GMP_DIR=-L$(FPTOOLS_TOP_ABS)/ghc/rts/gmp
 endif
 
 HC_BOOT_LD_OPTS =                              \
+   -L$(FPTOOLS_TOP_ABS)/libraries/haskell-src  \
    -L$(FPTOOLS_TOP_ABS)/ghc/rts                        \
    $(DASH_L_GHC_RTS_GMP_DIR)                    \
    -L$(FPTOOLS_TOP_ABS)/libraries/base         \
@@ -96,7 +97,7 @@ HC_BOOT_LD_OPTS =                             \
 
 ifeq "$(GhcWithInterpreter)" "YES"
 HC_BOOT_LD_OPTS += \
-   -L$(FPTOOLS_TOP_ABS)/libraries/haskell-src  \
+   -L$(FPTOOLS_TOP_ABS)/libraries/template-haskell     \
    -L$(FPTOOLS_TOP_ABS)/libraries/readline     \
    -L$(FPTOOLS_TOP_ABS)/libraries/unix          \
    -L$(FPTOOLS_TOP_ABS)/libraries/unix/cbits
@@ -139,10 +140,10 @@ HC_BOOT_LD_OPTS += \
 HC_BOOT_LIBS =
 
 ifeq "$(GhcWithInterpreter)" "YES"
-HC_BOOT_LIBS += -lHSreadline -lHShaskell-src -lHSunix -lHSunix_cbits
+HC_BOOT_LIBS += -lHSreadline -lHStemplate-haskell -lHSunix -lHSunix_cbits
 endif
 
-HC_BOOT_LIBS += -lHShaskell98 -lHSbase -lHSbase_cbits -lHSrts -lgmp -lm $(EXTRA_HC_BOOT_LIBS)
+HC_BOOT_LIBS += -lHShaskell98 -lHShaskell-src -lHSbase -lHSbase_cbits -lHSrts -lgmp -lm $(EXTRA_HC_BOOT_LIBS)
 
 ifeq "$(GhcLibsWithReadline)" "YES"
 HC_BOOT_LIBS += $(patsubst %, -l%, $(LibsReadline))