Sketch
Tom Novelli
tnovelli at gmail.com
Wed Aug 1 16:27:53 PDT 2007
Keith Poole wrote:
>
> Tom, I've been reading through your ideas and I think it's pretty
> decent as a high-level system architecture, I've got a few
> questions/comments:
>
> 1. IR - if you're planning to use a variant of Lisp as the runtime/vm
> then would Lisp expressions become the IR (and possibly the HLM) layer?
>
Lisp/Scheme is convenient for experimenting with parser/compiler
techniques... we'll answer that question when we've done enough
experimentation.
If Lisp/Scheme proves adequate, we'd eventually write our own minimal
Lisp variant that addresses problems with Lisp and Scheme as we know
them. CROMA might be what we're looking for, but AFAIK it's "under
wraps".. maybe it's all hype :-)
> 2. I think it would be useful to integrate C into TUNES, simply
> because of the vast amount of software available in that language
> (though it could be contained in a 'sandbox' environment like
> Javascript is in browsers)
>
We have a C (to HLL) Translator subproject that hasn't even been
started. I could be wrong, but I think this would be semi-automatic at
best, and not very useful. It's an abstraction inversion.
However, we can interface with shared libraries, ".o" object files, and
of course, a host OS written in C. (See the O'TOP subproject, on which
we've made significant progress, but poorly documented.) We'd "sandbox"
C programs in the usual fashion, by running them in separate processes
with MMU hardware protection. We could even "embed" a POSIX kernel in
Tunes, the way Cygwin embeds it in Windows... it's a big undertaking,
but it could be done.
>
> 3. The 'Compembler' - would this be a set of high-level assemblers,
> one for each architecture, or a generic one which produces different
> code for each processor?
>
I imagine there'll be processor-specific assemblers, cpu-family layers,
and a generic higher-level layer or "portable assembler" -- like C
without all the baggage!
> 4. Reconciling the type systems - will be interesting :)
>
> What do you think the first steps towards this should be?
>
> Keith
>
All I know is that mathematicians were arguing about type theory long
before computers came to be, and the debate continues. Haskell, OCAML
and Python have pretty well-developed type/class systems, but they're
not without problems. For starters I'd look into type inference &
annotations in CMUCL/SBCL, RPython, Javascript 2.0...
Thanks for the questions.
- Tom
More information about the TUNES
mailing list