|< -package:mmorph
Assymetric (and therefore probably not bijective) version of
>|< that returns whichever action succeeds but always
uses the right one on inputs.
When a key occurs in both maps, prefer the value from the first map.
See asymptotics of
unionWithL.
O(m*log(n)+n), where m is the size of the smaller set
and n is the size of the larger set.
is one space completely below the other
is one space completely below the other
Check if one quantity is less than or equal to a compatible one
Check if one quantity is less than a compatible one
Operator version of
choose id.
>>> dontPrintInt = LogAction (const (putStrLn "Not printing Int"))
>>> Left 1 &> (dontPrintInt >|< logStringStdout)
Not printing Int
>>> (dontPrintInt >|< logStringStdout) <& Right ":)"
:)
Associative binary choice.
Like
$$ but relaxed to work on correct kinds.
> ordE $$|< zero
Just (ord 0 :: ill-typed # Char -> Int $ Int #)
> zero $$|< zero
Nothing
Warning: just like
:$, this may produce ill-typed
expressions.
Together with
$$**, this function is unused but is useful when
experiment with the source to see the effect of type-corrected on
pruning the search space.
(cf.
$$,
$$**)