#ifdef DEBUG
#define ASSERT(e) if (not (e)) then (assertPanic __FILE__ __LINE__) else
#define ASSERT2(e,msg) if (not (e)) then (assertPprPanic __FILE__ __LINE__ (msg)) else
+#define WARN( e, msg ) (warnPprTrace (e) __FILE__ __LINE__ (msg))
#else
#define ASSERT(e)
#define ASSERT2(e,msg)
+#define WARN(e,msg)
#endif
#if __STDC__
# define seqStrictlyST seqST
# define thenStrictlyST thenST
# define returnStrictlyST return
-# define _readHandle IOHandle.readHandle
-# define _writeHandle IOHandle.writeHandle
-# define _newHandle IOHandle.newdHandle
# define MkST ST
# if __GLASGOW_HASKELL__ >= 209
# define STATE_TOK(x) x
# define failWith fail
# define MkIOError(h,errt,msg) (IOError (Just h) errt msg)
# define CCALL_THEN thenIO_Prim
-# define _filePtr IOHandle.filePtr
# define Text Show
# define IMP_FASTSTRING() import FastString
# if __GLASGOW_HASKELL__ >= 209
#if defined(__GLASGOW_HASKELL__)
-- Import the beggars
-import GlaExts ( Int(..), Int#, (+#), (-#), (*#),
- quotInt#, negateInt#, (==#), (<#), (<=#), (>=#), (>#)
- )
+import GlaExts
+ ( Int(..), Int#, (+#), (-#), (*#),
+ quotInt#, negateInt#, (==#), (<#), (<=#), (>=#), (>#)
+ )
#define FAST_INT Int#
#define ILIT(x) (x#)
-- when compiling FastString itself
#ifndef COMPILING_FAST_STRING
--
-import FastString ( FastString, mkFastString, mkFastCharString#, nullFastString,
- consFS, headFS, tailFS, lengthFS, unpackFS, appendFS, concatFS
- )
+import qualified FastString
#endif
# define USE_FAST_STRINGS 1
-# define FAST_STRING FastString
-# define SLIT(x) (mkFastCharString# (x#))
-# define _NULL_ nullFastString
-# define _NIL_ (mkFastString "")
-# define _CONS_ consFS
-# define _HEAD_ headFS
-# define _TAIL_ tailFS
-# define _LENGTH_ lengthFS
-# define _PK_ mkFastString
-# define _UNPK_ unpackFS
-# define _APPEND_ `appendFS`
-# define _CONCAT_ concatFS
+# define FAST_STRING FastString.FastString
+# define SLIT(x) (FastString.mkFastCharString# (x#))
+# define _NULL_ FastString.nullFastString
+# define _NIL_ (FastString.mkFastString "")
+# define _CONS_ FastString.consFS
+# define _HEAD_ FastString.headFS
+# define _TAIL_ FastString.tailFS
+# define _LENGTH_ FastString.lengthFS
+# define _PK_ FastString.mkFastString
+# define _UNPK_ FastString.unpackFS
+# define _APPEND_ `FastString.appendFS`
+# define _CONCAT_ FastString.concatFS
#else
# define FAST_STRING String
# define SLIT(x) (x)
# define _CONCAT_ concat
#endif
+#if __HASKELL1__ > 4
+#define FMAP fmap
+#define ISALPHANUM isAlphaNum
+#define IOERROR ioError
+#else
+#define FMAP map
+#define ISALPHANUM isAlphanum
+#define IOERROR fail
+#endif
+
#endif