% (c) The University of Glasgow, 1997-2006
%
\begin{code}
+{-# OPTIONS -fno-warn-unused-imports #-}
+-- XXX GHC 6.9 seems to be confused by unpackCString# being used only in
+-- a RULE
+
+{-# OPTIONS_GHC -O -funbox-strict-fields #-}
+-- We always optimise this, otherwise performance of a non-optimised
+-- compiler is severely affected
+
{-
FastString: A compact, hash-consed, representation of character strings.
Comparison is O(1), and you can get a Unique from them.
- Generated by the FSLIT macro
+ Generated by fsLit
Turn into SDoc with Outputable.ftext
LitString: Just a wrapper for the Addr# of a C string (Ptr CChar).
Practically no operations
Outputing them is fast
- Generated by the SLIT macro
+ Generated by sLit
Turn into SDoc with Outputable.ptext
Use LitString unless you want the facilities of FastString
in
go str 0
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 602
-peekCAStringLen = peekCStringLen
-#endif
-
{-# NOINLINE sLit #-}
sLit :: String -> LitString
sLit x = mkLitString x