[plt-scheme] The Lambda Calculus behind functional programming
What would your reading list be for the self study, apart from Barendregt?
CS
Matthias Felleisen wrote:
>
> On Aug 29, 2007, at 2:27 PM, Grant Rettke wrote:
>
>> When I tell people that I'm learning Scheme the first thing they ask
>> me is "So have you learned lambda calculus?". I've learned enough to
>> say the words "lambda calculus" and that everyone says that lambda
>> calculus is the theoretical backbone of functional programming; but
>> that is it.
>>
>> The following question is a simple one, it makes no attempt to
>> generalize whether anything is worth learning, I think you get the
>> idea.
>>
>> So to revisit this again, what do you need to learn of the lambda
>> calculus relative to FP?
>
> A working programmer should have seen:
> -- syntax
> -- reductions (eval is a function via Church Rosser)
> -- scope vs de Bruijn indices
> -- beta vs beta-value, normal form [relevant in math] vs value
> [relevant in cs]
> -- basic denotational semantics (typed PCF suffices)
> -- typed lc plus type system, SNF
> -- extended with some amount of fancy type system stuff (say explicit
> polymorphism)
>
> That's approx 10 weeks worth of course material. Or 2 weeks of
> self-study with a one-hour lunch break.
>
>
>> What would you tell folks about who have never looked at FP when they
>> ask you about lambda calculus?
>
> Engineers study calculus and some analysis plus physics so that they
> can build cars, bridges, etc and predict their behavior.
>
> Software engineers study lambda calculus so that they can build small
> software systems (apps, single programmer) and predict their behavior.
>
> -- Matthias
>
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: <http://lists.racket-lang.org/users/archive/attachments/20070830/76e7128a/attachment.sig>