[REBOL] Re: Slashdot REBOL mention
From: joel:neely:fedex at: 2-Nov-2001 10:54
Hi, Romano,
Romano Paolo Tenca wrote:
> Hi, Ladislav
>
> > Rebol can easily handle blocks, which can be basically considered
> > sentences of the language. The interesting consequence of that is,
> > that as opposed to C, Rebol will never have any macro language,
> > because Rebol is a macro language for itself.
> > (Don't you like that?)
>
> Yes, also if, to me, is not clear the true difference between a
> macro and a non-macro language.
>
I'd prefer to say that REBOL doesn't *need* a distinct macro
language.
In a programming language context, I believe it's fair to say that
language X is being *used as* a macro language if one is using it
to
write code that creates source code. This is particularly
relevant
to programming language implementations that (as is typical with
c)
run source code thru a compiler to produce object code when then
is
able to be run.
Languages which can
* interpret (or compile on demand) newly-constructed code, and
* explore and manipulate the run-time representation of their
code,
can serve as their own macro language, thus eliminating the need
for
learning a separate syntax and performing a separate processing
step.
Such languages include LISP and REBOL.
Of course, it's entirely possible to write code (in whatever
language
one wishes) that would construct REBOL source code. In such a
case,
one would be using that other language as a REBOL macro-language
(but without "official" sanction, of course! ;-)
As for the discussion of syntax, I'm working on an article now
that
will address some aspects (and consequences) of REBOL's choice of
lexical-only syntax.
-jn-