lambda calculus: Difference between revisions

From Lojban
Jump to navigation Jump to search
mNo edit summary
 
mNo edit summary
Line 1: Line 1:


Words should be sorted alphabetically, disregarding case and whitespace.
A [http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query=lambda+calculus efinition] of lambda calculus.


Another thing I've been considering is to make hyphens insignificant. This would make it possible to have free morphs as keywords, and have them show up in the reverse dictionary in sensible positions. For example, it should be possible to look up -ness, and find ka.
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.