b needs a type. [code] Prelude Data.Array.IArray> :t array array :: (Ix i, IArray a e) => (i, i) -> [(i, e)] -> a i e Prelude Data.Array.IArray> let b = array (1,33) [(i,False) | i <- [1..33]] :: Array Int Bool Prelude Data.Array.IArray> :t b b :: Array Int Bool Prelude Data.Array.IArray> b array (1,33) [(1,False),(2,False),(3,False),(4,False),(5,False),(6,False),(7,False),(8,False),(9,False),(10,False),(11,False),(12,False),(13,False),(14,False),(15,False),(16,False),(17,False),(18,False),(19,False),(20,False),(21,False),(22,False),(23,False),(24,False),(25,False),(26,False),(27,False),(28,False),(29,False),(30,False),(31,False),(32,False),(33,False)] Prelude Data.Array.IArray> [/code]
the error said: No instance for (IArray ...) arising from use of `array' the unspecified type of b did not had this instance; but now it has the type "Array" --and with that type the needed instance, too. - marc Am Samstag, 16. Dezember 2006 12:56 schrieb Maurício: > Hi, > > I'm trying this in ghci: > > let b = array (1,33) [(i,False) | i <- [1..33]] > > after :m Data.Array.IArray. It gives me that error message: > > <interactive>:1:8: > No instance for (IArray a Bool) > arising from use of `array' at <interactive>:1:8-12 > Probable fix: add an instance declaration for (IArray a Bool) > In the definition of `b': b = array (1, 33) ([(i, False) | i <- [1 > .. 33]]) > > Why? > > Thanks, > Maurício > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe