Perl 6 Summary for 2005-05-24 through 2005-05-31
Matt Fowles <[email protected]> Tue, 31 May 2005 23:10:23 -0400
| Newsgroups | gmane.comp.lang.perl.perl6.announce |
|---|---|
| Message-ID | <f2601a7f050531201070e5c2f8__36924.7262286537$1117616977$gmane$org@mail.gmail.com> |
Perl 6 Summary for 2005-05-24 through 2005-05-31
All~
Welcome to another Perl 6 summary, brought to you by Aliya's new
friends, Masha Nannifer and Philippe, and my own secret running joke.
Without further ado, I bring you Perl 6 Compiler.
Perl 6 Compiler
method chaining
Alex Gutteridge discovered that he couldn't chain attribute access like
" $bowl.fish.eyes.say; " in Pugs. Later he provided his example in test
form (in case anyone wanted to add it). Maybe they were added to the
test suite, maybe not: Warnock applies.
<http://xrl.us/f95k>
Pugs link issues on Debian Sid
BÁRTHÁZI András was having trouble making Pugs work on Debian Sid with
perl 5 support. Autrijus provided helpful pointers. I assume from his
final silence that the final pointer worked.
<http://xrl.us/f95m>
Pugs.AST.* compilation
Samuel Bronson wanted to speed up the compilation of Pugs.AST.* modules
by turning off optimizations. Autrijus told him that this was a core
module that needed it speed, and optimizations would stay.
<http://xrl.us/f95n>
Pugs.Types export list
Samuel Bronson added an export list to Pugs.Types. Autrijus happily
applied it and send him a commit bit.
<http://xrl.us/f95o>
export withArgs from Main
Samuel Bronson added an export to Main. Samuel Bronson happily applied
it himself this time.
<http://xrl.us/f95p>
out-of-date hs-plugins
Vadim was having trouble compiling Pugs with Parrot support. Autrijus
helped him fix his problem, and there was much rejoicing.
<http://xrl.us/f95q>
chomp problem
Jens Rieks found a problem with chomp and submitted a test. Warnock
applies.
<http://xrl.us/f95s>
Pugs makefile issue
Grégoire Péan noticed that pugs was creating a useless Pugs.exe.bat.
Autrijus asked if he would be willing to investigate a patch. He
responded that he would put it in his queue.
<http://xrl.us/f95t>
loop or do
Gerd Pokorra wondered why " do { ... } " was in Pugs reasoning that "
loop { ... } while " was the correct thing. Luke Palmer explained that "
do { ... } " was part of the with or without a postfix " while ".
<http://xrl.us/f95u>
PxPerl 5.8.6.2 with Pugs 6.2.5 and Parrot 0.2.0
Grégoire Péan announced that the release of PxPerl 5.8.6.2 which
includes Pugs 6.2.5 and Parrot 0.2.0. This means that windows folk can
test Pugs and Parrot without having to fight with compilers.
<http://xrl.us/f95v>
BUILD errors
Carl Franks was confused by that handling of a named argument to a
constructor. He asked for confirmation but none was provided. Perhaps
this poor summary save him.
<http://xrl.us/f95w>
whitespace and function calls
David D Zuhn didn't know that whitespace between and function call and
its parentheses was forbidden. Carl told him that and about the " .() "
variant which allows whitespace.
<http://xrl.us/f95x>
Pug's make cean issues LONG commands
Carl Franks noticed that make clean issued a command so long that it
broke his nmake. Fortunately he had a really old nmake and updating
fixed the problem.
<http://xrl.us/f95y>
Parrot
thr_windows.h with MinGW
François Perrad provided a patch fixing two compilation problems in
thr_windows.h. Warnock applies.
<http://xrl.us/f95z>
Parrot Slides?
Adam Preble posted a request for slides and notes on Parrot and Perl 6
for a presentation he was working on. Many people provided links in
various languages. I usually steal from Dan's presentations when I need
something like this...
<http://xrl.us/f952>
Problems with Perl 5.6.1
François Perrad had a problem building Parrot with MinGW and Perl 5.6.1.
The problem was related to windows and its binary vs text distinction.
This problem will also crop up if you ever try to seek on files in
windows. Not that I have ever lost several days debugging that problem.
<http://xrl.us/f953>
ordered hash thoughts
Leo posted his thoughts on a modification to ordered hash as adding a
new element by index breaks the string hashing part of it. Dan suggested
that the ordered hash just pitch exceptions in the bad cases as it was
designed to be lightweight and fast.
<http://xrl.us/f954>
subrules tests
Dino Morelli provided a patch adding tests for subrules to PGE. Warnock
applies.
<http://xrl.us/f955>
python on parrot
Bloves inquired as to the state of python on parrot. The phrasing of the
question itself provided some confusion. Michal Wallace provided a link
to pirate, hoping it would help.
<http://xrl.us/f956>
Resizable*Array defeats list.c
Slowly but steadily my {Fixed,Resizable}<type>Array PMCs are defeating
the less consistent array implementations. Leo offered the job of
slaying list.c to any interested partied. Jerry Gay expressed interest.
<http://xrl.us/f957>
encodings on 'char constants'
Bob Rogers wants to be able to supply an ecoding for his character
constants that use " ' ". He also wanted to find the integer that
corresponds to a character. Leo explained how he could do the former and
that " ord " was is used for the latter.
<http://xrl.us/f958>
Broken Links
Fayland Lam pointed out that the links from the last summary were a
little broken. Hopefully this summary will be better.
<http://xrl.us/f959>
refcounts and DOD
Michal Wallace wondered how best to make python's refcounts work for
embeding it in Parrot. Nicholas Clark pointed out that
Parrot_[un]register_pmc would work. Dan noted that if the python library
was going to be made a parrot extension they could be noops as Parrot's
DOD would do necessary work.
<http://xrl.us/f96a>
BigInt fixes
Kevin Tew added somes tests and fixes to BigInt.pmc. Leo applied the
patch.
<http://xrl.us/f96b>
MinGW and GMP
François Perrad provided a patch fixing GMP for MinGW. Leo provided a
slight correction which François incorporated. Leo then applied the
patch.
<http://xrl.us/f96c>
index failures
Roger Browne found a failure in the index opcode. Leo fixed it.
<http://xrl.us/f96d>
MinGW and GDBM
François Perrad provided a patch fixing GDBMfor MinGW. Leo applied the
patch.
<http://xrl.us/f96e>
mod operation fails with negative integers
Roger Browne noticed that moding with or by negative integers could
produce negative such as " 3 mod -3 = -3 ". Leo fixed them to provide 0.
I have that fact about C. Not that I have ever lost several days
debugging that problem either.
<http://xrl.us/f96f>
tracing and debuging
Leo noted that debuging parrot has gotten more difficult as the number
of abstractions has increased. Is your compiler, imcc, your PMC, or
parrot broken? Maybe two or three of them? To facilitate debugging leo
suggested a debug_break opcode and a Debugger PMC. It sounds nifty. He
also added support for lexically scoped trace and debug flags.
<http://xrl.us/f96g>
<http://xrl.us/f96h>
adding Unicode, Hex, and Octal escapes
Will Coleda added more complete escape sequence support to Tcl. Matt
Diephouse integrated the patch into his latest version.
<http://xrl.us/f96i>
State of ParTcl
Will Coleda proudly noted that as of r8193 ParTcl was passing all tests
even with gc-debug. Much praise goes to Matt Diephouse for his cleanup
of the tclparser.
<http://xrl.us/f96j>
strength reduction optimization
Curtis Rawls provided a flurry of patches improving parrot's strength
reduction optimization. Leo applied the patches.
<http://xrl.us/f96k>
<http://xrl.us/f96m>
<http://xrl.us/f96n>
TODO: readline support
Leo put out a request for adding readline support to parrot.
<http://xrl.us/f96o>
get_mmd_dispatch_type fix
Vladimir Lipsky provided a patch which fixes a bug in mmd.c. Leo applied
it.
<http://xrl.us/f96p>
unitialized variable
Vladimir Lipsky fixed an unitialized variable. Leo applied the patch.
<http://xrl.us/f96q>
improved loadlib handling
Bob Rogers improved the handling of absolute paths by loadlib. Leo
applied the patch.
<http://xrl.us/f96r>
dod sweep fix
Vladimir Lipsky prevented the NULL PMC_EXT from being added to the pmc
ext pool during a dod sweep. Leo applied the patch.
<http://xrl.us/f96s>
packfile double destroy
Vladimir Lipsky fixed a problem with double destruction of nested
packfiles. Leo applied the patch.
<http://xrl.us/f96t>
Tcl autoconverts List <-> String
Tcl can autoconvert between lists and strings. Will Coleda wondered how
to implement this behavior to best support language interoperability.
Suggestions were offered, no real agreement on the best solution though.
<http://xrl.us/f96u>
TODO classification
chromatic, inspired by Pugs, added TODO classification to Parrot::Test.
He threatened to apply the patch if there were no objections... none
yet.
<http://xrl.us/f96v>
HLL group support
Leo added support for loading high level language PMC groups dynamically
using the " .HLL " directive. This will load the lib dynamically and
change the return type of some ops to reflect the HLL's preferences. It
is nifty.
<http://xrl.us/f96w>
<http://xrl.us/f96x>
Pistol Wielding Parrot
Leo put out a request for PIR versions of the Computer Language Shootout
tests <http://shootout.alioth.debian.org/>. This will provide a means of
gauging Parrot's performance against other languages. Kinda nifty.
<http://xrl.us/f96y>
nmake v1.5 issues
Nigel Sandever was also having trouble with overly long lines and nmake.
Upgrading nmake fixed his problem too.
<http://xrl.us/f96z>
optimizer producing bad code
Nick Glencross noticed that the optimizer was producing some bad code.
Leo fixed one of the problems, but missed the other.
<http://xrl.us/f962>
Keys design
Dan posted an explanation of his original design for keys.
<http://xrl.us/f963>
Loop improvements
Curtis Rawls provided a patch to improve the loop struct in imcc
optimizer. Leo applied it and asked if he would take a whack at reducing
the resource consumption of Bill Coffman's register allocation patch.
Dan and Bob Rogers both expressed interested in speeding up the
compiler.
<http://xrl.us/f964>
Perl 6 Language
hash slices
Carl Franks thought he was having trouble with hash slices. Actually he
was having trouble with the s/->/./ in his perl5 conversion.
http://groups-beta.google.com/group/perl.perl6.language/browse_frm/threa
d/fe42b63a7e74721b/04e18f0b56fb64b3#04e18f0b56fb64b3
Perl6 and refactoring support
Piers Cawley resurected Matisse Enzer's thread about IDE's and tools for
Perl 6. He observed that Perl 6 might provide a great deal of support
for such things. Deborah Pickett noted that it might not be
theoretically possible to parse Perl 6 safely. Luke Palmer felt that it
would not be possible given BEGIN blocks and the like.
<http://xrl.us/f965>
$*OS but OS::unix
Rob Kinyon suggested that $*OS be a class which mixes in the correct
OS::class. Then MMD could be force to do the heavy lifting. I like this
idea.
<http://xrl.us/f966>
reduction junctions and cribbage scoring
Rob Kinyon wanted to uses junctions and reductions to score cribbage
hands. Unfortunately, He was using junctions as a set. This led to
discussions of the correct implementation and of a Set module that
should be included in Perl 6. I want such a set module to have a
powerset function which returns the powerset of a particular set
(preferably lazily instantiated). Also, my cribbage scoring algorithm is
better: (1) lay down hand (2) announce score (3) peg.
<http://xrl.us/f967>
syntax for using perl5
Autrijus added support to Pugs for using Perl 5 modules. This led him to
wonder what the correct syntax for this actually was. Many suggestions,
but no decisions, arrived.
<http://xrl.us/f968>
MMD and SMD interaction
Yuval Kogman wondered how MMD and SMD would interact. Warnock applies.
making perl 6 grammars generative
aufrank wondered if perl 6 grammars could be made generative. I would
say that this does not belong in the core simply because of its niche
application; however, if I were to do this I would start by using the
Perl6 grammar grammar and modify the way the parse tree is used. Sadly,
aufrank posted to google groups so nobody else expressed opinions.
<http://xrl.us/f969>
Links and References
Thomas Sandlaß suggested a Link class to fill the role of
auto-dereferencing variables that Luke was calling "transparent"
references.
<http://xrl.us/f97a>
use syntax
Rob Kinyon wondered how exactly ranges of versions and multi language
interoperability would work in Perl 6. Rod Adams provided a few answers.
<http://xrl.us/f97b>
Anonymous classes
Simon Cozens announced that he was having a lot of fun converting
Maypole to Perl 6, then he asked how make anonymous subclasses which
inherit from other classes and add new methods. Ingo Blechschmidt
provided the answers.
<http://xrl.us/f97c>
introspectable code objects
Ingo Blechschmidt thought it would be nifty if code objects were fully
introspectable. Luke thought that it would too, but felt that being able
to access them at the statement level might be problematic. I think most
of what Ingo would want this for can be accomplished by macros which
parse normally (or modify a block), but then munge the resulting match
object approriately.
<http://xrl.us/f97d>
signatures as first class types
Yuval Kogman hoped that signatures would be available as first class
types in Perl 6. Ingo Blechschmidt agreed, and Sam Vilain pointed to the
start of a such a translation.
<http://xrl.us/f97e>
new and MMD
Carl Franks wanted to create a specialized on argument new using MMD.
Damian told him that his technique was a way to do it, and that BUILDALL
would still be called by bless.
<http://xrl.us/f97f>
code ownership and debugability
Yuval Kogman posted his thoughts on code owner ship and debugability in
the age of frameworks and generated code.
<http://xrl.us/f97g>
strongly typed containers
Yuval Kogman was wondering how to make a container class which can be
strongly typed (similar to C++ templates). Sam Villain provided a
pointer to earlier threads and mentionded Haskell's Generic Algebraic
Data Types.
<http://xrl.us/f97h>
constants and optimizations
Ingo Blechschmidt wondered how to create constants so that the optimizer
would be able to do as much as possible. Damian suggested that macros
would be one solution. This makes me wondered if there is a way to
declare a function so that a macro version for constants is also created
automatically. That would be nifty.
<http://xrl.us/f97i>
Date Time formatting
Nathan Gray wondered what sort of Date/Time Formating Perl 6 would
support. Rob Kinyon suggested porting DateTime. This certainly sounds
like something that belongs in a module.
<http://xrl.us/f97j>
and pow, I got illuminated
After much discussion, the thread I started about reductions on empty
lists has been weighed in on by @Larry. Damian feels that it should fail
as finding an approrpriate identity operator is no simple task. Some how
a discussion of modulus and division slipped in too.
<http://xrl.us/f97k>
sub call vs MMD
Luke Palmer wanted a sanity check on sub calls vs MMD. Larry provided an
answer but did not weigh in on his sanity.
<http://xrl.us/f97m>
(1,(2,3),4)[2]
People continue to be very devided about " (1,(2,3),4)[2] " and "@x =
[1,2,3] ". There are strong opinions on both sides about arrayrefs in
array and scalar context. I appear to be allied with the losing side.
Hopefully things will change.
<http://xrl.us/f97n>
unicode cheat sheet
Rob Kinyon posted a request for a unicode cheet sheet so he could make
his own nifty symbols. Gaal Yahas and Sam Vilain provided pointers.
<http://xrl.us/f97o>
comprehensive list of rules tokens
Jeff Pinyan wants a comprehensive list of perl 6 rule tokens so he can
create a Perl 5 module to parse them. Much discussion ensued.
<http://xrl.us/f97p>
Default invocant of methods
Ingo Blechschmidt wondered if a methods Class would be allowed as a
default invocant or only instances of it. Somehow this led Larry to
musing about Class a a role than people can mixin instead of inherit
from. He confuses me.
<http://xrl.us/f97q>
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