Mutable arrays in Haskell 98
Mark Tullsen
mtullsen@cse.ogi.edu
Wed, 27 Mar 2002 15:41:52 -0800
José Romildo Malaquias wrote:
> ...
> My attempt was
>
> mapIOArray :: Ix ix => (a -> b) -> IOArray ix a -> IO (IOArray ix b)
> mapIOArray f v = do w <- newIOArray bounds ????????????
> mapping w (range bounds)
> where
> bounds = boundsIOArray v
> mapping w (i:is) = do x <- readIOArray v i
> writeIOArray w i (f x)
> mapping w is
> mapping w [] = return w
>
> But I do not know what to use to replace the ????????????. Is there
> a polymorphic value in Haskell that can be of any type?
>
Yes, use "undefined" from the Prelude:
undefined :: a
undefined | False = undefined
- Mark