future of Python: Stackless, Standard -> fragmentation ?

Alex Martelli aleaxit at yahoo.com
Fri Oct 6 10:58:01 EDT 2000


"Dirk-Ulrich Heise" <hei at adtranzsig.de> wrote in message
news:8rkm43$kre$1 at desig-bs01-s04.adtranzsig.de...
> "Will Ware" <wware at world.std.com> schrieb im Newsbeitrag
> news:G20Dsq.Epp at world.std.com...
> [...]
> > Were it not for the irreconcilable differences between Stackless and
> > JPython, Stackless might have made it into the 2.0 release. The people
who
> > make these decisions (Guido and company at BeOpen) are well aware of
these
> > issues and many more, and have thought them through in much greater
detail
> > than you or I have done. So I'll reiterate the Python community refrain
> > of "in Guido we trust".
>
> Mark Hammond wrote/is writing (?) a compiler that lets Python
> run on this Microsoft VM that runs C#, if i recall correctly.

I think that you do recall correctly (and ActiveState is the
firm financing this effort) except for the detail about a
"Microsoft VM".  The target-code for Microsoft .NET is not
really "a VM": it's a low-level (bytecode-like) intermediate
language, called MSIL, which is normally meant to be finally
compiled to machine code (during the program's installation
on any given machine) although options exist (delaying the
compilation to runtime rather than installation time -- may
save some diskspace, I guess).  There's more, of course (lots
of runtime libraries, conventions for language interop, etc),
but this is the gist.


> I suppose that that VM shares the same disadvantages
> the Java VM has? Does anybody know more? (I suspect

Lots and lots about it has been published.  Apparently,
Microsoft being quite keen on .NET as a multi-language
architecture (quite the opposite of Java's "one language
fits all" attitude), they proved somewhat receptive to
requests for modifications to MSIL & friends during the
months and years which preceded .NET's announcements,
when developers of "oddball" (from a mainstream POV)
languages demonstrated a need.  A specific example I've
seen mentioned is tail-recursion-optimization, which is
crucial for functional-programming languages.

Do remember that Microsoft's Research division includes
such household names (in the advanced-languages world)
as, e.g., Luca Cardelli, of ML and Modula-3 fame... the
MSIL architecture _is_ reportedly such that languages
based on continuations, closure, &tc (Haskell, ML,
Mercury, ...) can use it fruitfully as the intermediate
target-language for their compilers.


> it is the case because Microsoft is kind of imitating this Java VM

While I think it can fairly be said that C# is rather an
imitation of Java (with differences and extensions, to be
sure, but very clearly rooted in it), it doesn't seem to
me that MSIL and friends can be seen as "imitating the JVM".

Whether this allows 'stackless' -- I don't know: I don't
understand enough of stackless' fine details, and not really
in significant depth MSIL, either (I'd be glad to hear more
authoritative opinions from those who DO!).


Alex






More information about the Python-list mailing list