definition:
|
oFun :: (Data a, Data b) => Observer a -> Observer b -> Observer (a -> b)
oFun observeA observeB f label parent preds arg =
(unsafePerformIO $ do
(eventID,newPreds) <- recordEvent label Fun parent preds
return (\x -> (observer observeB 2
(f (observer observeA 1 x label eventID newPreds))
label eventID newPreds)))
arg
|
demand:
|
no demanded arguments
|
deterministic:
|
possibly non-deterministic operation
|
documentation:
|
-- Construct an observer for functions where the argument and result might be
-- a free variable.
|
failfree:
|
<FAILING>
|
indeterministic:
|
might be indeterministic
|
infix:
|
no fixity defined
|
iotype:
|
{(_,_,_,_,_,_,_,_,_) |-> _}
|
name:
|
oFun
|
precedence:
|
no precedence defined
|
result-values:
|
_
|
signature:
|
(Prelude.Data a, Prelude.Data b) => (a -> String -> Prelude.Int -> [Prelude.Int]
-> a) -> (b -> String -> Prelude.Int -> [Prelude.Int] -> b) -> (a -> b)
-> String -> Prelude.Int -> [Prelude.Int] -> a -> b
|
solution-complete:
|
operation might suspend on free variables
|
terminating:
|
possibly non-terminating
|
totally-defined:
|
possibly non-reducible on same data term
|