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