CurryInfo: wui2-3.1.0 / HTML.WUI.wTree

definition:
wTree :: Eq a => WuiSpec a -> WuiSpec (WTree a)
wTree (WuiSpec wparama showa cora reada) =
  WuiSpec (renderList, "Illegal tree:", const True) showTree corTree readTree
 where
  showTree (render,errmsg,legal) nocheck (WLeaf va) =
    let (hea,rta) = showa wparama nocheck va
     in ((if nocheck || legal (WLeaf va)
                             then render
                             else renderError render errmsg) [hea],
         altstate2state (1,rta))
  showTree wparams@(render,errmsg,legal) nocheck (WNode ns) =
    let (hes,sts) = unzip (map (showTree wparams nocheck) ns)
     in ((if nocheck || legal (WNode ns)
            then render
            else renderError render errmsg) hes,
         altstate2state (2,states2state sts))

  corTree wparam (WLeaf va)  = conditionOf wparam (WLeaf va) && cora wparama va
  corTree wparam (WNode tvs) = conditionOf wparam (WNode tvs) &&
                               all (corTree wparam) tvs

  readTree env wst =
    let (altindex,rab) = state2altstate wst
     in case altindex of
         1 -> WLeaf (reada env rab)
         2 -> WNode (map (readTree env) (state2states rab))
demand:
argument 2
deterministic:
deterministic operation
documentation:
--- WUI for tree types.
--- The rendering specifies the rendering of inner nodes.
--- Leaves are shown with their default rendering.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,{WuiSpec}) |-> {WuiSpec}}
name:
wTree
precedence:
no precedence defined
result-values:
{WuiSpec}
signature:
Prelude.Eq a => WuiSpec a -> WuiSpec (WTree a)
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term