[cap-talk] Specs for our 'ideal' language?

Matej Kosik kosik at fiit.stuba.sk
Sun Sep 27 00:39:12 PDT 2009


David Barbour wrote:
> On Sat, Sep 26, 2009 at 11:30 AM, Matej Kosik <kosik at fiit.stuba.sk> wrote:
>> would it be a blasphemy to equate `managed code' with `interpreted
>> code'? Is there any qualitative difference?
> 
> Most 'managed' code is compiled to an intermediate bytecode, and much
> of that is then compiled to native by JIT.
> 
> The old distinctions between 'compiled' and 'interpreted' code have
> been diminishing in utility over the last decade, and will continue to
> do so in the foreseeable future as languages move to a more continuous
> grey-region between compilation and runtime specialization.

Various tricks (like JIT) may:
- improve performance
- decrease the size of the virtual machine
  (e.g. by elliminating the interpreter)
but do they elliminate the virtual machine altogether?

(Note that I do not count as ellimination if the size of the virtual
machine is only partially reduced or if it is linked with the executable
binary).

Perhaps then, `managed code' is then equivalent to `code executed with a
help of a virtual machine (sometimes called as runtime)'.

> Rather
> than focusing on interpreted vs. compiled code, it would be better to
> concern ourselves with which language constraints support
> partial-evaluations, reductions, inlining, and other sorts of
> optimizations typically associated with compilation without overly
> hindering features or productivity.
> 
>>> In combination with concurrency, your memory-safe semantics need also
>>> to handle the case of explicit delete from one thread while another
>>> thread is still utilizing the memory-object.
> 
> I should have also mentioned reentrance, which is also a challenge for
> memory-safety with explicit destruction.

I am not focusing very much on performance. Rather, on elegance of
object-capability security model in certain contexts. I am experimenting
with it in kernel-space and there are some nice comparisons with other
approaches that use other security mechanisms which lead to different
results. I am interested in all the language properties that are related
to creation of software systems that are robust.
-- 
Matej Kosik


More information about the cap-talk mailing list