%
-% (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}
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)
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}