(Proxying for Ann Barcomb, our new summarizer. :-))
The Perl 6 summary for the weeks of 2006-02-13 through 2006-02-28
Summary updates
Starting with this update, Ann Barcomb will be writing the Perl 6
summaries. Her plan is to release new issues on Sundays, initially
dealing with the backlog at a rate of one month per week, and
eventually
returning to posting a summary of the previous week on a weekly
basis.
The proposed schedule is:
* July 9th: February (from 13th)
* July 16th: March
* July 23th: April
* July 30th: May
* August 6th: June
* August 13th: July
* August 20th: August (till 19th)
* August 27th: Resume normal schedule
Compiler (perl6-compiler)
Making Pugs aware of Parrot
Peter Schwenn requested a concrete example settings to make Pugs
aware
of Parrot. Beau Cox replied with step-by-step instructions.
<http://xrl.us/oxoa>
Difficulty installing Pugs on Cygwin
Syed Uzair Aqeel reported a Cygwin problem with finding package
plugins
when creating a makefile. Audrey made a suggestion.
<http://xrl.us/oxob>
Installation failure of Pugs revisions 9188 and 9204
Beau Cox reported that the 9188 revision of Pugs failed to pass
smoke
tests and install, and that the problem persisted with Pugs 9204
even
after a reinstall of ghc and Haskell. Beau wrote a makefile
patch, which
also worked for chromatic, who had experienced the same problem.
<http://xrl.us/oxoc>
Internals (parrot-porters)
Reading data from STDIN
Earlier, it was asked how to read data from STDIN for a PASM
application. Dan Sugalski replied.
<http://xrl.us/oxoe>
Questions on embedding Parrot
chromatic had some questions on embedding Parrot. Alin Iacob
responded
with a reference to a post by Brent Dax, which addressed some of
chromatic's questions.
<http://xrl.us/oxof>
Reason behind argument choice for "{get,set}_<type>_keyed_intvtable"
Leopold Toetsch wanted to know if there was a reason get/set
keyed_intvtable methods take "INTVAL*" instead of "INTVAL". It was
suggested that some functions need more than one keyed item, and
the
remaining follow the same pattern for symmetry.
<http://xrl.us/oxog>
imcc segfault
Jürgen Bömmels reported an imcc segfault, which Leopold Toetsch
answered questions and resolved the ticket (#20839). Others also
made
suggestions.
<http://xrl.us/oxv8> <http://xrl.us/oxv9>
cgp_jit
Leopold Toetsch wrote about the changes in this patch, which
introduced
the 1000th opcode.
<http://xrl.us/oxwa>
Overlapping decisions in Perl 6 and Parrot
Dan Sugalski initiated a discussion on recent Perl 6 topics --
such as
string re-usability and the vtable split -- which would impact
Parrot.
Leopold Toetsch and others replied.
<http://xrl.us/oxwb>
Segfault in substr_s_ic_ic_sc op
Gregor noted that he did not expect a segfault here, and
proposed some
alternatives. Simon Glover replied that he thought it was correct
behavior.
<http://xrl.us/oxwc>
Strings and header reuse
Dan Sugalski expressed a desire to have documentation and
thought on the
subject of strings and header reuse.
<http://xrl.us/oxwd>
Access XML parser within Parrot
Tupshin Harper asked if it was possible to get access to an XML
parser
from within Parrot. The answer was no, but several people offered
suggestions.
<http://xrl.us/oxwe>
PXS
The previous topic led to Tupshin Harper looking at PXS and
encountering
some difficulties. Several people suspected that PXS was out of
sync
with the rest of Parrot or obsolete, and Brent Dax added
comments to a
few files expressing these concerns.
<http://xrl.us/oxwf>
Later, Leopold Toetsch listed some opcodes he believed were
obsolete.
<http://xrl.us/oxwg>
Parrot language examples dated
The topic of bit rot was brought up by Tupshin Harper, who noted
that
many of the language examples in Parrot no longer work properly.
Leopold
Toetsch agreed with some of the assessments.
<http://xrl.us/oxwh>
imcc calling conventions
Leopold Toetsch posted POD describing the existing stack calling
convention and proposing a syntax for Parrot's NCI calling
convention.
Several people responded to this thread.
<http://xrl.us/oxwi>
Parrot's speed for primes
Tupshin Harper used the primes.pasm example and converted it to
both C
and Perl 5, and found that Parrot's performance was must better
than
Perl's or Python's. There was interest in the results, and the
code was
posted.
<http://xrl.us/oxwj>
Using imcc as JIT optimizer
Leopold Toetsch made a proposal and asked for comments, and
received
many.
<http://xrl.us/oxwk>
"Configure.pl --cgoto=0" doesn't work
Nicholas Clark reported this bug. Simon Glover offered a patch,
which
was applied. Following a question from Leopold Toetsch, Nicholas
made an
argument for ensuring that the configure system is flexible
enough to
allow arbitrary combinations of cores, which Leopold agreed with.
<http://xrl.us/oxwm>
Replacing zero-arg invoke with one-arg
Steve Fink asked if anyone would object to him eliminating the
zero-arg
invoke op in favor of a one-arg invoke. Leopold Toetsch noted it
had
been proposed before. Dan Sugalski requested that the zero-arg
be kept
and the one-arg added as long as there was explicit documentation.
<http://xrl.us/oxwn>
stabs support
Steve Fink tried stabs for the JIT and was impressed, but noted a
problem when stepping over a keyed op. Leopold Toetsch thought
it looked
like a gdb error. Steve added some debugging information to the
documentation.
<http://xrl.us/oxwo>
Helpful emacs & gud/perldb debugging tool
Steve Fink offered a tool he'd been using for some time.
<http://xrl.us/oxwp>
Non-inline text in Parrot assembly
Tupshin Harper asked if there are any plans to have Parrot assembly
support a distinct ".string" assembly section. Leopold Toetsch and
Gregor replied.
<http://xrl.us/oxwq>
IMCC's bsr handling
Steve Fink reported that IMCC doesn't handle bsr with non-
constant args.
A couple of ways of addressing this were discussed, and Leopold
Toetsch
created a partial fix.
<http://xrl.us/oxwr>
Objects, methods, attributes, properties, and other related
frobnitzes
Dan Sugalski wanted to be clear on some points before he started to
work. There was a discussion, primarily on method redefinition.
<http://xrl.us/oxws>
Access to partial registers
Tupshin Harper asked if it is possible to read and write from a
part of
a register in PASM. Several people replied that it wasn't, and
Tupshin
clarified his requirements.
<http://xrl.us/oxwt>
Datatype of PMC, pre-built Windows binaries of Parrot
David asked how to determine the datatype of a PMC and if pre-built
Windows binaries of Parrot are available. He received a number of
answers to the first question.
<http://xrl.us/oxwu>
String plan
Dan Sugalski posted a plan for reworking strings.
<http://xrl.us/oxwv>
Patch for jit.c to stop compiler warnings
Steve Peters tried to send a patch, but Nicholas Clark didn't
receive
it.
<http://xrl.us/oxww>
Problem creating new PMC type
Klaas-Jan Stol ran in to difficulties when he tried to create a
new PMC
type. Leopold Toetsch offered advice.
<http://xrl.us/oxwx>
Required build infrastructure stuff
Dan Sugalski posted a few things which are needed in the build
infrastructure.
<http://xrl.us/oxwy>
Targeting Parrot tutorial
Simon Wistow inquired on the current state of the tutorial, and
offered
an article he thought might be useful. Gopal V wasn't certain
TreeCC was
needed, and linked to an article he liked.
<http://xrl.us/oxwz>
Patch to fix compiler warnings in smallobject.c
Steve Peters proposed a patch to fix warnings, but Leopold Toetsch
preferred explicit casts to get rid of warnings.
<http://xrl.us/oxw2>
Using imcc as JIT optimizer
Leopold Toetsch posted conclusions on the experiment.
<http://xrl.us/oxw3>
Patches applied
Several patches were applied:
* bf compiler from Leon Brocard
<http://xrl.us/oxw4>
* macro expansion in imcc by Jürgen Bömmels, following a lengthy
discussion
<http://xrl.us/oxw5>
* Macros in imcc from Jürgen Bömmels
<http://xrl.us/oxw6>
* Initialization of various function pointers in packfile.c from
"NULL"
to "NULLfunc" by Simon Glover
<http://xrl.us/oxw7>
* life.pasm modification by Leon Brocard
<http://xrl.us/oxw8>
* Art Haas posted a patch for examples/mops/mops.py, but there
was no
confirmation that the patch was applied.
<http://xrl.us/oxw9>
* formatting fix for docs/dev/rx.dev by Cal Henderson
<http://xrl.us/oxxa>
Language (perl6-language)
Typo Alert: Synopsis 5
Amos Robinson found a typo and Luke Palmer promptly corrected it.
<http://xrl.us/oxxb>
Implementation of :w in regexes and other regex questions
David Romano asked some questions on extending the Rules domain
specific
language, the semantics of whitespace skipping, and negated
matching
semantics. Luke Palmer replied and explained that the extensions
were
not yet specified, and recommend possible solutions to the other
two
questions. Discussion ensued.
<http://xrl.us/oxxc>
Overloading the variable declaration process
Darren Duncan wondered if he could get default values in variables
instead of undef, in order to avoid calling the constructor, by
simply
annotating the type of the variable. Audrey Tang explained that a
similar construct is available. This was followed by a
discussion on the
subject of class prototypes as default values for typed
variables, as
well as philosophical issues.
<http://xrl.us/oxxd>
Instance attributes collision
Yiyi Hu asked what happens when different sigil attributes with
the same
name are declared in a single class. Various participants
debated the
merits of errors versus warnings.
<http://xrl.us/oxxe>
"CODE {...}" mentioning variables without interpolation
Brad Bowman asked about the semantics of quasiquoting and variable
interpolation for Perl 6's Macro language. Larry Wall explained the
semantics of AST binding, the caller's scope, interpolating ASTs
into
the macro, and the "COMPILING::" variable prefix. This was
followed by a
comment on Brad's signature about intelligence and good sense.
<http://xrl.us/oxxf>
Selective String Interpolation
Brad Bowman wanted to know if string interpolation and escaping
could be
optimized for creating strings of Perl code that selectively
interpolate. Ideally he would be able to declare which variables
are
interpolated. He also mentioned closure interpolation and how it
does
not work well when quoting strings of code. Many people provided
ideas,
covering Lisp and Ruby, backslashes, and custom quote operators.
<http://xrl.us/oxxg>
Some newbie questions about Synopsis 5
H. Stelling asked about Rule capture numbering, aliasing
semantics, and
nested subpattern details. Patrick R. Michaud clarified and the
capture
numbering scheme was discussed.
<http://xrl.us/oxxh>
Named Subroutine return values
Joe Gottman wanted to know if subroutine declarations without an
explicit declaration type ("my", "our") can be annotated with a
return
value type. Damian Conway replied that the "returns" trait can used
regardless of the declaration syntax. Luke Palmer and Larry Wall
discussed the exact semantics of "our Type sub foo", "-->" and
"returns"
style return type declarations.
<http://xrl.us/oxxi>
S02: Reserved namespace ops
TSa asked what reservations the design team had about the
various uses
of the reserved syntax for type subscripting. Larry Wall
reserved his
right to silence, adding that he thought that "is reserved"
means "we
don't have the foggiest idea what we'll do with this, but we have a
suspicion that if we let people use this particular thing right
now,
we'll regret it someday." The official status of the various
items in
the notes/ directory was clarified -- they are considered to be
unofficial.
<http://xrl.us/oxxj>
Synopsis 29 patch
Larry Wall posted a patch for Synopsis 29, recognizing it as
official.
Ruud H.G. van Tol followed up with questions about a round
function, and
pi/atan/atan2.
<http://xrl.us/oxxk>
Synopsis 29 and Complex numbers
Jonathan Lang noted that Synopsis 29 deals with complex numbers
when
describing the sqrt function, but omitted others. He proceeded
to list
the functions which require special handling of complex numbers.
Several
people commented.
<http://xrl.us/oxxm>
Acknowledgments
chromatic recruited me at YAPC::NA 2006, and Jesse Vincent
proposed this
task. Audrey Tang helped me to get started and reviewed this
summary,
and Yuval Kogman assisted with the Language section.
If you appreciate Perl, consider contributing to the Perl
Foundation to
help support the development of Perl.
<http://donate.perlfoundation.org/>
Comments on the summary can be sent to "[EMAIL PROTECTED]".
See also
* Perl Foundation activities
<http://blog.perlfoundation.org/>
* Perl 6 Development
<http://dev.perl.org/perl6>