Subject: Lambda calculus

From: Nick NICHOLAS <[email-masked]>
Date: Thu, 23 Aug 2001 20:33:46 -0700 (PDT)

As an end to obscurantism:

The following described lambda calculus in terms of Perl:

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

In terms of programming, lambda calculus is very easy to explain. You know
formal parameters and actual parameters? Well, the function with just the
formal parameters is a "lambda expression", and the formal parameters are
the "lambda variables":

LAMBDA x . Factorial (x)
{
Factorial = Factorial (x-1) * x
}

What's x? x is an empty slot, of course. Which gets filled by the actual
value you call it with --- the actual parameter.

Factorial(9).

ce'u, it is claimed, corresponds to that lambda variable x. It's just a
formal param, in programming terms. {ka} is a subroutine in the program
that hasn't been called; it's just a piece of code, with no computed
value.

The minute you fill the value in (call the subroutine), it is further
claimed, you no longer have an abstract piece of code, but something
that's computed a value (true or false, in the Logic universe.) This turns
{ka} with {ce'u} (something which isn't true or false) into {du'u}
(something which is true or false.) Nothing with {ce'u} in it, I'd further
claim, can be true or false.

We've been talking about lambda calculus because that's the theoretical
guts of formal semantics (and of Computer Science). But in itself, it's
just like programming (precisely *because* it is the theoretical guts of
Computer Science.)

Now, if the above is *not* accessible to non-programmers, I guess I'm
sorry; programmers and logician-linguists are the only people who are
interested (OK, and some theoretical mathematicians.) So the tutorials
online do tend to assume geekdom.

Then again, Lojban tends to, too. :-)

Er, hope this has helped.

-- 
== == == == == == == == == == == == == == == == == == ==
Nick Nicholas, Breathing {le'o ko na rivbi fi'inai palci je tolvri danlu}
[email-masked] -- Miguel Cervantes tr. Jorge LLambias