Copyright | (c) Christian Maeder and Ewaryst Schulz and Uni Bremen 2009 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | Ewaryst.Schulz@dfki.de |
Stability | experimental |
Portability | non-portable (MPTC) |
Safe Haskell | Safe-Inferred |
This module provides the item datatype for an abstract logic independent representation of basic specs.
Documentation
data ItemType
data Item
class ItemTypeable a where
class Monad m => ItemConvertible a m where
listFromAL :: ItemConvertible a m => [Annoted a] -> m [Annoted Item]
listFromLWithA :: ItemConvertible a m => (Item -> Annoted Item) -> [a] -> m [Annoted Item]
listFromL :: ItemConvertible a m => [a] -> m [Annoted Item]
annToAItem :: ItemConvertible a m => Annoted a -> m (Annoted Item)
toAItemWithA :: ItemConvertible a m => (Item -> Annoted Item) -> a -> m (Annoted Item)
toAItem :: ItemConvertible a m => a -> m (Annoted Item)
liftIT2I :: ItemTypeable a => a -> Item
liftIT2AI :: ItemTypeable a => a -> Annoted Item
fromC :: ItemConvertible a m => a -> m (Annoted Item)
fromAC :: ItemConvertible a m => Annoted a -> m (Annoted Item)
fromL :: (ItemConvertible a m, ItemTypeable b) => b -> [a] -> m (Annoted Item)
fromAL :: (ItemConvertible a m, ItemTypeable b) => b -> [Annoted a] -> m (Annoted Item)
mkFlatItem :: ItemTypeable a => a -> Range -> Item
mkFlatItemM :: (ItemTypeable a, Monad m) => a -> Range -> m Item
flattenItem :: Item -> Item