lambda calculus: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
A [http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query=lambda+calculus efinition] of lambda calculus. | |||
What looks to be a [http://www.csse.monash.edu.au/~lloyd/tildeFP/Lambda/Ch/ ecent intro to lambda calculus]. | |||
[[jbocre: John Cowan|John Cowan]] [http://balance.wiw.org/~jkominek/lojban/9411/msg00114.html nce explained lambda calculus], briefly, on the Lojban list. | |||
[http://users.info.unicaen.fr/~tlebarbe/Linguistics_Lexicon/ll_l.html#lambda-operator] is a very brief discussion of lambda calculus as pertains to linguistics. | |||
---- | |||
Nick's stuff posted to the list: | |||
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 [[jbocre: Computer Science|Computer Science]]). But in itself, it's | |||
just like [[jbocre: programming|programming]] (precisely *because* it is the theoretical guts of | |||
[[jbocre: Computer Science|Computer Science]] (along with two(?) other equally valid and equally powerful forms of computation] | |||
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. |
Revision as of 16:57, 4 November 2013
A efinition of lambda calculus.
What looks to be a ecent intro to lambda calculus.
John Cowan nce explained lambda calculus, briefly, on the Lojban list.
[1] is a very brief discussion of lambda calculus as pertains to linguistics.
Nick's stuff posted to the list:
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 (along with two(?) other equally valid and equally powerful forms of computation]
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.