2 % (c) The AQUA Project, Glasgow University, 1994-1998
5 \section[PrelAddr]{Module @PrelAddr@}
8 {-# OPTIONS -fno-implicit-prelude #-}
13 , plusAddr -- :: Addr -> Int -> Addr
14 , indexAddrOffAddr -- :: Addr -> Int -> Addr
25 data Addr = A# Addr# deriving (Eq, Ord)
27 instance Show Addr where
28 showsPrec p (A# a) = showsPrec p (I# (addr2Int# a))
30 nullAddr = ``NULL'' :: Addr
32 plusAddr :: Addr -> Int -> Addr
33 plusAddr (A# addr) (I# off) = A# (int2Addr# (addr2Int# addr +# off))
35 instance CCallable Addr
36 instance CCallable Addr#
37 instance CReturnable Addr
39 indexAddrOffAddr :: Addr -> Int -> Addr
40 indexAddrOffAddr (A# addr#) n
41 = case n of { I# n# ->
42 case indexAddrOffAddr# addr# n# of { r# ->