{-# OPTIONS -fno-implicit-prelude #-}
-----------------------------------------------------------------------------
---
+-- |
-- Module : Data.Char
-- Copyright : (c) The University of Glasgow 2001
--- License : BSD-style (see the file libraries/core/LICENSE)
+-- License : BSD-style (see the file libraries/base/LICENSE)
--
-- Maintainer : libraries@haskell.org
-- Stability : provisional
-- Portability : portable
--
--- $Id: Char.hs,v 1.1 2001/06/28 14:15:02 simonmar Exp $
---
-- The Char type and associated operations.
--
-----------------------------------------------------------------------------
#ifdef __GLASGOW_HASKELL__
import GHC.Base
import GHC.Show
-import GHC.Read (readLitChar, lexLitChar, digitToInt)
+import GHC.Read (readLitChar, lexLitChar)
+import GHC.Unicode
+import GHC.Num
#endif
#ifdef __HUGS__
-isLatin1 c = True
+import Hugs.Char
+#endif
+
+#ifdef __NHC__
+import Prelude
+import Prelude(Char,String)
+import Char
#endif
+
+
+digitToInt :: Char -> Int
+digitToInt c
+ | isDigit c = ord c - ord '0'
+ | c >= 'a' && c <= 'f' = ord c - ord 'a' + 10
+ | c >= 'A' && c <= 'F' = ord c - ord 'A' + 10
+ | otherwise = error ("Char.digitToInt: not a digit " ++ show c) -- sigh