definition: |
o4 :: (Data a, Data b, Data c, Data d) => Observer a -> Observer b -> Observer c -> Observer d -> String -> (a -> b -> c -> d -> e) -> a -> b -> c -> d -> Label -> EventID -> [EventID] -> e o4 observeA observeB observeC observeD constrStr constr x1 x2 x3 x4 label parent preds = unsafePerformIO $ do (eventID,newPreds) <- recordEvent label (Value 4 constrStr) parent preds return (constr (observer observeA 1 x1 label eventID newPreds) (observer observeB 2 x2 label eventID newPreds) (observer observeC 3 x3 label eventID newPreds) (observer observeD 4 x4 label eventID newPreds)) |
demand: |
no demanded arguments |
deterministic: |
possibly non-deterministic operation |
documentation: |
-- An observer combinator for constructors of arity 4. |
failfree: |
<FAILING> |
indeterministic: |
might be indeterministic |
infix: |
no fixity defined |
iotype: |
{(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) |-> _} |
name: |
o4 |
precedence: |
no precedence defined |
result-values: |
_ |
signature: |
(Prelude.Data a, Prelude.Data b, Prelude.Data c, Prelude.Data d) => (a -> String -> Prelude.Int -> [Prelude.Int] -> a) -> (b -> String -> Prelude.Int -> [Prelude.Int] -> b) -> (c -> String -> Prelude.Int -> [Prelude.Int] -> c) -> (d -> String -> Prelude.Int -> [Prelude.Int] -> d) -> String -> (a -> b -> c -> d -> e) -> a -> b -> c -> d -> String -> Prelude.Int -> [Prelude.Int] -> e |
solution-complete: |
operation might suspend on free variables |
terminating: |
possibly non-terminating |
totally-defined: |
possibly non-reducible on same data term |