The Arrow System Philosophy

Kyle Lahnakoski kyle@arcavia.com
Mon, 27 Mar 2000 08:05:16 -0500


This entire Tunes project is EXACTLY what I am doing!

Let me regress for moment on the subject of meta thoughts.  The idea
that someone else can come up with something so similar makes you
wonder.  Is it an idea who's time has come; the ingredients are all
available, the idea just has to be put together.  Is the idea of some
fundamental nature, alluding to some basic universal logic that
transcends human thought; we have just discovered one of those
fundamental ideas.  I find it very interesting. 

The seeds for the idea of a fully self reflective system came from the
Java/Small Talk reflective systems and database theory.  The name is
Database Cruiser.  It WAS just a fully normalized, self-descriptive
database, but it grew to become an OS, a language and a programming
environment (http://www.arcavia.com/rd/dbc-html/index.html).  The
project is meant to be exactly what Tunes means to be.  There are many
concessions that must be made to realize a system in the time I
require.  I hope that all the come to the page realize this.  

I have found it important to make the distinction between "Object Code"
(Tunes LLL?), and Hard Code (Java, C etc) layers.  The Hard layer must
exist to get a minimum functionality with Object Code.  The hard layer
is trying to provide the most basic functionality to get some Object
Code working.  The current sub-project is to debug the Messaging ->
Function Calls -> Dynamic Load and Compile procedure with the Object
Code -> Function static compiler.  I expect all hard code to be replaced
with Object Code once the system is robust enough to self support itself
(e.g. make a C compiler in C).

I have not seen everything on the Tunes page yet.  I have read some of
the larger docs only.  We seem to differ on implementation. 
Technically, it is hard to say we differ because there is little
implementation on your end.  Tunes alludes to having simple
self-descriptive structures to build the whole system with.  I am not
sure if such a method is possible because I have not considered it.  My
method is to generate many 'intuitive' structures that create a large
self descriptive system.  If both methods are equal then my method is
more difficult for initial implementation because of the many structures
that must exist in Hard code before the system can describe itself.  A
quick list would include Classes, Functions, Instructions, Fields,
Attributes, Tables, Databases, Inheritance, Spaces, Dimensions, and
Messages.

I was so close to the Tunes page 2 months ago when I saw the Prism
meta-language project.  I was just a link away.  I am glad I found this
group.


-- 
----------------------------------------------------------------------
Kyle Lahnakoski                                  Arcavia Software Ltd.
(416) 892-7784                                 http://www.arcavia.com