Front page | perl.perl6.compiler |
Postings from November 2004
Perl 6 Summary for 2004-11-15 through 2004-11-22
From:
Matt Fowles
Date:
November 22, 2004 20:25
Subject:
Perl 6 Summary for 2004-11-15 through 2004-11-22
Message ID:
f2601a7f041122202536fb36d9@mail.gmail.com
Perl 6 Summary for 2004-11-15 through 2004-11-22
All~
Welcome to yet another summary. Although Aliya is present for this
summary, I think the unnamed gecko with its tongue out will be the one
who is helping to bring it to you, aided of course by Nicola Conte and
Massive Attack. Without too much further ado, I give you Perl 6
Language.
Perl 6 Language
return values from a substitution
Nicholas Clark wondered what kind of return value the s/// operator
would return. Larry provided the answer, a match object that does wicked
smart things based on context (Boston is getting to me).
<http://xrl.us/d4hg>
Deep Operators
Matthew Walton wondered about deep operators and return types. No answer
yet, but it is still a little early to call in the awesome forces of
Warnock.
<http://xrl.us/d4hh>
Perl 6 Compiler
The race between google and the compiler is over, and google loses.
badly. While, alas, I do not get a pretty interface, you all get links
from <http://www.nntp.perl.org>. Plus you get a nifty infant grammar
engine to torture.
Parrot Grammar Engine
Patrick R. Michaud (for ever after known as Patrick) released a first
version of the Perl 6 Grammar Engine (P6GE). Some time later, he renamed
it to the Parrot Grammar Engine, as it will by standard in Parrot and
PGE sounds better. He asked for people to poke and prod it. Many people
did with quite some glee. Some work has been done adding it to the
Parrot build and making it uses Parrot's configure/make system. As well
as some cross platform cleanups. Patrick also put out a request for
tests and explained the basic framework already in place. He also
explained his short term plans.
<http://xrl.us/d4hi> -- initial release
<http://xrl.us/d4hj> -- cross platform happiness
<http://xrl.us/d4hk> -- test explanation
<http://xrl.us/d4hm> -- plans
<http://xrl.us/d4hn> -- the great renaming
Synopses and Apocalypses
Larry has managed to persuade <http://dev.perl.org> to host the latest
and most up to date versions of the synopses. Consider the former link
deprecated. Larry also mentioned that this should probably wait a little
while before it hits slashdot. Dan put a desperate plea not to also, as
"I feel obligated to actually *read* the comments on parrot and perl 6
stories on slashdot, at 0".
<http://xrl.us/d4ho>
Parrot
Having fought my way through the lack of google, I can now return to its
calm warm tones and convenient threading.
RT Data Extraction
Will Coleda pointed out that he has the mystical power to extract and
summarize data from RT automatically. Then he asked for suggestions
about how to use this power for good or for awesome.
<http://xrl.us/d4hp> -- the request
<http://xrl.us/d4hq> -- for awesome
Locating Shared Libraries
Adam Warner has some trouble locating shared libraries on Debian. Leo
pointed out that Debian was apparently naming these libraries funny
things. The he added support for symlinks and asked Adam to provide the
appropriate symlinks.
<http://xrl.us/d4hr>
double vs float
Adam Warner was playing around with the Leibniz summation for PI
example. But he could not get it to do more precision than 3.1431591. It
turns out that the print opcode was at fault and that sprintf worked
better. In fact it allows you to print more precision than you actually
have. Ain't life in the floating point world a pain. We should all use
integers where PI is exactly 3.
<http://xrl.us/d4hs>
AIX PPC JIT
The on going thread of three three letter acronyms seems to have finally
run its course. Ending in a climactic upgrade to perl 5.8.5.
<http://xrl.us/d4ht>
New Calling Scheme Proposal
Leo posted a new calling scheme proposal. Dan stomped on hit hard, then
he posted an updated version of PPD03 (calling convenctions). Some time
was spent fleshing out every little corner of the new doc.
<http://xrl.us/d4hu>
Parrot BASIC and perl.org blacklists
Joshua Gatcomb kindly acted as a mediary between the list and Clinton A.
Pierce. Apprently Clinton's domain and ISP have been blacklisted by
perl.org. He would be willing to resume work on it, but he would like
help and/or to be un-blacklisted. No real answer to Clinton's troubles.
On a side note, my old email provider, www.softhome.net, also
occasionally gets blacklisted by perl.org (it seemed to go in fits and
starts).
<http://xrl.us/d4hv>
CVS access for parakeet
Michel Pelletier was wondering if he could get CVS access to the
parakeet language directory now that he has a perl.org username
(michel). Dan said that he had forgotten to mention that he had put in a
request, and he would likely forget to mention when the request went
through.
<http://xrl.us/d4hw>
return with return continuation
In the confusion of what not to change and what to change, the op to
return to the caller by invoking the current return continuation got
lost in the shuffle. After sorting out the fact that Dan wanted it to go
in. Leo added it. It was named returncc for lack of a better name.
<http://xrl.us/d4hx>
Parakeet broken
Jeff Horwitz noted that Parakeet did not quite work. Leo pointed out
that parrot had out flown parakeet and it needed to catch up with the
new eval changes.
<http://xrl.us/d4hy>
deprecation of P0, P1, P2
Leo sent a warning to the list that, as per PDD03, access to the current
continuation and sub should only come from the interpinfo ops. Usage of
P0 and P1 for these things is officially deprecated and soon to be
discontinued. Also, P2 current object came along for the ride later,
which caused troubles with imcc's self macro. Later, he removed the
deprecated things.
<http://xrl.us/d4hz> -- initial warning
<http://xrl.us/d4h2> -- self stuff
<http://xrl.us/d4h3> -- updated warning
<http://xrl.us/d4h4> -- the removal
main is just a sub
Leo has coerced main into looking and acting exactly like any other sub.
Consistency is nice like that.
<http://xrl.us/d4h5>
Continuations, Basic Blocks, and Register Allocation
The thread of the week last week continued strong into early this week.
Slowly but steadily misconceptions of certain summarizers who would like
to remain anonymous got cleared up. Also, later in the week, Bill
Coffman provided a summary of the problems and ideas thus far. We all
eagerly await the resolution.
<http://xrl.us/d4h6> -- the monster thread itself
<http://xrl.us/d4h7> -- Bill's summary
m4 0.0.10
To keep up with the aforementioned eval changes, m4 got some
improvements, thanks to Bernhard Schmalhofer.
<http://xrl.us/d4h8>
light-weight calling conventions
Dan, Leo, and Patrick had an interesting discussion about the speed of
various calling conventions. While BSR/RET beats continuations,
continuations with tailcall optimization beat BSR/RET; however, BSR/RET
with tailcall optimization edges out continuations. In the end, the PGE
will be written calling convention agnostic so as to provide a real
world test for bench marking. Either way, fear the Big Sweaty Russian
(ask Mike Z if you want to know ;-)
<http://xrl.us/d4h9>
NCI signature correction
Last week I incorrectly claimed that the 'd' signature allowed access to
a raw buffer. I was wrong, it was 'b'. Thanks for the catch Bernhard.
<http://xrl.us/d4ia>
void functions don't return things
Andy Dougherty noticed that matchrange.pmc was attempting to return
something from a void function. He supplied a patch, but there seems to
be no response...
<http://xrl.us/d4ib>
perl6 --tree
Gerd Pokorra submitted a patch to fix a problem with perl6 --tree.
Warnock applies.
<http://xrl.us/d4ic>
ResizableIntegerArray needs soda
Patrick requested that someone provide the wonderfully amazing
ResizableIntegerArray pop. Once that is done, PGE should switch from
using a PerlArray to a ResizableIntegerArray. Patches welcome.
<http://xrl.us/d4id> -- pop request
<http://xrl.us/d4ie> -- conversion request
no perldoc => WARNING
James deBoer provided the previously requested patch for doing the right
thing when there is no perldoc present. Leo applied it.
<http://xrl.us/d4if>
broken benchmarks
The great thing about breaking benchmarks is that if you do it right,
you execution time goes from a big number to nearly nothing. It provides
one hell of a speed up. Unfortunately, it also means they don't work.
Alas, such is life. Fortunately Leo provided an explanation if not a
fix.
<http://xrl.us/d4ig>
MMD with native types
Leo voiced his confusion about MMD_ADD_INT. When Leo is confused, I get
worried.
<http://xrl.us/d4ih>
Polymorphic Inline Caches
Leo posted some interesting stuff about PICs and provided some
preliminary bench marks. He also provided a link to the article from
which the idea was drawn.
<http://xrl.us/d4ii> -- Leo's post
<http://xrl.us/d4ij> -- the paper
OS X.2 failures
Klaas-Jan Stol noticed that pmc2c2.pl was failing on his 10.2
installation. He asked for help, but no responsed yet...
<http://xrl.us/d4ik>
inconsistent opcode names
William Coleda noticed that we did not consistently use_underscores or
pushwordstogether. Everyone agrees this is a problem, so we are probably
just waiting on a brave soul who can make the necessary sweeping change.
I think that underscores_won_out.
<http://xrl.us/d4im>
Tcl supports lists
Will Coleda added basic list support to Tcl. Then he threatened to do
more with it. I for one welcome our new list overlords.
<http://xrl.us/d4in>
Build problems on PPC Linux
chromatic (whose name google rudely capitalizes) had some trouble
building parrot on PPC Linux. No resolution yet.
<http://xrl.us/d4io>
new TODO items.
Will Coleda added some new todo items.
<http://xrl.us/d4ip> -- finish split opcode
<http://xrl.us/d4iq> -- remove perl dependancy on split
<http://xrl.us/d4ir> -- add split to Tcl
<http://xrl.us/d4is> -- add \u support to Tcl
Intellectual Property
Tim Brunce asked how Parrot was handling IP concerning. Dan told him
that we have lawyers working up "Real Paperwork" even as we speak. In
the mean time, it is mostly an honor system.
<http://xrl.us/d4it>
1 - 2 == BOOM
Will Coleda found a bug in MMD. Leo took responsibility and submitted a
fix.
<http://xrl.us/d4iu>
escaping strings
Patrick wondered if goes was sitting around that would properly escape a
string into a nice clean form. The answer, yes, use "Data::Escape".
<http://xrl.us/d4iv>
bug in method calling with nonconst keys
Luke Palmer found this bug. Leo fixed it.
<http://xrl.us/d4iw>
underscores on subs
Luke Palmer wondered if subs still had to have _ before their names. Leo
provided the answer: no, and the docs are out of date.
<http://xrl.us/d4ix>
silent effect of opcodes
Leo noted that opcodes with silent effects need a little more special
treament. This morphed into a conversation about the continuation
troubles that have been haunting us all and exceptions too.
<http://xrl.us/d4iy>
IMCC tracing, leaving subs
Will Coleda asked if it would be possible to indicate what routing we
are returning to after a returncc opcode. Leo liked the idea and put in
a quickl hack for it which neads cleanup.
<http://xrl.us/d4iz>
Threads, events, and Win32 (oh my)
Gabe Schaffer continued to explore the problems and approaches to
portable threading with Leo's help. Best of luck guys.
<http://xrl.us/d4i2>
IMCC Register mapping.
Will Coleda noticed a possible optimization with register mapping. Leo
said that it was not that simple, but it would be implemented at some
point in the new register allocator.
<http://xrl.us/d4i3>
Exceptions
Exceptions hurt my head. Especially Dan's description of them. Thus I
will just leave you to read it for yourself, so your head can hurt too.
<http://xrl.us/d4i4> -- Dan's initial post
<http://xrl.us/d4i5> -- Will's troubles
missing Makefile dependencies
Leo noticed that the makefile is not quite right about it dependencies.
This frequently recurs.
<http://xrl.us/d4i6>
JITted vtables for sparc
Stephane Peiry provided some more JIT support for the sparc. Leo applied
the patch.
<http://xrl.us/d4i7>
PGE namespaces and names
Will Coleda, Luke Palmer, Jerome Quelin, and Patrick all worked to clean
up PGE to have its own namespace and consistent naming.
<http://xrl.us/d4i8>
The usual footer
If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl. You might also like to send feedback to ubermatt@gmail.com
<http://donate.perl-foundation.org/> -- The Perl Foundation
<http://dev.perl.org/perl6/> -- Perl 6 Development site
<http://planet.parrotcode.org/> -- Parrot Blog aggregator
-
Perl 6 Summary for 2004-11-15 through 2004-11-22
by Matt Fowles