This Fortnight in Perl 6, March 7 - March 21, 2005
by Matt Fowles
|
Pages: 1, 2, 3
GUI Paradigm
Michele Dondi wants Perl 6 to support a GUI paradigm better than most languages currently do. He is not quite sure how, but he is sure that it would be cool. I agree.
Hiding From One's Callee
Autrijus wants to call a function but make it appear as if his caller did
it. Larry suggested that wrap/call would be
appropriate.
quotemeta
Rod Adams voted for axing quotemeta. People seemed to agree
that it should go, but they disagreed on what to use in its place. Larry
suggested an argument to as.
zip
Function Signature
Rod Adams had difficulty determining the function signature for
&zip. This led to a discussion of when is rw was
implied, but not an answer to his question.
Symbol Table Interactions
Gall Yahas wondered how ::() would react to undefined
variables. Larry explained that it might be either legal or illegal as an
lvalue depending on whether or not the scope had finished being compiled, and
that it would be undefined as an rvalue.
Propagating Called Context
Yuval Kogman wants to call a sub with the same context he was called in so that he can munge the result(s). Warnock applies.
true(0)
Juerd suggested renaming true, as it was really
counter-intuitive. Much discussion ensued about alternatives. Larry hemmed for a
bit, but decided to stick with true in the end
Junction Questions
Stevan Little wondered if the junctions in Pugs behaved correctly. Luke Palmer assured him that they were for the examples he posted.
POD vs. kwid : Round 1. FIGHT!
Aaron Sherman posted a rough draft of a better POD. This led to many people passionately discussing the merits and demerits of POD and kwid. Fortunately, as the summarizer endowed with the power of double speaking, I can definitively report that the conclusion was that everybody prefers both kwid over Pod and vim over emacs.
Importing Constants From Another Module
Song10 wanted to know how to import constants from another module into his module without having to specify scope everywhere. Warnock applied.
Returning References vs. Copies
Darren Duncan wants to protect his classes from their malicious enemies who would use his references against him. Thus, he wants to know if his accessor methods return references or copies. Larry explained that they would probably return lazy copies, to provide the requisite protection, except when used inside that class.
Precedence
of where
Chip Salzenberg wondered if where or | had higher
precedence. Larry replied that where is part of a magic group of
declarational keywords that did some weird stuff.
Strings and Pain
Rod Adams wants to change strings to deal with Unicode differently. Larry thinks his idea forces the programmer into the machine's mindset too much.
Caller's Slurpy Array
Rod Adams wants access to his caller's slurpy array and suggested that it be
@_. Larry agreed.
lvalue Slices
Matt Diephouse wants to assign to an array slice but doesn't know if he can. He can.
.method;
$self.method; $_.method
As originally specified, .method means $_.method.
This sets it apart from $.foo, @.foo, and
%.foo, which all refer to $self. Much discussion
ensued. I think the pendulum is slowly swinging toward switching the meaning of
.method to refer to $self.method.
Duff's Device
Gaal Yahas lamented his inability to use Duff's Device in Perl 6. Larry made noises that it might not be impossible, but would still not be a good idea.
The
Fate of study
Rod Adams wondered what would happen to study. Because I never did it in
high school or college, I doubt I will begin now. Other people seem to think it
would be easier to leave it as a no-op in case we want to do it eventually.
Some Ado About Nothing
Rod Adams wants a no-op function and suggested nothing. There was some
discussion about whether 1 should work. I am surprised that no one suggested
study.
chr
and ord
Rod Adams thought that perhaps chr and ord have a restriction to work only
at the code point level. Larry was less sure.
Perl 6 Compilers
Last week, I tried to link to many of the Pugs patches. I now think that was a mistake for two reasons: first, there are a great many; and second, many more occur off-list where I miss them. Therefore, I will not provide links for specific patches unless they pass this arbitrary test: Are they as important as my pizza?
Pugs 6.0.12
Autrijus released Pugs 6.0.11 and 6.0.12. The features are plentiful and awesome. For a more complete list (which is long) as well as daily blow-by-blow of the Pugs development (which is fast) check out Autrijus's journal.
Helping Pugs
Matthew Campbell wondered how best to help Pugs. Autrijus Tang gave him a helpful nudge.
p6ify Algorithm::Dependency
Adam Kennedy asked for a volunteer to translate Algorithm::Dependency to Perl 6. Darren Duncan did it, and quickly, too.
Help Pugs
Anthony Kilna knew that one of the best ways to help Pugs was to write tests, but didn't know if there was a database of tests that needed to be written or were written. Stevan Little pointed him to the in-progress attempt to build just such a database, and said that would be a good place to help.
Sand Traps Abound When Golfing in p6
Andrew Savige (a.k.a "mad golfer") has been working at porting a "small" program to Perl 6.
Numification of Strings
There was some discussion of how to numify a string. Some wanted smart parsing, others wanted simple parsing. For a while simple was winning. I am not sure if it won in the end though.
SQL::Routine
Darren Duncan announced his intent to port SQL::Routine to Perl 6 shortly. You might be able to hold your breath.
Pugs' Bugs vs. Blue's Clues
Stevan Little compiled a list of bugs for Pugs. By the time you read this, many will probably have been fixed.

