[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: why is tree-shaking hard?



In article <Ts412c1w165w@sytex.com> smcl@sytex.com (Scott McLoughlin) writes:
>Steven Ritter <sr0o+@andrew.cmu.edu> writes:
>
>> It may be possible to build a Lisp that relies on runtime libraries in
>> this way (and, if so, I hope someone does it) but as of now, Lisp is not
>> practical in a compound-document world.
>> 
>> Steve
>> 
>
>Howdy,
>
>Has anyone done any research on doing this, e.i., splitting Common Lisp
>into a kernel + libraries.  The idea is mentioned/suggested many times
>here on this newsgroup. What goes in the kernel. 

In the Lisp Machine, runtime type checking was driven down into
the hardware level. Each memory word had extra type bits and
all data access (except certain special subprimitives) was 
checked in parallel by the hardware with a trap if the type
was wrong. I think that a standardized data format, runtime type
checking and garbarge collection could be built into the
hardware/operating system level in a language independent way.

There are many proposals for building future operating systems
in a "modular" object oriented way with good object oriented
user interface support. That might eliminate the need for much
of the MCL view/window/menu mechanism.

Most applications can probably live without FRED and the compiler.
Beyond this, I suspect it gets very hard. I would guess that
most implementations are meta-circular and that a kernel+libraries
implementation would be inefficient.

-Chris Eliot


>What goes in the
>libraries. What are the "bootstrap" issues. Is the design better
>facillitated by the addition of more primitives (I'm thinking of
>the SEQUENCES rats nest) specialized to certain data types. How
>is debugging "folded" into a system. Etc. etc. etc. etc. etc. 
>
>If such work has not been done rigourously, maybe someone can squeeze
>a Masters/PhD thesis out of it ;-)  Inquiring minds want to know.
>
>=============================================
>Scott McLoughlin
>Conscious Computing
>=============================================