definition: |
rnBranchExpr :: [(VarIndex, VarIndex)] -> Renaming (ABranchExpr a) rnBranchExpr ren ys (ABranch (APattern a p zs) be) = let (ys1, zs') = takeVars ys zs zsNoAnn = map fst zs ren1 = zip zsNoAnn zs' ++ filter ((`notElem` zsNoAnn) . fst) ren (ys2, be') = rnExpr ren1 ys1 be in (ys2, ABranch (APattern a p (swapAnn zs' zs)) be') rnBranchExpr ren ys (ABranch l@(ALPattern _ _) be) = let (ys1, be') = rnExpr ren ys be in (ys1, ABranch l be') |
demand: |
argument 3 |
deterministic: |
deterministic operation |
failfree: |
(_, _, _) |
indeterministic: |
referentially transparent operation |
infix: |
no fixity defined |
iotype: |
{(_,_,{ABranch}) |-> {(,)}} |
name: |
rnBranchExpr |
precedence: |
no precedence defined |
result-values: |
{(,)} |
signature: |
[(Prelude.Int, Prelude.Int)] -> [Prelude.Int] -> FlatCurry.Annotated.Types.ABranchExpr a -> ([Prelude.Int], FlatCurry.Annotated.Types.ABranchExpr a) |
solution-complete: |
operation might suspend on free variables |
terminating: |
possibly non-terminating |
totally-defined: |
possibly non-reducible on same data term |