[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / lib / prelude / TyArray.hs
1 module  PreludeArray (
2         Assoc(..), Array(..), _ByteArray(..)
3     ) where
4
5 import Cls
6 import Core
7
8 data  Assoc a b =  a := b  deriving ()
9
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
13
14 -- Our version of a Haskell array:
15 data Array ix elt = _Array (ix, ix) (Array# elt)
16
17 -- And the companion "byte array" type:
18 data _ByteArray ix = _ByteArray (ix,ix) ByteArray#
19
20 instance _CCallable (_ByteArray ix)
21
22 {- ToDo: Unboxed arrays:
23
24 {- SPECIALIZE data a{Int#} b :: Assoc a b #-}
25 {- SPECIALIZE data a{Int#} b :: Array a b #-}
26
27 -}