\section{Utils}
Here are some general functions not
specific to any one module.
\begin{code}
module Utils where
--import LMLTrace
{-
traceIndex :: String -> [a] -> Int -> a
traceIndex name lst i = trace name (lst!!i)
-}
map2 :: (a -> b -> c) -> [a] -> [b] -> [c]
map2 f x y = [f a b | (a,b) <- zip x y]
rep :: Int -> a -> [a]
rep n x = take n (repeat x)
rjustify :: Int -> [Char] -> [Char]
rjustify n s = spaces(n - (length s)) ++ s
spaces :: Int -> [Char]
spaces n = rep n ' '
zip2 :: [a] -> [b] -> [(a,b)]
zip2 x [] = []
zip2 [] y = []
zip2 (a:x) (b:y) = (a,b):zip2 x y
\end{code}
|