Factorial fac where n = 0 fby (n + 1); fac = 1 fby ( fac * (n + 1) ); end
Fibonacci sequence fib where fib = 0 fby ( 1 fby fib + next fib ); end
Total of a Sequence total where total = 0 fby total + x end;
Running average running_avg where sum = first(input) fby sum + next(input); n = 1 fby n + 1; running_avg = sum / n; end;
Prime numbers prime where prime = 2 fby (n whenever
isprime(n)); n = 3 fby n+1; isprime(n) = not(divs) asa divs or prime*prime > N where N is current n; divs = N mod prime eq 0; end; end
Dataflow diagram Quick sort qsort(a) = if eof(first a) then a else follow(qsort(b0),qsort(b1)) fi where p = first a
Data flow diagram --------> whenever -----> qsort --------- | ^ | | | | | not | | ^ | |---> first | | | | | | | V | | |---> less --- | | | | | V V ---+--------> whenever -----> qsort -----> conc -------> ifthenelse -----> | ^ ^ | | | --------> next ----> first ------> iseod -------------- | | | -----------------------------------------------------------
Root mean square sqroot(avg(square(a))) where square(x) = x*x; avg(y) = mean where n = 1 fby n+1; mean = first y fby mean + d; d = (next y - mean)/(n+1); end; sqroot(z) = approx asa err
Hamming problem h where h = 1 fby merge(merge(2 * h, 3 * h), 5 * h); merge(x,y) = if xx
Dataflow Diagram dataflow diagram == Intensionality and Lucid ==