I finally understand this!
Tue, 04 Apr 2000 17:44:03 +0200
Alan Grimes wrote:
> The biggest problem with the Tunes project, at its current phase, requires
> that contributers be elite computer scientests, rather than mere programmers.
> Unless you can show me one technical word or symbol that has exactly the same
> meaning across all fields of math and science, I propose that we abandon the
> idea of a HLL and instead concentrate on a compiler system that will take
> domain specific languages and turn them into code. =)
IMHO the biggest problem with the Tunes project is that some
contributors don't understand its goals. This because we are in a
different paradigm, *not* because reflection (the main goal of
Tunes) is a concept that only a computer scientist can grasp.
In the past, self-modifying code (a primitive form of reflection)
was quite common, motivated by resource constraints above all. The
problem with self-modifying code is that if not adequately
constrained it's difficult to develop and control.
What means *adequately* constrained? Currently it's hard to
establish. I think that François have stopped the development of
his code for this reason: he is searching a solid and clear base
(a theory of reflection) on which to construct a Tunes-like
system. From a different point of view, Brian is doing the same
with his Arrow System.
Reflection encompass and go well beyond "traditional" compiler
systems for Domain Specific Languages (DSLs). In a context of
DSLs, with a reflective system, you can switch from one
representation (language) of the "code"(1) to other more suitable
for a specific task; all in a coherent framework. This is only an
example of the (potential) power of reflection.
It's not my intention to diminish the importance of DSLs; on the
contrary, I want a system which can catch the full flexibility of
(1) In meta-programming (and reflective) systems there isn't a
clear distinction between data and code.