--- 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