2 Assoc(..), Array(..), _ByteArray(..)
8 data Assoc a b = a := b deriving ()
10 -- Report: we do not do this:
11 -- data {-(Ix a) =>-} Array a b = MkArray (a,a) (a -> b) deriving ()
12 -- context omitted to match builtin version
14 -- Our version of a Haskell array:
15 data Array ix elt = _Array (ix, ix) (Array# elt)
17 -- And the companion "byte array" type:
18 data _ByteArray ix = _ByteArray (ix,ix) ByteArray#
20 instance _CCallable (_ByteArray ix)
22 {- ToDo: Unboxed arrays:
24 {- SPECIALIZE data a{Int#} b :: Assoc a b #-}
25 {- SPECIALIZE data a{Int#} b :: Array a b #-}