Re: Hacker Language (was Re: Language comparison)
From: | Simon Clarkstone <simon.clarkstone@...> |
Date: | Sunday, January 23, 2005, 18:14 |
(I am also sending this to CONLANG.)
On Thu, 6 Jan 2005 19:00:24 -0800, Sai Emrys <saizai@...> wrote:
> > * returnants - comma from C; semicolon (?) from Smalltalk
> > * set theory
> > * currying
> > * lambda expressions (replace some "illogical" features of English) -
> > lambda calculus
>
> ... huh?
*
I made the word "returnant" up. It expresses something that NatLangs
do automatically (using asterisk prefix here):
boy.see(teacher) -- the action of the boy seeing the teacher
(boy.see(teacher)).go(.home) -- the action of (the action of the boy
seeing the teacher) going to its home (?!)
((*boy).see(teacher)).go(.home) -- (the boy saw the teacher) and the
action of the boy going to his home
(boy.see(*teacher)).go(.home) -- (the boy saw the teacher) and the
action of the teacher going to her home
Smalltalk is a computer language which is ludicrously object-oriented.
*
see Wikipedia:
http://en.wikipedia.org/wiki/Set_theory
*
The idea of lambda calculus is (again) explained in WikiPedia far
better than I could explain here:
http://en.wikipedia.org/wiki/Lambda_calculus
but the basic idea of lambda is that an expression can evaluate to an
(anonymous) function:
e.g. lambda x . x+1
evaluates to the increment function
e.g. lambda x . (lambda y . x + y)
evaluates the add function: the first call to it takes in argument x
and returns another function which takes in argument y and returns the
result
e.g. lambda x . (Jim.x(table, hammer))
evaluates to the function which takes a "verb" and returns the action
of Jim performing that verb to the table with a hammer (useful, eh?)