Basic operations

David E. Manifold tril@bespin.ml.org
Wed, 17 Dec 1997 22:44:36 +0000 (GMT)


On Wed, 17 Dec 1997, Fare Rideau wrote:

> If you mean syntax, we can forget it at first, and just use s-exp.
[...]
> Indeed, before we can start interfacing to the external world,
> and interface programs written in existing languages,
> we must have an internal world and language.
[...]
> Again, you always program using a language;
> the difference is that you can dynamically fit the language
> to the concepts, instead of having a fixed language that
> eventually gets in the way.
> Still, we can try to isolate concepts independently from a particular
> syntactical representation.

I think the word "syntax" and "language" become misleading when used to
describe arbitarily ordered, nonlinear, high level objects.  I imagine
programming in a graphical language, or an interactive text-based
manipulator of internal program structure.  To refer to either one of
these interfaces as a "language" or a "syntax" seems inaccurate.  I feel
required to simply call it "object system" or "metalanguage."
 
> So the question is: what are the *primitive* concepts in Tunes?
>   [possible programming frameworks]
> Note that the least primitives we have, the simpler the initial system,
> as the number of axioms tends to grow exponentially with the number
> of computational primitives that mutually interact.
> But the least primitives we have, the more concepts will have to
> be compound, which will bias coding style towards whichever
> concepts are less costly.

I think the system should provide multiple programming paradigms, for
convenience or algorithms that are difficult to express in one paradigm. 
Multiple sets of axioms can be translated between one set and another. 
Yet, it seems desirable to seek an abstract enough framework to combine
fundamental aspects of all the different paradigms.  We should make a list
of all the completely different programming paradigms as we can, and then
try to unify them in one model -- albeit with different interfaces.

> If you are to start now, my current advice would be to start with something
> much like NuPRL (or perhaps NuPRL itself), but I admit I have to investigate
> the issues more before I can tell: there are too many systems I don't know
> yet.

You have done an excellent job at investigating existing systems and their
capabilities.  But I have decided, for myself anyway, that Tunes is
sufficiently different from anything that can possibly exist anywhere.  If
something close does exist, it is either not free, or not published.  
I am taking a basic logic class starting in January, which I hope will
give me some background.  

David E. Manifold <tril@bespin.ml.org> http://www.pacificrim.net/~dem/
"...there is no such thing as reality.  Reality only exists in someone's
perceptions, attitudes, beliefs...and nowhere else."
"The world's apparent chaos is only a reflection of our own inner turmoil."
--Michael Gerber, _The_E-Myth_