>>>>> "Boris" == Boris Schaefer <boris@uncommon-sense.net> writes: Boris> How do you branch without "if"? You make your primitive comparison operators take two thunks: one for the true branch and one for false. if (x < y ) { this-exp } { that-exp } in Java or C becomes (< x y (lambda () this-exp) (lambda () that-exp)) in some if-less lambda-calculus-like language. -- Greg gregs@ai.mit.edu (617)253-5807 Sullivan http://www.ai.mit.edu/~gregs/