Re: Concatenative Languages: a New Mailing List

peter_easthope@gulfnet.pinc.com — 2000-05-08 01:34:35

In a message to native-oberon@... at Sat, 6 May 2000
01:09:51 +0200 (MET DST) Sorren Renner said,
sr> I hope that some of you will sign up for the new mailing list

Thanks Sorren. Joy is new me and I will have study it.

sr> ... described at
sr> http://www.latrobe.edu.au/www/philosophy/phimvt/j00syn.html :
sr> ...
sr> Whereas all other functional programming languages
sr> are based on the application of functions to arguments,
sr> Joy is based on the composition of functions. ... and no
sr> environment of name-value pairs.

The Web site gives this simple example of a text in Joy.

2 3 +

2 and 3 certainly appear to be values of arguments and +
appears to be the name of a function. Why is "no
environment of name-value pairs" claimed?

Thanks, Peter E.

peter_easthope@... 48.7689d N, 123.3017d W, 30 m
Recommended reading: http://www.naturalstep.org/

iepos@tunes.org — 2000-05-08 04:08:53

> The Web site gives this simple example of a text in Joy.
>
> 2 3 +
>
> 2 and 3 certainly appear to be values of arguments and +
> appears to be the name of a function. Why is "no
> environment of name-value pairs" claimed?

Hmm... I'm guessing they mean that there is no _dynamic_ environment
of name-value pairs. That is, there are no formal parameters (like "x")
of functions that get bound to different values each time the function
is entered.

It is true that there are static bindings of names to values
(such as the name "+" to the adding program, as your example),
but these for the most part do not change as the program is run.

> Thanks, Peter E.

- "iepos" (Brent Kerby)

wtanksley@bigfoot.com — 2000-05-08 16:19:55

From: peter_easthope@...
>In a message to native-oberon@... at Sat, 6 May 2000
>01:09:51 +0200 (MET DST) Sorren Renner said,
>sr> I hope that some of you will sign up for the new mailing list

>Thanks Sorren. Joy is new me and I will have study it.

Welcome in.

>sr> ... described at
>sr> http://www.latrobe.edu.au/www/philosophy/phimvt/j00syn.html :
>sr> ...
>sr> Whereas all other functional programming languages
>sr> are based on the application of functions to arguments,
>sr> Joy is based on the composition of functions. ... and no
>sr> environment of name-value pairs.

>The Web site gives this simple example of a text in Joy.

>2 3 +

>2 and 3 certainly appear to be values of arguments and +
>appears to be the name of a function. Why is "no
>environment of name-value pairs" claimed?

2 and 3 are certainly the arguments which + evaluates. However, notice two
things: first of all, those arguments are nowhere named (it's all implicit),
and second, those arguments are not tied to the function by any syntax.

Consider the difference between

2 2 +
and
2 dup +

(Dup makes a copy of the top-of-stack, so these two functions have the same
behavior.) As you can see, although + has two explicit arguments in the
first function, it has only one explicit argument in the second one (or
perhaps you could say it has no explicit arguments).

>Thanks, Peter E.

-Billy