[Stackless] Ann: Stackless Perl 4.0

Emile van Sebille emile at fcfw.fenx.com
Mon Mar 31 20:45:09 EST 2003


Oh god, is it April already?

--

Emile van Sebille
emile at fenx.com

---------
----- Original Message -----
From: "Christian Tismer" <tismer at tismer.com>
To: "Pythonistas" <python-list at python.org>; <stackless at tismer.com>
Sent: Monday, March 31, 2003 5:29 PM
Subject: [Stackless] Ann: Stackless Perl 4.0


> Dear Python/Perl Community,
>
> Insiders have known this from the beginning, and they were waiting
> for this to happen for much too long time:
>
> Stackless 3.0 has been dead-born from the beginning.
> The new live language is Stsckless Perl 5.0!
>
> This is not due to the nature of Stackless, it is due to the
> nature of Python. There is a better language than Python,
> and its name is PERL!
>
> Python has always been a recursively implemented language.
> Perl has been stackless from the very early days.
>
> My brain has always been thinking the Python way.
> But my heart always was beating the Perl rhythm & $blues.
> Now my time has come, and there is again
>
> A BIG CHANGE OF STACKLESS:
>
> Finally, after all the years of development, it became
> not only natural but also consequent, to abandon the very
> hard way of merging the principles of Stackless Python 1.0
> and 2.0 into 3.0. Instead, I invented Stackless Perl 5.0.
>
> ================================================================
> Stackless Perl 5.0
>
> The implementation was incredibly simple. I just had to drop
> 95 percent of my C implementation for Stackless Python 3.0,
> change the object model, and to invent three new Perl objects.
> These are:
>
> stackless::tasklet
>    (about 20 methods)
> stackless::channel
>    (about 120 methods)
> stackless::continuation
>    (about 4 methods)
>
> The latter is a re-incarnation of an old idea, which was most
> popular in many Scheme dialects, but seems to me most appropriate
> in the Stackless Perl context.
> There are now infinitely countable ways to express new ways to express
> new or existing control structures by Perl continuations. This is an
> incredible, outstanding feature, which clearly contradicts the Python
> "one size fits all" paradigm.
> Or was it "there is only one way to do it"? (What to do, at all?)
>
> Stackless Perl has Default UNIVERSAL methods, for example:
>
> isa(tasklet)
>
>      isa returns true if its object is blessed into a subclass of
tasklet
>
> isa is also exportable and can be called as a sub with two arguments.
> This allows the ability to check what a reference points to. Example
>
>      use UNIVERSAL qw(isa);
>
>      if(isa($ref, 'tasklet')) {
>          #...
>      }
>
> can(become)
>
>      can check to see if its object has a method called become, if it
> does then a reference to the sub is returned, if it does not then
undef
> is returned.
>
> And so on. The number of well-formed examples is so incredible large.
> Isn't that just great! ? Oh, I love it so much. Such a match!
>
> Another very relevant example is the solution to *all* existing PEP308
> proposals: The stackless Perl dynamic syntax parser has been extended
in
> a way that covers every possible PEP 308 alternative to implement
> ternary operators in a completely individual way:
> Every individual is now able to spell her/his own way of understanding
> the myriads of possible solutions to implement the different
> incarnations of $if expr $elif expr $else expr $endif Perl constructs
> and their relatives, in any imaginable and unimaginable perlish way.
> This is of course due to the radical use of continuations, together
with
> dynamic syntax rules.
> I have to admit that this example code took me another two days, and
> three days of theoretically testing every thinkable implementation
> possible.
>
> There is no single way to say it. Just say it. 100 Python people will
> just say "say what?" or "ni!". 10000 Perl people will love and support
> my message. Messias, you did so absolutely right, finally!
> Isn't that amount of love and support worth a paradigm change?
>
> I'm very happy that I became converted to this remarkable
> language in such a short time. It took me only two days to do the
> whole implementation (that is, abandoning almost all of the code).
> I will spend the next six months doing the debugging, and the next
> 10 years doing the porting:
>
> I'm now happy to tell this to all my customers and sponsors:
> After having ported all your code from Stackless Python 1.0 to 2.0
> and almost to 3.0, I now would like to be paid for porting your
> whole Python application to Stackless Perl 5.0. I know you are happy
> with this since you knew from the beginning, that this would be most
> effective in the first place. Sorry for messing with Python for all
> the years. This was a major design flaw, that I realized a few days
> before. This principle of very fast design changes makes Open Source
> so attractive to me.
>
> Downloads are avaliable here: http://stackless.apriperl.org
>
> This was a statement about Stackless Perl 5.0, just an intermediate
> step towards Stackless Perl 6.0, which will make use of the
> outstanding feature of white space overloading with continuations.
> This feature will be presented on the Python/Perl Integration
> marathon sprint session in August 2005 in Luxemburg.
> Please apply early, this is a really small country.
>
> BTW., can any knowleadgeable body please give me a crash course in
Perl
> programming? I would like to be able to produce some testing code, but
> I didn't have the time to RTFM, yet. :-)
>
> cheers -- chris at stackless.apriperl.org
>
> p.s.: This message was intentionally not cross-posted, since most
> readers will be assimilated to the Perl community anyway, the
> sooner or later...
>
> --
> Christian Tismer             :^)   <mailto:tismer at tismer.com>
> Mission Impossible 5oftware  :     Have a break! Take a ride on
Python's
> Johannes-Niemeyer-Weg 9a     :    *Starship*
http://starship.python.net/
> 14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
> work +49 30 89 09 53 34  home +49 30 802 86 56  pager +49 173 24 18
776
> PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3
BF04
>       whom do you want to sponsor today?   http://www.stackless.com/
>
>
> _______________________________________________
> Stackless mailing list
> Stackless at www.tismer.com
> http://www.tismer.com/mailman/listinfo/stackless
>






More information about the Python-list mailing list