SoOSiM-0.2.0.0: examples/MemoryManager/Types.hs
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE ExistentialQuantification #-}
module MemoryManager.Types where
import SoOSiM
data MemorySource
= MemorySource
{ baseAddress :: Int
, scope :: Int
, sourceId :: Maybe ComponentId
}
data MemState =
MemState { addressLookup :: [MemorySource]
}
data MemCommand = Register MemorySource
| Read Int
| forall a . Typeable a => Write Int a
deriving Typeable
data MemoryManager = MemoryManager