next node: Curry,
prev node: ConstantPair,
up to node: Subsystem General


Control

Signature of Control

List of Import References :
See BOOL
See DENOTATION
See Nat

SIGNATURE Control[data]

$Date: 2010-09-30 18:24:17 +0200 (Do, 30. Sep 2010) $ ($Revision: 616 $)

-- control structure combinators

-- Parameter
SORT data

IMPORT Nat ONLY nat

FUN cond        : (data -> bool) ** (data -> data) ** (data -> data) 
                                                      -> (data -> data)
                -- cond (condition, then, else)
                -- case

FUN while       : (data -> bool) ** (data -> data) -> (data -> data)
                -- while (cond, do)
                -- iteration, first test before first call

FUN until       : (data -> bool) ** (data -> data) -> (data -> data)
                -- until (do, cond)
                -- iteration, first test after first call

FUN for         : nat ** nat ** (nat ** data -> data) -> (data -> data)
                -- for (i, j, do)
                -- iterate j-i+1 times: \\x.do(j, do(j-1, ..., do(i, x) ... ))

FUN iter        : nat ** (data -> data) -> (data -> data)
                -- iter (n, do)
                -- iterate n times

FUN ^           : (data -> data) ** nat -> (data -> data)
                -- notational variant
                -- f^n == iter(n, f)


next node: Curry,
prev node: ConstantPair,
up to node: Subsystem General