Class Summary |
Bag |
This is a collection wrapper useful for preparing argument lists
for apply. |
FP |
Implementation of the FP system described in section 11 of
"Can Programming be liberated from the Von Neumann Style"
http://www.stanford.edu/class/cs242/readings/backus.pdf
Definitions for functions and functional forms are quoted from
there using the papers notation as far as possible ... |
Function |
|
LP |
LP collects some utilities for processing lists in a LISP like fashion in order
to support taking over existing LISP code |
LP.ConsCell |
A functional implementation of an (immutable) cons cell where values for
car and cdr are captured in a closure when the cons cell function is created. |
LP.ConsPair |
Use a ConsCell to implement Pair |
LP.EmptyConsCell |
|
LP.List |
|
LZ |
Tools for lazy evaluation based on SICP Section 3.5 (part of the doc is
quoted from there ...) |
LZ.Stream |
|
MAP |
Tools to adapt maps to functions. |
NUM |
A collection of static tools for numerical computations |
NUM.Binary |
Class to simplify the definition of numerical with two argument. |
NUM.BinaryTest |
|
NUM.Unary |
Class to simplify the definition of numerical with one argument. |
PF |
PF is a name space for static components in support of pure functional programming. |
Pred |
|
Pred.And |
|
Pred.BinComp |
|
Pred.BinPred |
|
Pred.Combination |
|
Pred.Not |
|
Pred.Or |
|
Stream |
Stream class implements Iterator and supports lazy evaluation
insofar as next() may be implemented to calculate the next element
on demand. |
Stream.Filtered |
|
Stream.Lazy |
|
Stream.Range |
|
Stream.SimplePair |
This would be called an cons cell in Lisp:
(cons a b) = new Pair(a, b)
(car (cons a b)) = a = (new Pair(a, b)).first()
(cdr (cons a b)) = b = (new Pair(a, b)).second() |