From nicholas@uci.edu Thu Aug 23 20:34:15 2001 Return-Path: X-Sender: nicholas@uci.edu X-Apparently-To: lojban@yahoogroups.com Received: (EGP: mail-7_3_2); 24 Aug 2001 03:34:15 -0000 Received: (qmail 27798 invoked from network); 24 Aug 2001 03:33:47 -0000 Received: from unknown (10.1.10.142) by l7.egroups.com with QMQP; 24 Aug 2001 03:33:47 -0000 Received: from unknown (HELO e4e.oac.uci.edu) (128.200.222.10) by mta3 with SMTP; 24 Aug 2001 03:33:47 -0000 Received: from localhost (nicholas@localhost) by e4e.oac.uci.edu (8.9.3/8.9.3) with ESMTP id UAA17107 for ; Thu, 23 Aug 2001 20:33:46 -0700 (PDT) X-Authentication-Warning: e4e.oac.uci.edu: nicholas owned process doing -bs Date: Thu, 23 Aug 2001 20:33:46 -0700 (PDT) X-Sender: To: Subject: Lambda calculus Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII From: Nick NICHOLAS X-Yahoo-Message-Num: 10023 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} nicholas@uci.edu -- Miguel Cervantes tr. Jorge LLambias