Perl 6 Summary for 2004-04-26 through 2005-05-03
All~
Welcome to another weeks summary. This week I shall endeavor not to
accidentally delete my summary or destroy the world. So here we go with
p6c.
Perl 6 Compilers
implicit $_ on for loops
Kiran Kumar found a bug in pugs involving " for " loops which use $_ but
don't iterate over it. Aaron Sherman and Luke Palmer confirmed the bug.
No word as to its final status, but given the rate of development of
pugs...
<http://xrl.us/fyof>
Pugs Darcs trouble
Glenn Ehrlich noticed that pugs's darcs repository wasn't getting
updated. Sam Vilain explained that occasionally a daemon needed to be
kicked.
<http://xrl.us/fyog>
Memory Game v0.2
B�RTH�ZI Andr�s announced the release of the latest version of Memory.
He also put out a call for 85x75 pixel photos for the next version.
<http://xrl.us/fyoh>
Haddock for Pugs
Stuart Cook decided that the easiest way for him to understand Pugs
internals was to provide better documentation. To that end he started
working with haddock to automatically generate cross linked
documentation for pugs. He even met with some success.
<http://xrl.us/fyoi>
"/haskell.org/haddock/" in http:
" is export " trait
Garrett Rooney wondered why the " is export " trait appeared to do
nothing in Pugs. Stevan Little explained that it was just a place holder
which, while it parses, does nothing semantically yet.
<http://xrl.us/fyoj>
Pugs 6.2.2
Autrijus proudly announced the release of Pugs 6.2.2. It features a
great many changes. High on that list is a great number of speed ups and
thread safe, dead lock free internal storage.
<http://xrl.us/fyok>
Pugs on Cygwin
Rob Kinyon noticed that Pugs was having trouble on Cygwin. He has made
some headway rectifying the situation, although work remains.
<http://xrl.us/fyom>
Pugs TODO model
Stevan has put some more thought into the TODO model for Pugs. His
latest suggestion, annotating todo tests with a flag indicating why they
are not passing, seems a little less hackish then the last one and
received general support.
<http://xrl.us/fyon>
Parrot hiding inside Pugs
Autrijus wanted to embed the newly released PGE. PGE is written in PIR
which runs on Parrot. So, Autrijus decided to embed Parrot into Pugs. He
also posted an interesting link to JHC as a possible bootstrap solution.
<http://xrl.us/fyoo>
"/repetae.net/john/computer/jhc/jhc.html" in http:
new PGE released
Maybe I should have mentioned this first... Patrick R. Michaud released
a new version of the Parrot Grammar Engine. It is written entirely in
PIR and generates PIR code. It has many features but not enough tests...
<cough> hint </cough>
<http://xrl.us/fyop>
Parrot
Monthly Release?
Jared Rhine wondered the monthly releases included April. Chip announced
that April's release would be slushier then most, but would start on the
fourth.
<http://xrl.us/fyoq>
<http://xrl.us/fyor>
t/op/debuginfo.t failure
Fran�ois Perrad noticed a failure in with debuginfo. Leo pointed out
that it was an issue of flushing output handles. Francois provided a
patch (well actually two). Warnock applies to the second.
<http://xrl.us/fyos>
ParTcl Happy?
Will Coleda thought that ParTcl's GC bugs were finally fixed. Leo burst
his bubble. Apparently these GC bugs can disappear and reappear
according to sun spot activity.
<http://xrl.us/fyot>
segfault in load_bytecode
Nick Glencross submitted a patch fixing a segfault in load_bytecode.
Jens pointed out that it should use real_exception instead of
internal_exception. chromatic offered to write the test. No official
committed message though...
<http://xrl.us/fyou>
large PackFile tinker
Leo implemented a change in the interpreter PackFile structure which has
been under discussion for a long time. Unfortunately, it has the
potential to break a lot of JIT stuff. Tests and fixes would be greatly
appreciated.
<http://xrl.us/fyov>
PMC inheritance issue
Nicholas Clark was having some trouble with his Perl5 PMCs. Later he
posted a "mea culpa" email, but Leo provided some useful pointers
anyway.
<http://xrl.us/fyow>
RT cleanup
Bernhard Schmalhofer cleaned out an old ticket from RT.
<http://xrl.us/fyox>
RFC assign Px, Py
Some time ago, Leo requested comments on the semantics of assign. Brent
'Dax' Royal-Gordon tried to de-Warnock the thread with his support. He
also suggested a clone operator.
<http://xrl.us/fyoy>
NULL in real_exception
Nicholas Clark was getting bitten by a NULL pointer deref in
real_exception. Leo pointed him toward the correct approach.
<http://xrl.us/fyoz>
unary operator overhaul
Having finished overhauling the infix operators, Leo set to work
updating the unary operators to provide variants which allocate their
results.
<http://xrl.us/fyo2>
die die, die!
Leo announce that he was removing the " die " opcode and adding a Bruce
Willis opcode in its place. Unlike Mr Willis, the " die_hard " opcode
actually " died " relatively easily and has been renamed to just " die "
out of popular demand.
<http://xrl.us/fyo3>
core dump with computed goto core
Nick Glencross found a core dump with he computed goto core. Leo
explained that it was caused by a hackish attempted optimization. He
also fixed it.
<http://xrl.us/fyo4>
ignore generated files in SVN
Juergen Boemmels made SVN ignore some .so files. Leo asked if it could
also be made to ignore .rej and .orig files.
<http://xrl.us/fyo5>
DYNSUPER issues
Nicholas Clark found that DYNSUPER did not work well with his dynamic
classes. Leo provided a suggestion for something to try and also
suggested a " super " vtable call.
<http://xrl.us/fyo6>
MMD type info
Autrijus wondered how the type info for MMD was carried around in
Parrot. Leo provided answers.
<http://xrl.us/fyo7>
imc http server
Markus Amslser wanted to write a tiny webserver in imc. This led to the
discovery of that the binary to ascii transcoding is absent. Leo
suggested several possible solutions.
<http://xrl.us/fyo8>
Ponie's use of PMC flag bits
Nicholas Clark asked how best to use the 8 private bits of PMC in Ponie.
His initial thought was to mark type with it. Leo suggested that adding
the type to the flag bits was unnecessary as one can usually just call a
vtable or MMD function directly and the type will get worked out.
<http://xrl.us/fyo9>
built in MMDs as methods
Leo added support for calling built in MMDs on objects as methods.
<http://xrl.us/fypa>
unary and infix ops update
Leo posted a summary and TODO for his overhaul of opcodes that return
new results. Jerry Gay and Bob Rogers helped fill out the corners. Bob
even provided some tests.
<http://xrl.us/fypb>
Parrot and ref counting
Robin Redeker wondered why Parrot had decided to go with a non ref
counting GC. Dan Sugalski took responsibility for the decision and
explained his motivations. They are essentially simpler, cleaner,
faster. You can get a more detailed answer from reading the thread or
Dan's blog post on GC from way back when.
<http://xrl.us/fypc> -- the thread
<http://xrl.us/fypd> -- Dan's Blog
Squawks of the Parrot: What the heck is: Garbage Collection
deprecate fast_call?
Leo mused that he would like to deprecate the fast_call PIR construct.
No one squawked, so I would call them officially deprecated...
<http://xrl.us/fype>
Win32 thread primitives
Vladimir Lipsky and Leo went back and forth a few times working out
thread primitives for windows. I am not sure what state they finally
reached.
<http://xrl.us/fypf>
call syntax abstraction
Leo posted a proposal for a calling convention abstraction. No comments
yet, but it has not been up for long.
<http://xrl.us/fypg>
tailcalls in PIR
Patrick R. Michaud wondered if tailcalls and tailmethods were
implemented in yet. Leo provided a few pointers. Bob Rogers suggested a
nice syntax for it, which Leo implemented.
<http://xrl.us/fyph>
vtables in extend.h
Nicholas Clark noted a need for vtables in extend.h. Leo agreed that
they should be auto generated. chromatic eagerly requested the chance to
write the perl code that does this auto generation.
<http://xrl.us/fypi>
s/BAUILOUT/BAIL_OUT/
Michael G Schwern announced that Test::Builder was removing BAILOUT in
favor of BAIL_OUT. He admitted that a deprecated BAILOUT would remain,
but be undocumented. At some point we should update.
<http://xrl.us/fypj>
Perl 6 Language
Anonymous Roles and closures
Aaron Sherman wondered if he could generate anonymous roles that are
also closures. It made my head hurt. People seem to think it can be done
though.
<http://xrl.us/fypk>
Peter Piper picked a hash
Ingo Blechschmidt wondered what pick would return when called on a hash.
Rod Adams suggested that it would return a pair. Larry thought that
would be a good idea, but might be difficult to implement.
<http://xrl.us/fypm>
all(junctions, bad subjects, indecision)
Joshua Gatcomb found that he could use junctions to quickly answer
questions but not provide specifics. Sadly , he is not the first person
to have this problem. Junctions naturally provide boolean operations but
do not naturally explain what motivated that answer. Perhaps they should
be thrown out along with the axiom of choice... After all, do we really
need a basis for ALL of our vector spaces?
<http://xrl.us/fypn>
" is rw" a no-op on references?
Ingo Blechschmidt wondered if " is rw " didn't do anything for
references as you can still modify the value to which they refer. Juerd
answered basically yes.
<http://xrl.us/fypo>
complex number package
Jonathan Lang was wondering about creating a complex number package.
Including returning junctions of values for roots of unity.
Unfortunately these lists can be quite large, even infinite. Thus he was
wondering if he could use lazy junctions. Thomas Sandla� conjectured
that he could by the "law of laziness preservation".
<http://xrl.us/fypp>
auto-threading of junctions and threads
Aaron Sherman worried that the auto-threading of junction would actually
run in separate threads. This is most assuredly not the common case,
although some warped soul could implement it that way.
<http://xrl.us/fypq>
context of indices
Autrijus asked what context " want " would provide when used as an
index. Larry provided answers.
<http://xrl.us/fypr>
Sun's Fortress
Autrijus posted a link to a next-generation computer language from fun
called Fortress then he went on to ask about parameterized types, tuple
types, and block labels. Bad Autrijus! Make summarizers lives hard...
Then we have to punt like this rather than try to extract the three
different threads at once.
<http://xrl.us/fyps>
restricting variable scopes with while
Joshua Gatcomb wanted to know how he could restrict the scope of
variables used in the conditionals of his while statement to the loop.
This led to some discussion about the implementation of while as a macro
or some other beast. Larry began to ponder the submacro...
<http://xrl.us/fypt>
FIRST, LAST et al support in pugs
David Christensen decided to try and add support for FIRST, LAST blocks
and the like into Pugs. This led him to p6l with some questions about
traits which are closures. Answers and suggestions were provided.
<http://xrl.us/fypu>
junctions of classes
Ingo Blechschmidt wondered how junctions of classes would act. The
consensus seems to be that they act as type specifiers of a sort,
restrict whatever can be put into the variables they describe.
<http://xrl.us/fypv>
subtype declarations
Luke Palmer wondered what exactly subtype declarations provided and
suggested jettisoning them. Larry was not convinced.
<http://xrl.us/fypw>
labels on blocks
Stevan Little wondered if there was some way to attach labels to blocks.
Discussion ensued, including a comment from Larry that it won't need to
be redone.
<http://xrl.us/fypx>
open and pipe
Gaal Yahas proposed a basic open and pope built in for discussion.
Discussion followed. Larry mentioned that io (from io all) is "pretty
much" blessed.
<http://xrl.us/fypy>
is if function?
Juerd wondered if " if " as a function had unintended consequences.
Fortunately, " if " is not a function, it is a statement level
construct.
<http://xrl.us/fypz>
junctions in use statements
Juerd wondered if he could say " use strict & warnings ". Larry
explained that there were parsing problems with it and possibly limited
utility, but has not officially rules it out either as they can be
worked around.
<http://xrl.us/fyp2>
.foo() == one($_.foo(), $?SELF.foo())
This great quandary continues. This week Larry is leaning towards to "
.foo() == $_.foo() " camp. But nothing is yet sealed... He also
suggested $^ as being equivalent to $?SELF (which I really like). Time
will tell how this one will work out. My prediction is that the argument
will rage on until Pugs is ready to implement it and needs a definitive
answer... then it will change a few more times.
<http://xrl.us/fyp3>
type system questions
Autrijus asked a few questions about the type system and at which times
it did what things. Larry provided some answers.
<http://xrl.us/fyp4>
The usual footer
To post to any of these mailing lists please subscribe by sending email
to <[EMAIL PROTECTED]>,
<[EMAIL PROTECTED]>, or
<[EMAIL PROTECTED]>. 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 [EMAIL PROTECTED]
<http://donate.perl-foundation.org/> -- The Perl Foundation
<http://dev.perl.org/perl6/> -- Perl 6 Development site
<http://planet.parrotcode.org/> -- Parrot Blog aggregator