I wrote a wee lambda calculus interpreter to test out the book forms. I did cheat a wee bit and added:
def <name> = <exp> ==> substitution of <exp> for <name> before evaluation
if <exp1> then <exp2> else <exp3> fi ==> ((<exp1> <exp2>) <exp3>)
to make things more readable.
I think a few folk have got as far as implementing lists and recursion, but you're the first dynamic type implementer I've come across.
I think lambda calculus is fun. My book is about functional programming, and so isn't much use for theory, for which I recommend Barendregdt's "The Lambda Calculus. Its Syntax and Semantics".
Best wishes
Greg Michaelson
rsrsrs86 3 days ago |
This is uninteresting, because 1) you could just share your prompt: “implement Greg Michaelsons book in racket” 2) you added nothing to it 3) you skipped about everything that is interesting to study when learning the lambda calculus
I wrote a wee lambda calculus interpreter to test out the book forms. I did cheat a wee bit and added:
def <name> = <exp> ==> substitution of <exp> for <name> before evaluation
if <exp1> then <exp2> else <exp3> fi ==> ((<exp1> <exp2>) <exp3>)
to make things more readable.
I think a few folk have got as far as implementing lists and recursion, but you're the first dynamic type implementer I've come across.
I think lambda calculus is fun. My book is about functional programming, and so isn't much use for theory, for which I recommend Barendregdt's "The Lambda Calculus. Its Syntax and Semantics".
Best wishes
Greg Michaelson