Subject: RE: [hackers-il] Re: OS development

From: Chen Shapira <[email-masked]>
Date: Tue, 12 Jun 2001 15:44:06 +0200

> I wrote a lecture about Scheme and Lambda Calculus for the Haifa Linux
> Club:
> 
> http://vipe.technion.ac.il/~shlomif/lecture/Lambda-Calculus/
> 
> (Disclaimer: it was highly criticized by Omer Mussaev, who is 
> one of the
> more knowledgable Schemers around us)

I found the text useful, although more for lambda-calculus than for Scheme.
There are better scheme texts available on-line, but this is the best "intro
to lambda-calculus" I saw.

But, really, learning scheme has nothing to do with OS research.
And lambda-calculus is concidered partially estoric, and very advanced math,
with little connection to anything at all.

In TAU, btw, students are introduced to lambda calculus in their first year,
discrete math course.
Needless to say, I was the only one who liked the idea.

---

From: Shlomi Fish <[email-masked]>
Date: Thu, 14 Jun 2001 05:36:34 +0300 (IDT)

> to lambda-calculus" I saw.

Really? I'm glad you liked it so much. In any case, I only taught enough
Scheme to be able to teach Lambda Calculus with it, not more; so I agree
that it is not a very good Scheme intro.

BTW, did you check out Mark-Jason Dominus' LC in Perl site?

http://perl.plover.com/lambda/

I only scanned through the article, but it doesn't look so bad.

> with little connection to anything at all.

Lambda Calculus is the basis for functional programming, so it is actually
quite important. Lexical scoping (which was in fact introduced in Scheme)
was designed to emulate the behaviour of Lambda Calculus. And later
languages such as Perl 5 and XSL inherited the lexical scoping.

So, lexical scoping could not have been possible without lambda calculus,
and it is very convenient, besides.

This is just a simple example. In fact, learning LC can give one a lot of
insights about functional programming and programming in general.

> In TAU, btw, students are introduced to lambda calculus in their first year,

Very interesting. When I learned Lambda Calculus, I managed to do so only
becuase I used the Scheme behaviour as an analogy, and thought about
executing lambdas as executing functions.

Since in TAU, students are introduced to programming (in Scheme) in their
second semester, it means that they are not yet as ready as they can be to
learn about lambda calculus. I realize LC was invented before there were
computers powerful enough to execute it, but sometimes it is better to
approach a topic based on a future development.

From what Omer Mussaev told me and from my impression, they place a lot of
focus on Lambda Calculus in BGU. But I think even they teach programming
proper, before they teach LC.

> Needless to say, I was the only one who liked the idea.

I can understand why... Introducing LC to someone who doesn't know
programming is like explaining the Theory of Relativity to someone who
isn't familiar with Newtonian physics. Possible, but un-advised.

Regards,

	Shlomi Fish

>
>
> To unsubscribe from this group, send an email to:
> [email-masked]
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>

----------------------------------------------------------------------
Shlomi Fish        [email-masked]
Home Page:         http://t2.technion.ac.il/~shlomif/
Home E-mail:       [email-masked]

A more experienced programmer does not make less bugs. He just realizes
what went wrong more quickly.