Perl 6 Summary for 2005-08-02 through 2005-08-10
All~
Welcome to another summary, brought to you by chinese food. The
attentive among you will notice that this summary is a day late, because
I did not feel like doing it yesterday. If only I could do that at
work...
Perl 6 Compilers
Pugs Argument Processing
Vadim Konovalov submitted a patch to pugs affecting @*ARGS processing.
Maybe it got applied, maybe not, Warnock applies.
<http://xrl.us/g3op>
Type Inferencing
Autrijus wants to type push perl 6's type inferencing as far as it can
go (and maybe a little beyond). To this end he has been soliciting input
from all comers. It looks like he has put a lot of thought and research
into it. One day I expect to be thanking Autrijus for important (if
likely difficult to understand) compiler errors and warnings..
<http://xrl.us/g3oq>
WWW::Kontent Release
Brent 'Dax' Royal-Gordon announced the release of WWW::Kontent 0.01: "a
flexible web content management system written in Perl 6 and executable
with Pugs". It looks nifty to me... Maybe we need to fight Ruby on Rails
with Perl 6 on Pylons or something. That doesn't quite have the right
ring to it... there has to be something catch there somewhere.
<http://xrl.us/g3or>
Array Interpolation
Phil Crow wondered why his arrays were not being interpolated in pugs.
Ingo Blechschmidt and Patrick explained that "@foo" does not
interpolate, but "@foo[]" does. I sense a frequently asked question
here...
<http://xrl.us/g3os>
Pugs 6.2.9 Released
Autrijus announced the release of Pugs 6.2.9. It is full of nifty new
feaures including the ability to lay on hands!
<http://xrl.us/g3ot>
Whitespace Before Parens
Andrew Shitov wondered why whitespace between function name and parens
was no longer allowed. Autrijus explained that it allows < print (1+2)*3
> to print 9 instead of 3. As someone who just last week explained the
pecularity of ruby printing 3 in the above situation to a complete
novice, I welcome the change.
<http://xrl.us/g3ou>
Contain Model Pictures
Autrijus posted a few pretty pictures explaining the compiler and
container models. While the compiler model was readily understandable to
me, the container one wasn't. Fortunately, when prompted Autrijus
provided a great explanation to accompany the diagram.
<http://xrl.us/g3ov> -- thread
<http://xrl.us/g3ow> -- containers
<http://xrl.us/g3ox> -- compilation
PxPerl 5.8.7-4
Upon discovering that Pugs released a new version, Grégoire Péan
released a new version of PxPerl that includes the new Pugs. I (and many
others) thank Grégoire for lowering the entry bar for Perl 6 hacking on
windows.
<http://xrl.us/g3oy>
Hosting Lexical Declarations
Declaring lexicals mid block confuses things, expecially declaring them
mid statement as in " $x = $x + my $x if $x; ". Autrijus proposed
hoisting declarations of lexicals to the top of the block.
Unfortunately, this can make CALLER:: do funny things. Thus, he suggests
outlawing it. Larry agreed.
<http://xrl.us/g3oz>
Parrot
export LD_LIBRARY_PATH
Bdonlan noticed that parrot's test suite was not setting LD_LIBRARY_PATH
which makes tests fail. Leo pointed out that most users manually set
their LD_LIBRARY_PATH as parrot often needs this, but he agreed that the
tests should do it just in case.
<http://xrl.us/g3o2>
Improved Argument Processing for ops2c.pl
Tom submitted a patch which improves the command line argument
processing powers of ops2c.pl. Warnock applies.
<http://xrl.us/g3o3>
ANSI Escape Codes in Parrot
Klaas-Jan Stol was having trouble putting special characters like ANSI
clear screen and "¥" into strings. Nick pointed out that he need to be
careful with encodings and escapes. In parrot "\O" is an octal escape,
in Lua it is apparently not.
<http://xrl.us/g3o4>
Parrot 0.2.3
Leo announced the release of Parrot 0.2.3 "Serenity", which reminds me,
Firefly is coming back soon!! I can't wait! Oddly google seems to have
swallowed his release notice but not his warnings...
<http://xrl.us/g3o5>
Strange Filename Based Bug
Michal Wallace found a bug that would disappear if the file was renamed.
Leo, with the help of valgrind, provided Michal with a pointer. Michal
used that to find a likely culprit and provide a patch, which Leo then
refined.
<http://xrl.us/g3o6>
GDBM Hash on MinGW
François Perrad provided a patch fixing gdbmhash on MinGW. Bernhard
Schmalhofer applied it.
<http://xrl.us/g3o7>
PyString Link Problem
François Perrad also fixed a link problem with pystring.o. Jonathan
Worthington applied that patch.
<http://xrl.us/g3o8>
Filling a Large Data Structure
Amir Karger wanted to know how to fill a large data structure in PIR
other than explicitly. Leo suggested reading them in from a config file.
<http://xrl.us/g3o9>
Helping Perl 6
rjtucke asked the ever dangerous question "How can I help?".
Unfortunately, I think he asked it on google groups, and thus no one saw
it and warnock applies.
<http://xrl.us/g3pa>
PGE Glob Escapes
PGE Glob Escapes millions die before it can be rounded up again.
Actually Will Coleda noticed that he could not add a literal "*" to
globs in PGE. Patrick fixed it so he could.
<http://xrl.us/g3pb>
Language Test Requirements
Amir Karger has decided to write a Z-code-to-PIR translator. He wants
its test suite to be integrated with Parrot's language tests.
Unfortunately it does not use Test::Simple or even perl. Thus he wanted
to know a good way to integrate it. Will Coleda, Bernhard Schmalhofer,
and chromatic all helped provide suggestions.
<http://xrl.us/g3pc>
mod_parrot 0.3
Adrian Lambeck provided a patch to fix src/call_list.txt for
mod_parrot-0.3. chromatic applied it.
<http://xrl.us/g3pd>
Making Makefile a Little to Clean
Patrick noticed that the parrot build was breaking. Jonathan Worthington
narrowed it down to an exact revision number. Leo realized his mistake
and fixed it.
<http://xrl.us/g3pe>
Cygwin Status
Bernhard Schmalhofer applied some old patches from Joshua Gatcomb in the
hope of getting cygwin better supported. Nick Glencross provided needed
test results
<http://xrl.us/g3pf>
<http://xrl.us/g3pg>
Calling SUPER methods
Klaas-Jan Stol wondered how to call a specific parent methods (possibly
bypassing child methods). Leo provided a method.
<http://xrl.us/g3ph>
Adrian Lambeck was having trouble compiling Pugs against Parrot. Leo
worked with him to find a solution, although one has not been found yet.
<http://xrl.us/g3pi>
Pure Parrot Test::Builder
chromatic has written pure parrot versions of Test::Builder and
Test::Builder::Tester. As always patches are welcome.
<http://xrl.us/g3pj>
Adding a New Opcode
Gerd Pokorra wanted to know how to add a new opcode to parrot. Klaas-Jan
Stol and Leo provided answers.
<http://xrl.us/g3pk>
François Perrad provided several patches for MinGW and Win32. Warnock
appliew.
<http://xrl.us/g3pm>
Update intro.pod
Jonathan Worthington posted an updated intro.pod. Autrijus provided a
few edits, and Jonathan is planning on committing it.
<http://xrl.us/g3pn>
Comment Fix in pir-mode.el
Jim McKim made the mistake of using emacs. Fortunately he
counterbalanced that failing with the virtue of submitting a patch to
fix an error in pir-mode.el file work better. chromatic applied the
patch.
<http://xrl.us/g3po>
commit bit
Curtis Rawls seemed to be having trouble using his newly acquired commit
bit. Warnock applies.
<http://xrl.us/g3pp>
Segfault with -E
Tom noticed that parrot -E segfaults and provided a patch. He was not
very confident about the patch, and warnock applies.
<http://xrl.us/g3pq>
make test in bc
Amir Karger noticed that make test in bc dies because antlr is not
installed. Bernhard Schmalhofer said that he would try and fix it up to
use the config-test for antlr.
<http://xrl.us/g3pr>
interpreter.c Breakage
Amir Karger noticed that a break in interpreter.c. Leo pointed out that
he need to "make realclean".
<http://xrl.us/g3ps>
MinGW Meets m4
François Perrad provided two patched to make m4 work on MinGW. Warnock
applies.
<http://xrl.us/g3pt>
substr Segfault
Will Coleda posted a short PIR test that will segfault in the substr
opcode. This led to some discussion of variable width encodings, and the
explanation from Leo that substr was a call that would probably force
parrot to rectify variable width encodings into fixed width ones (which
parrot does lazily). Then he fixed it (presumably as he had suggested).
<http://xrl.us/g3pu>
Parrot Cygwin Meets Treefrog
Steve "treefrog" posted a patch he needed to get cygwin testing. I think
he may have posted it to google group directly though. Warnock applies.
<http://xrl.us/g3pv>
call opcode cleanups
Leo attempted to free himself from the horns of warnock by reposting his
suggested call opcode clean up. Patrick and I voidced our support. More
accurately I voice support and Patrick indifference.
<http://xrl.us/g3pw>
Complex Control Flow
Nigel Hamilton began speculating that Perl 6 might have extremely
complicated control flow. Then he began to wonder alloud about a form of
control flow I can only discribe as brain melting. Luke Palmer suggested
that his proposal might best start as a module.
<http://xrl.us/g3px>
Slurpy Parameters and Flattening
Ingo Blechschmidt's question of the flattening (or not) of slurpy params
continued producing some suggestions. Piers seemed somewhat unhappy with
earlier answers, but the thread died out.
<http://xrl.us/g3py>
Does If Topicalize
Luke Palmer noticed " if foo() -" $foo { ... } > in an OSCON talk and
wondered if "if" now topicalized. Stuart Cook offered a work around.
<http://xrl.us/g3pz>
Data Constructors
Luke Palmer posted his thoughts on unifying units and data constructors
(a la Haskell or ML). Warnock applies.
<http://xrl.us/g3p2>
Calling Methods on undef
Ingo Blechschmidt wondered what would happen if he called "undef.chars"
or "char undef". Brent 'Dax' Royal-Gordon responded that it would return
undef in the absence of " use fatal ". Larry confirmed this behavior.
<http://xrl.us/g3p3>
Reassigning .ref and .meta
Ingo Blechschmidt wondered what would happen if he assigned to .ref or
.meta. Luke Palmer figured that it would not be allowed. I think it
should cause a large person to come over to your house and kick you.
This is probably a good reason I don't write error messages.
<http://xrl.us/g3p4>
Questioning .ref and .meta
Ingo Blechschmidt left a bunch of blanks for people to fill in with
respect to .ref and .meta. Luke Palmer apparently segfaulted in the
attempt to do fill in the blanks.
<http://xrl.us/g3p5>
Subscripting Pairs
Ingo Blechschmidt wondered if one could subscript pairs. Larry declared
no.
<http://xrl.us/g3p6>
Perl 6 Test in Parrot 0.2.3
Andrew Shitov was having trouble running Perl 6 under the latest parrot.
Autrijus pointed out that the program he was trying to run was abandoned
in June of 2004 and then pointed him toward Pugs.
<http://xrl.us/g3p7>
Java -> Perl ?
Tim Bunce wondered if any work had started on parsing Java interface
definitions and translating them to Perl 6. Warnock applies (which
probably means no).
<http://xrl.us/g3p8>
Meta Object Questions
Stevan Little posted some of his thoughts on the MetaObject internals
for comment. Many questions ensued, my eyes glazed over, the summarizer
punted.
<http://xrl.us/g3p9>
<http://xrl.us/g3qa>
" defined " and " typed " Traits
Autrijus mused about how to deal with defined and typed traits in Perl
6. This led Larry to wonder about undef being a class or a class being
undef or something confusing.
<http://xrl.us/g3qb>
" is constant " Sugar
Autrijus wondered how " is constant " would desugar if it were a special
form. Larry came up with suggestions, some of which said it desugared
some of which said it didn't.
<http://xrl.us/g3qc>
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