Doing it better 1999-08-02 a ### From Reuben. > I'm afraid of playing so much I never do any work. You can do both at the same time: much of my work on Forth has been both (e.g. my work on my Forth compiler as part of my part II project, my recent brush with embeddable Forths). Similarly, I have used my PhD research to get experience in porting, writing compiler backends, literate programming, a really thorough knowledge of C, and use of lex and yacc (remember Gnat?), not to mention skeins and skeins of little bits of knowledge about things that have absolutely nothing to do with my research. Using a new tool in a simple way to do something you had to do anyway is an excellent way to learn the tool while still Getting Things Done. > Of course, part of our disorganisation is that we are not working > together. I think our main priority is to write and agree a proposal which > explains what we are trying to achieve, and how we are going to achieve > it. It should then break down the task into things that need to be > proved and implemented, and identify the important considerations that > affect each, and their inter-dependencies. Basically, we have to behave > like engineers, otherwise we'll never get anything done. Of course, that > might spoil the fun... I'm very much in favour of this. I have some ideas: 1. A portable execution environment (based on my one-file-of-C threaded code interpreter?) 2. A VM design (based on your recent work?) 3. A framework for languages (starting with my minimal Forth/Lisp/context-oriented-programming system, then building a system for specifying languages on top of that?) 4--N-1. OS/application support, which should be based on the Java AWT model of maximum portability by having a very thin interface to the host OS. N. Our own OS which is really just the hardware abstraction layer needed by Tau on any platform. This allows "Thin Tau". One attractive option might be to start with Linux and gradually strip things out (in much the same way that developing 4--N-1 will allow us to replace the components we use to build Tau with bits of Tau itself (compilers, editors &c.). The whole thing must remain open, a) because closed systems are silly; b) because it's much easier to develop when you can use production-quality "outside" tools to do the work. -- http://sc3d.org/rrt/ | certain, a. insufficiently analysed