[project @ 1996-01-18 16:33:17 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 import TyComplex
8 import PS               ( _PackedString, _unpackPS )
9
10
11 data  Assoc a b =  a := b  deriving ()
12
13 -- Report: we do not do this:
14 -- data  {-(Ix a)    =>-} Array a b = MkArray (a,a) (a -> b) deriving ()
15 -- context omitted to match builtin version
16
17 -- Our version of a Haskell array:
18 data Array ix elt = _Array (ix, ix) (Array# elt)
19
20 -- And the companion "byte array" type:
21 data _ByteArray ix = _ByteArray (ix,ix) ByteArray#
22
23 instance _CCallable (_ByteArray ix)
24
25 {- ToDo: Unboxed arrays:
26
27 {- SPECIALIZE data a{Int#} b :: Assoc a b #-}
28 {- SPECIALIZE data a{Int#} b :: Array a b #-}
29
30 -}