MetaObject-0.0.6.20110925: A meta-object system for Haskell based on Perl 6

MO.Util

Synopsis

Documentation

on :: (b -> b -> c) -> (a -> b) -> a -> a -> cSource

traceShow :: Show a => a -> b -> bSource

(?==?) :: (Eq a, Typeable a, Typeable b) => a -> b -> BoolSource

(?<=>?) :: (Ord a, Typeable a, Typeable b) => a -> b -> OrderingSource

data Ord a => Collection a Source

Constructors

MkCollection 

Fields

c_objects :: Set a
 
c_names :: AtomMap a
 

Instances

Typeable1 Collection 
Ord a => Eq (Collection a) 
Ord a => Ord (Collection a) 
(Ord a, Show a) => Show (Collection a) 

cmap :: (Ord a, Ord b) => (a -> b) -> Collection a -> Collection bSource

remove :: (Monad m, Ord a) => Atom -> a -> Collection a -> m (Collection a)Source

add :: (Monad m, Ord a) => Atom -> a -> Collection a -> m (Collection a)Source

insert :: Ord a => Atom -> a -> Collection a -> Collection aSource

newCollection' :: Ord a => (a -> Atom) -> [a] -> Collection aSource

items :: Ord a => Collection a -> [a]Source

items_named :: Ord a => Collection a -> [(Atom, a)]Source

includes :: Ord a => Collection a -> a -> BoolSource

shadow :: Ord a => [Collection a] -> [a]Source

merge :: Ord a => [Collection a] -> [a]Source

sym_shadowing :: (Show a, Ord a) => b -> (b -> [b]) -> (b -> Collection a) -> Collection aSource

sym_merged_parents :: (Show a, Ord a) => b -> (b -> [b]) -> (b -> Collection a) -> Collection aSource

sym_inheritance :: Ord a => b -> (b -> [b]) -> (b -> Collection a) -> Collection aSource

module MO.Capture

trace :: String -> a -> a

When called, trace outputs the string in its first argument, before returning the second argument as its result. The trace function is not referentially transparent, and should only be used for debugging, or for monitoring execution. Some implementations of trace may decorate the string that's output to indicate that you're tracing. The function is implemented on top of putTraceMsg.