Örvitinn

aprílgabb trúleysingja og ofurnörda

Ég klikkađi alveg á árlegu aprílgabbi trúleysingja á strikinu ţetta áriđ. Máliđ er ađ ég fór ađ sofa fyrir miđnćtti og ţetta gabb verđur eiginlega ađ fara í loftiđ strax eftir miđnćtti. Birgir reddađi ţví, setti sitt inn ţegar klukkan var ţrjár mínútur yfir miđnćtti.

Ég var viđ ţađ ađ setja inn svar áđan ţar sem ég ćtlađi ađ gefa frat í ţetta hjá honum og lýsa ţví yfir ađ Gvuđ vćri ekki svariđ heldur nýaldarhyggjan enda hefđi ég fariđ til miđils, smáskammtalćknis og í nálastungu um morgunin. Sleppti ţví reyndar ađ taka smáskammtalyfiđ enda virkar ţađ eflaust best ţannig, ef mađur tekur mark á frćđunum

Nennti svo ekki ađ senda ţađ inn ţegar ég var búinn ađ skrifa ţađ. Ţađ gerist stundum. Ţeim fjölgar t.d. greinunum sem ég hef skrifađ inn í ţessa dagbók en lifa ennţá bara sem frumdrög í kerfinu. Koma hugsanlega síđar út.

Ţrjár tilraunir hafa verđir gerđar til ađ gabba mig ţađ sem af er degi. Fyrst sendi Ingunn matarpóst klukkan hálf tólf, matur átti ađ vera snemma í dag ţar sem kokkurinn ţyrfti ađ skjótast út í hádeginu. Nokkrir starfsmenn skokkuđu upp á efstu hćđ.

Eftir mat fékk ég svo prívat póst frá Mike Wallir producer frá Simon&Schuster ţar sem hann bađ mig um ađ rölta upp og rćđa viđ sig um stöđuna ţar sem hann er ađ fara til BNA í dag. Ég sendi honum póst ţar sem ég sagđist ekki falla fyrir svona djóki (meira í gríni en alvöru) en tók svo eftir ţví ađ enn og aftur fór fólk ađ týnast upp á efri hćđir. Allir starfsmenn höfđu semsagt fengiđ svona póst og Mike kannađist ekkert viđ máliđ. Ég gruna kerfisstjórann.

Í morgun ţegar ég kom til vinnu fékk ég svo nördalegasta aprílgabbiđ. Christian Tismer höfundur stackless python sendi ţennan póst á stackless póstlistann. Ţetta er semsagt aprílgabb ofurnördans.

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@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...

dagbók