summaryrefslogtreecommitdiff
path: root/ghc/compiler/HsVersions.h
diff options
context:
space:
mode:
authorsimonpj <unknown>1997-03-14 08:11:17 +0000
committersimonpj <unknown>1997-03-14 08:11:17 +0000
commit1fb1ab5d53a09607e7f6d2450806760688396387 (patch)
treeb437d55fe6dc77a4bb21143be31188b9985793f9 /ghc/compiler/HsVersions.h
parentfa6fb09e2e4e6918eebc79ed187f32c88817c9db (diff)
downloadhaskell-1fb1ab5d53a09607e7f6d2450806760688396387.tar.gz
[project @ 1997-03-14 07:52:06 by simonpj]
Major update to more-or-less 2.02
Diffstat (limited to 'ghc/compiler/HsVersions.h')
-rw-r--r--ghc/compiler/HsVersions.h32
1 files changed, 17 insertions, 15 deletions
diff --git a/ghc/compiler/HsVersions.h b/ghc/compiler/HsVersions.h
index c630c8dcfa..2a2b376b0d 100644
--- a/ghc/compiler/HsVersions.h
+++ b/ghc/compiler/HsVersions.h
@@ -36,6 +36,7 @@ you will screw up the layout where they are used in case expressions!
# define _GT GT
# define _Addr GHCbase.Addr
# define Text Show
+# define IMP_FASTSTRING()
# define IMP_Ubiq() IMPORT_DELOOPER(Ubiq); import qualified GHCbase
# define CHK_Ubiq() IMPORT_DELOOPER(Ubiq); import qualified GHCbase
# define minInt (minBound::Int)
@@ -45,8 +46,9 @@ you will screw up the layout where they are used in case expressions!
# define EXP_MODULE(a) a..
# define IMPORT_DELOOPER(mod) import mod
# define IMPORT_1_3(mod) {--}
-# define IMP_Ubiq() IMPORT_DELOOPER(Ubiq)
-# define CHK_Ubiq() IMPORT_DELOOPER(Ubiq)
+# define IMP_FASTSTRING() import FastString
+# define IMP_Ubiq() IMPORT_DELOOPER(Ubiq) ; import FastString
+# define CHK_Ubiq() IMPORT_DELOOPER(Ubiq) ; import FastString
#endif
#if __GLASGOW_HASKELL__ >= 26 && __GLASGOW_HASKELL__ < 200
@@ -107,21 +109,21 @@ you will screw up the layout where they are used in case expressions!
#if __GLASGOW_HASKELL__ >= 23
# define USE_FAST_STRINGS 1
# if __GLASGOW_HASKELL__ < 200
-# define FAST_STRING _PackedString
-# define SLIT(x) (_packCString (A# x#))
+# define FAST_STRING FastString {-_PackedString -}
+# define SLIT(x) (mkFastCharString (A# (x#))) {- (_packCString (A# x#)) -}
# define _CMP_STRING_ cmpPString
/* cmpPString defined in utils/Util.lhs */
-# define _NULL_ _nullPS
-# define _NIL_ _nilPS
-# define _CONS_ _consPS
-# define _HEAD_ _headPS
-# define _TAIL_ _tailPS
-# define _LENGTH_ _lengthPS
-# define _PK_ _packString
-# define _UNPK_ _unpackPS
-# define _SUBSTR_ _substrPS
-# define _APPEND_ `_appendPS`
-# define _CONCAT_ _concatPS
+# define _NULL_ nullFastString {-_nullPS-}
+# define _NIL_ (mkFastString "") {-_nilPS -}
+# define _CONS_ consFS {-_consPS-}
+# define _HEAD_ headFS {-_headPS-}
+# define _TAIL_ tailFS {-_tailPS-}
+# define _LENGTH_ lengthFS {-_lengthPS-}
+# define _PK_ mkFastString {-_packString-}
+# define _UNPK_ unpackFS {-_unpackPS-}
+ /* # define _SUBSTR_ _substrPS */
+# define _APPEND_ `appendFS` {-`_appendPS`-}
+# define _CONCAT_ concatFS {-_concatPS-}
# else
# define FAST_STRING GHCbase.PackedString
# define SLIT(x) (packCString (GHCbase.A# x#))