CurryInfo: wui2-3.1.0 / HTML.WUI.wCons2

definition:
wCons2 :: (Data a, Data b, Data c) =>
          (a->b->c) -> WuiSpec a -> WuiSpec b -> WuiSpec c
wCons2 cons (WuiSpec wparamsa showa cora reada)
            (WuiSpec wparamsb showb corb readb) =
  WuiSpec (renderTuple, tupleError, const True) showc corc readc
 where
  showc (render,errmsg,legal) nocheck vc | cons va vb =:<= vc =
    let (hea,rta) = showa wparamsa nocheck va
        (heb,rtb) = showb wparamsb nocheck vb
     in ((if nocheck || legal (cons va vb)
            then render
            else renderError render errmsg) [hea,heb], states2state [rta,rtb])
   where va,vb free

  corc wparamsc vc | cons va vb =:<= vc =
    conditionOf wparamsc (cons va vb) &&
    cora wparamsa va && corb wparamsb vb            where va,vb free

  readc env s =
    let [ra,rb] = state2states s
    in cons (reada env ra) (readb env rb)
demand:
arguments 5 6
deterministic:
possibly non-deterministic operation
documentation:
--- WUI combinator for constructors of arity 2.
--- The first argument is the binary constructor.
--- The second and third arguments are the WUI specifications
--- for the argument types.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_,_,_,{WuiSpec},{WuiSpec}) |-> {WuiSpec}}
name:
wCons2
precedence:
no precedence defined
result-values:
{WuiSpec}
signature:
(Prelude.Data a, Prelude.Data b, Prelude.Data c) => (a -> b -> c) -> WuiSpec a
-> WuiSpec b -> WuiSpec c
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term