Generated: Saturday, June 9, 2007, 14:58:22   A SchemeDoc Manual 
The program prog3
Kurt Nørmark
Source file: /user/normark/scheme/examples/tutorial/schemedoc/man/../prog3.scm
This is a Scheme file with a few simple functions. The functions are written and organized with the purpose of demonstrating the LAML SchemeDoc tool.

1 The fac and fib functions. 


fac 
Form  (fac n) 
Description  Calculate the factorial of n. 
Precondition  The integer must be nonnegative. 
Parameters  n  An integer 
Returns  n! 

fib 
Form  (fib n) 
Description  Calculated the fib function. Notice that this is a very inefficient implementation. 
Precondition  The integer must be nonnegative. 
Parameters  n  An integer 
Returns  The n't fiabonaci number. 

2 A couple of higher order function. 
These functions are useful in many situations. 

negate 
Form  (negate p) 
Description  A higher order functions which negates the predicate p. Negate accepts a predicate and returns the negated predicate. 
Parameters  p  a predicate  p: type > boolean for any type. 
Returns  A predicate that returns the negated value. Thus (not ((negate p) x)) = (p x) for all x. 

compose 
Form  (compose f g) 
Description  A higher order function that composes two functions. Returns a function which applies f on g. Both f and g are supposed to take a single argument. 
Parameters  f  A function of a single parameter. 
g  A function of a singe parameter. 
Returns  f ° g 

3 List selector functions. 
The functions in this category are alternatives for car, cadr, etc. 

first 
Form  (first lst) 
Description  Return the first element of a list 
Parameters  lst  A list 
Returns  the first element of the list 

second 
Form  (second lst) 
Description  Return the second element of a list 
Parameters  lst  A list 
Returns  the second element of the list 
