# Preliminary Notes...

## Soren Renner — 2000-05-05 20:42:37

    "Your "IF" primitive seems to pop things off the box stack, but I haven't

               seen any primitives that push things on... Does you[r] system have a

               quotation construct like Joy's "[]"s?"

    Yes. It has to have quotation. The question we should decide is whether it needs "define", or actually, where "define" should be. See my previous post.

    I am inclined to take "define" out of the interpreter, remove the dictionary, and code all ops as Oberon procedures.

    "It turns out, though, that 32 stack items is virtually infinite (in the words of a prominent Forth programmer). In general, it's easy to use more; however, in real use, it's very hard."

    So an array is a fine data structure for a stack. Also, since quotations might be quite long, the stack shouldn't be used to construct them.

    "I'd like to build a language which inherited its basic ideas, including a

               simple VM, from Forth; concatenative refinements from Joy (meaning, of

               course, the papers on the Joy website); and a parsing engine like Rebol's.

               Oh, I'd also like static typing and polymorphism.  It would look and act

               largely like Forth; I wouldn't expect, for example, to include garbage

               collection or full-powered quotations (although I would definitely include a

               primitive equivalent).  I'd also like to see a language which started with

               Joy (fully garbage collected, etc.) and added stuff from Forth and other

               languages.

               Ideal would be if both languages wound up looking and acting similar, so

               that we could almost give them the same name without dishonesty.  One, the

               Forth-descended language, could be used when you need precise control of the

               machine (Forth is famous for that); the other could be used when you don't

               need that kind of precision, but instead want the machine to handle details

               like garbage collection for you"

    I second Mr. Tanksley's motion. (Cries of Hear, hear! from the bench would be appreciated.) Permit me to point out that garbage collection is trivial if our language is written in a typesafe, garbage collected language. Some may object that the ultimate goal must be a language written in itself and compiling only to machine code. The person I am thinking of hasn't joined the list yet, though.

    Soren Renner