guile-devel
[Top][All Lists]
Advanced

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

trump C#, C++, and Java


From: Tom Lord
Subject: trump C#, C++, and Java
Date: Wed, 12 Jun 2002 13:37:27 -0700 (PDT)

   > Dirk Herrmann

   > One could even have a 'stackless' implementation that allows recursive
   > calls.  IIRC Marius once told me about a publication that dealt with the
   > problem of intermingled C and scheme stacks.  I can't currently find the
   > link, though, sorry.


You probably mean the paper indicated by keywords "MTA" and
"Cheney"(sp?) and author "Henry Baker".

Another relevant one might be keywords "phantom stacks" and
author "Richard Stallman".

More obscure is kws "UUO handler" and author "Guy Steele" -- or
perhaps that's just a section within the rabbit thesis (I forget).

The general pattern of turning cheap calls to expensive calls
ex-post-facto, at run-time, only on demand, is illustrated (not for
stackless but for generational collection of environments) by recent
SCM for generational GC of environments.

Making it tractable to write C code that honors such complex calling
conventions yet has good performance isn't easy at all.  You might
want to write a custom pre-processor or even a whole new language.

This is just one more in a very long list of little details that one
can't quite do portably in (tractable) C or C++ but that are trivial
if done in a translator _to_ C or C++.  A translator can take a simple
function call syntax and translate it into a quite complex calling
convention automatically.

If one is going to go the trouble of building language support for
this sort of thing, one might as well at the same time address a host
of closely related problems such as: safe execution; portable VM;
modern object model; etc.  If one has bad taste, one will invent C#
:-) If one has better taste, one might build a Java, C# and C++ killer
like the (specification stage project) Pico C:

    http://www.regexps.com/devo-meta-x/view-topic/PicoC/IntroTopic


-t




reply via email to

[Prev in Thread] Current Thread [Next in Thread]