Overview of Joy (was Concatenative Languages: a New Mailing List)

peter_easthope@gulfnet.pinc.com — 2000-05-08 19:10:09

"iepos" (Brent Kerby) said,
bk> I'm guessing they mean that there is no _dynamic_ environment
of name-value pairs.

Thanks Brent.

A little further on in the overview is this example.

square == dup +

Isn't this the dynamical creation and naming of a function
to square a number.

Another question: Joy says it uses postfix notation. Why is the
above definition not this way.

dup + square ==

Thanks, Peter E.

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

srenner@mail.ru — 2000-05-08 20:18:03

--- In concatenative@egroups.com, peter_easthope@g... wrote:

>
> A little further on in the overview is this example.
>
> square == dup +
>
> Isn't this the dynamical creation and naming of a function
> to square a number.

> Another question: Joy says it uses postfix notation. Why is the
> above definition not this way.
>
> dup + square ==

My understanding is that "==" is part of the metalanguage. It could
also be a dynamic operator, part of the language, that changes the
language. In that case the language would include the metalanguage,
which is called reflection. In a previous post I discussed
implementing "==" ("def") not with a dictionary to map keys (strings)
to values (box chains) but by writing a procedure in the host language
and recompiling the interpreter. Perhaps definitions would appear
before the body of the program. If they appeared in it, the
interpreter state could be saved and reborn in the new interpreter
after the compile. If you look at how M. von Thun uses it you will see
that "==" is metalinguistic.

sr