[project @ 1998-12-18 17:40:31 by simonpj]
[ghc-hetmet.git] / ghc / compiler / utils / Argv.lhs
index 4793b12..0d6262a 100644 (file)
@@ -1,5 +1,5 @@
 %
-% (c) The AQUA Project, Glasgow University, 1996
+% (c) The AQUA Project, Glasgow University, 1996-1998
 %
 \section[Argv]{@Argv@: direct (non-standard) access to command-line arguments}
 
@@ -10,8 +10,12 @@ module Argv ( argv ) where
 
 import FastString
 
-import GlaExts ( Addr )
-import ArrBase ( indexAddrOffAddr )
+#if __GLASGOW_HASKELL__ <= 302
+import GlaExts         ( Addr )
+import ByteArray       ( indexAddrOffAddr )
+#else
+import Addr            ( Addr, indexAddrOffAddr )
+#endif
 
 argv :: [FAST_STRING]
 argv = unpackArgv ``prog_argv'' (``prog_argc''::Int)
@@ -22,9 +26,9 @@ unpackArgv argv argc = unpack 1
   where
     unpack :: Int -> [FAST_STRING]
     unpack n
-      = if (n >= argc)
-       then ([] :: [FAST_STRING])
-       else case (indexAddrOffAddr argv n) of { item ->
-            mkFastCharString item : unpack (n + 1)
-            }
+      | n >= argc = []
+      | otherwise =
+        case (indexAddrOffAddr argv n) of 
+          item -> mkFastCharString item : unpack (n + 1)
+
 \end{code}