Pugs.Class

|  | Contents | Index
Pugs.Class
Synopsis
data MetaClass = MetaClass {
clsName :: Label
clsSuper :: MetaClass
clsSubClasses :: (Set MetaClass)
clsProperties :: (Map Label (Visibility, MetaProperty))
clsMethods :: (Map Label (Visibility, MetaMethod))
clsCats :: (Map Label (Visibility, MetaAssoc))
}
data MetaMethod = MetaMethod {
methodParams :: Params
methodInvoke :: ([Val] -> Eval Val)
}
data MetaProperty = MetaProperty {
propType :: Type
propDefault :: (Eval Val)
}
data MetaAssoc = MetaAssoc {
catClass :: MetaClass
catPair :: MetaAssoc
catRange :: Range
catIsComposite :: Bool
catOrdered :: Bool
catKeyed :: Bool
catCompanion :: Label
}
data Visibility
= Public
| Private
type Label = String
type Range = (Multi, Multi)
data Multi
= Zero
| One
| Many
data Category
= Unordered
| Ordered
| Keyed
data Type
= Int
| Str
Produced by Haddock version ADDOCK_VERSION