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

MO.Util

Synopsis

Documentation

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

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

traceM :: Monad m => String -> m ()

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

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

addressOf :: a -> Word

data Ord a => Collection a

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 b

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

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

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

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

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

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

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

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

includes_any :: Ord a => Collection a -> [a] -> Bool

includes_all :: Ord a => Collection a -> [a] -> Bool

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

shadow' :: Ord a => [Collection a] -> AtomMap a

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

merge' :: Ord a => [Collection a] -> AtomMap a

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

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

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

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.