Weekly Perl 6 mailing list summary for 12-18 November, 2006
Ann Barcomb <[email protected]> Mon, 20 Nov 2006 17:36:17 +0100 (CET)
| Newsgroups | gmane.comp.lang.perl.perl6.announce |
|---|---|
| Message-ID | <[email protected]> |
This week on the Perl 6 mailing lists
"Sadly, the hallucinogens are essential, not external."
-- Mark J. Reed in 'List assignment question <http://xrl.us/tc7m>'
Language
how to change the type of objects <http://xrl.us/s6uj>
Last week, TSa asked how an object could change its type without
loosing its identity. As an example, TSa suggested an `add_vertex`
method which could be called on a polygon but not on a rectangle
subtype of polygon. Darren Duncan wondered why one would declare a
type as a rectangle and then mutate it so that it was no longer a
rectangle. His opinion was that `add_vertex` should be fatal for the
rectangle; the user can explicitly cast a rectangle into polygon
first; or that the polygon class is immutable, and the `add_vertex`
method creates a new polygon.
This week TSa elaborated, stating that there were three issues:
subtyping, the preservation of object identity, and the mutating
`add_vertex` method, which were not all addressed by Darren's answer.
generic ordinal-relevant operators <http://xrl.us/tc7i>
Darren Duncan showed a list of comparison operators and the type of
comparisons they perform. Missing in the list were generic
ordinal-relevant operators for less-than, greater-than, and so on,
although there are numeric and string comparisons of this type.
Jonathan Lang replied that he doesn't see the need for distinct `eqv`,
`==` and `eq` operators; he would rather replace these with `==`,
'+==`, and '~==`, or even just `==` alone. There was further
discussion on this proposal, with Darren preferring generics to be the
shortest and prefixes indicating the numeric or string casting
versions.
Smylers requested that proposals for new operators should be
accompanied with an example of awkward code which could plausibly be
written in a natural setting, and a second example showing how the
proposed operator would correct the situation. Larry Wall added the
opinion that perfect orthogonality is neither possible nor desirable.
However, `before` and `after` operators were accepted, as were min and
max operators. This led to some further discussion on the syntax.
named sub-expressions, n-ary functions, things and stuff
<http://xrl.us/tc7j>
Darren Duncan is designing an RDBMS which is a subset of Perl 6 with
simple syntax and domain-specific additions. He gave an overview of
the features of the language. This led to a few questions and
suggestions on Perl 6. One was for something similar to the SQL (some
dialects) `with` clause, which is an expression which can be embedded
in other expressions, with repeated portions calculated only once.
Another request was for a syntactical short-hand to add an immutable
`bag` type. Thirdly, he suggested separate operators for integer and
numeric operators, especially division. Next, there was a call for
`floor()` and `ceil()` functions which take a number as input and
return an integer. Finally, he proposed that built-in Perl 6 types all
have multis for operators.
Mark J. Reed and Mark A. Biggar commented on the absence of 'undef'
and 'NaN' concepts in the RDBMS language Darren described, which
Darren replied to.
Smylers replied to Darren's first point, suggesting that the `do`
block is similar. Darren replied that it may be sufficient for his
purposes, and thanked Smylers for the suggestion. Dr. Ruud added some
more examples.
[svn:perl6-synopsis] r13475 - doc/trunk/design/syn <http://xrl.us/tc7k>
Larry Wall added missing generic boolean comparisons to S03.
List assignment question <http://xrl.us/tc7m>
Vincent Foley supplied some tests for the `*` operator, which is
currently not implemented in Pugs. Larry Wall replied that perhaps `$`
should be used instead, as `*` is likely to be confused with the
slurpy `*`. He offered a few suggestions on the tests as well.
There was a side discussion on when `my ($a, undef, $b) = 1..3;`
worked in Perl 5.
Smart Matching clarification <http://xrl.us/tc7n>
Jonathan Lang brought up some information relating to hashes and was
wondering if the matching operator ought to be modified since the
concept for hash keys has since changed. Larry Wall replied that `===`
was correct, but that the decisions on sorting may need to be
rethought. Jonathan thought that not only was the current description
suboptimal, it might not even be possible. Darren Duncan added in his
opinion that .keys should return a Set. Jonathan had some concerns
about the idea. Meanwhile, Paul Seamons made another suggestion based
upon Template Toolkit's handling of the concept.
Parrot Porters
Coding Standard Questions <http://xrl.us/so89>
Previously, there was a discussion on coding standards. This week,
Chip Salzenberg joined in. He thanked Kevin Tew for asking the
questions and gave his answers on what the standards should be.
[perl #40934] [TODO] Tcl - check for open channel in
src/builtin/flush.pir <http://xrl.us/tc7o>
Paul Cochrane submitted a patch for ticket [perl #39704]
<http://xrl.us/sznu> as [perl #40934] <http://xrl.us/tc7p>.
How do I associate methods with a compiler? <http://xrl.us/s5tw>
Earlier, Patrick R. Michaud gave some background in to the issue,
explaining how Parrot currently handles compilers, and what PDD21 has
to say on the subject. He was curious about how to conceptually model
compilers in Parrot. He favored a compiler with an object which has a
`compile` method as a model.
This week, Patrick summarized a #parrotsketch meeting where it was
decided that the convention would be to have a `compreg` opcode return
an object with a `compile` method, instead of returning an invokable
subroutine. Allison Randal clarified a few points from the meeting.
Leopold Toetsch recommended against recreating the `compile` opcode as
a means of making the `compile` method call. Allison elaborated on
what was intended by the suggestion, and Leopold clarified his stance.
[perl #40788] Tcl - bug in interactive tclsh <http://xrl.us/s6um>
Will Coleda posted details on how someone could resolve ticket [perl
#40788] <http://xrl.us/s6un>.
[perl #40814] [PATCH] Assorted Solaris fixes <http://xrl.us/tc7q>
Steve Peters sent in a patch to make Parrot compile on Solaris. It was
sent as ticket [perl #40814] <http://xrl.us/tc7r>. The patch was
applied in r15445.
[perl #40815] Summary of 'make test' failures on Darwin
<http://xrl.us/tc7s>
In ticket [perl #40815] <http://xrl.us/tc7t>, James Keenan sent a
summary of Parrot test failures on Darwin. Steve Peters reported that
one of the problems had been fixed in r40818.
[perl #40816] open opcode creates file if it doesn't exist
<http://xrl.us/tc7u>
In ticket [perl #40816] <http://xrl.us/tc7v>, Jonathan Rockway
reported that the open opcode creates the file if the file doesn't
exist. He was not sure if this was a bug.
[perl #40817] [TODO] track generated files during the configure/make
process <http://xrl.us/tc7w>
Jerry Gay suggested appending each file to a list when it is created,
replacing the MANIFEST. The idea was described in [perl #40817]
<http://xrl.us/tc7x>.
[perl #40818] [PATCH] Silence warning in t/library/pcre.t
<http://xrl.us/tc7y>
In ticket [perl #40818] <http://xrl.us/tc7z>, Steve Peters created a
patch to fix a warning in `t/library/pcre.t`, which was applied as
r15442.
[perl #40819] [TODO] Remove Duplication in t/codingstd/*.t Files
<http://xrl.us/tc72>
chromatic created ticket [perl #40819] <http://xrl.us/tc73> to request
the removal of duplicate tests in the coding standards section.
[perl #40822] Pg NCI Test Makes Unportable Connection
<http://xrl.us/tc74>
In ticket [perl #40822] <http://xrl.us/tc75>, chromatic commented that
`t/library/pg.t`'s assumption of a certain database setup is faulty.
He proposed using an environment variable to define the user name and
password.
[perl #40823] Win32 vs. the world - length for sprintf('%e') - what's
right? <http://xrl.us/tc76>
In ticket [perl #40823] <http://xrl.us/tc77>, Chip Salzenberg
requested that someone see what Perl does on Win32 to test sprintf.
SADAHIRO Tomoyuki answered that it drops the superfluous zero from the
return value.
Jerry Gay noted that he preferred a fix in Parrot_sprintf, rather than
in the related test. He felt that Parrot should act in a consistent
way across platforms. Allison Randal noted that the decision had been
made to go with a platform-independent implementation.
[perl #40824] loadlib opcode causes problems with exceptions
<http://xrl.us/tc78>
In ticket [perl #40824] <http://xrl.us/tc79>, Matt Diephouse included
a patch to fix loadlib failures which were previously not catchable
exceptions. Bob Rogers noted that he thought the problem was in the
`:init` code. The patch was committed as r15413, but it was agreed
that the questions remain.
[perl #40826] Mac OS X and Dylib Funcs <http://xrl.us/tc8a>
In ticket [perl #40826] <http://xrl.us/tc8b>, chromatic reported some
portability wrappers which were deprecated in Mac OS X 10.3 in favor
of the functions themselves. He removed the test which relied upon the
old behavior, but noted that the Darwin hinter should pick the correct
dl.c file based upon the OS X version.
[perl #40827] [BUG] testing alarm with exception handlers causes
runloops to play leapfrog <http://xrl.us/tc8c>
Jerry Gay noted in ticket [perl #40827] <http://xrl.us/tc8d> that
there is a problem with alarm and exception handlers. He included some
sample code. Bob thanked Jerry for the example but replied that he
didn't yet have a good solution to the problem.
[perl #40834] [BUG] - PMC methods aren't inherited to PIR subclasses
<http://xrl.us/tc8e>
In ticket [perl #40834] <http://xrl.us/tc8f>, Patrick R . Michaud
reported that if a METHOD is defined in a .pmc file, it is not
automatically inherited by PIR subclasses. Leopold Toetsch clarified
that some METHODs are implemented in a way which doesn't cope with
inheritance. He thought this was related to ticket [perl #39329]
<http://xrl.us/tc8g>.
Assertion failed: (PTR2UINTVAL(mmd_table[i].func_ptr) & 3) == 0
<http://xrl.us/tc8h>
Ron Blaschke reported that in r15444, Parrot failed to smoke on his
Win XP box. He included the results of the attempt.
RFC: Proposal for dynamic binding <http://xrl.us/tc8i>
Bob Rogers included a patch to the proposal for dynamic binding in
Parrot, and requested comments. Leopold Toetsch asked Bob to consider
the impact of a third variation using STM, which is already
implemented. Bob replied with a description of the problems he saw
with STM and continuations.
Allison Randal thanked Bob for the proposal and gave some comments she
had on it. Bob replied.
[perl #40861] [CAGE] - add a Perl::Critic policy to look for
FIXME|TODO|XXX <http://xrl.us/tc8j>
In ticket [perl #40861] <http://xrl.us/tc8k>, Paul Cochrane noted that
the test which checks for TODO (and related) comments only applies to
C-language files, and that it would be good to look for them in Perl
as well. Chris Dolan replied that there is a policy available on CPAN
which would do this.
Will Coleda asked Andy to adjust the patch to allow TODO comments with
RT tickets attached to them, but to disallow those without. Andy
Lester objected to Will's suggestion, and proposed instead that TODO
items with tickets simply include 'RT' and the ticket number. This was
addressed in '[perl #40912] [CAGE] Tcl - convert all XXX (#...)
comments to the RT#... format <http://xrl.us/tc8m>'
set_pmc + setref/deref: anyone using them? <http://xrl.us/tc8n>
Matt Diephouse wanted to know if anyone would be upset if he removed
the `set_pmc` vtable and the `setref` and `deref` opcodes. Allison
Randal thought it sounded like a bad idea to simply remove opcodes
because they were broken. She wanted to know what problem they were
intended to solve, and what the replacement strategy for is.
[perl #40863] [TODO] Tcl - Actually support bignums <http://xrl.us/tc8o>
In ticket [perl #40863] <http://xrl.us/tc8p>, Matt Diephouse showed
some code which checks if the value is too large to be represented by
a normal integer, and sets the value to zero if it is. He thought it
should be possible to change the code to support larger numbers.
[perl #40865] [TODO] ensure isxxx() and toxxx() are only passed unsigned
char values <http://xrl.us/tc8q>
In ticket [perl #40865] <http://xrl.us/tc8r>, Chip Salzenberg noted
that the `isxxx` and `toxxx` functions should only be given unsigned
character values. He requested that a cage cleaner check calls to
them, and repeat the task periodically.
Fwd: Re: [pirate] Re: languages/python - any plans? <http://xrl.us/tc8s>
Leopold Toetsch forwarded a letter from the pirate development list.
In the mail, Tyler Coumbes said that he had some Python PMCs based off
the ones in Parrot's repository. He had hoped to clean them up and
submit patches, but life was interfering. He indicated where the files
could be found, in case someone else was interested in looking at
them.
Release: Parrot 0.4.7, "Caique" <http://xrl.us/tc8t>
Chip Salzenberg announced the release of Parrot 0.4.7, "Caique".
[perl #40884] [CAGE] update parrothist.pod from email archives
<http://xrl.us/tc8u>
Chip Salzenberg created ticket [perl #40884] <http://xrl.us/tc8v> to
request that someone check the email archives for the names given to
previous releases to add to the history in `docs/parrothist.pod`.
Paul Cochrane reported that he had done some of the work, but that he
was unable to find reports of other releases. Also, he thought there
were some duplicated names.
Object design revisions <http://xrl.us/tc8w>
Allison Randal reported that she had finished reviewing the PMC object
design meeting notes, which was a summary of the design discussion
written during last weekend's hackathon. She invited questions or
comments. chromatic had a few notes, and Allison responded to his
points.
[pmc_object_design_meeting_notes] Properties <http://xrl.us/tc8x>
Leopold Toetsch responded to the recommendation to deprecate property
support in PMCs. Discussion ensued, with chromatic and Allison Randal
participating. Allison suggested that the discussion of properties
should be delayed for a week because it is related to the role
architecture.
[perl #40905] [CAGE] coding standards hammer too big
<http://xrl.us/tc8y>
In ticket [perl #40905] <http://xrl.us/tc8z>, Will Coleda noted that
files copied from external sources should not be required to meet
internal coding standards.
[perl #40909] [BUG] Tcl - [namespace eval] + [source] + [proc] don't
play well together <http://xrl.us/tc82>
In ticket [perl #40909] <http://xrl.us/tc83>, Matt Diephouse reported
that some Tcl code was not working as expected. He thought there
should be a test, but because it depends upon an external file, he was
not sure how to best write it.
Fwd: MC units refreshed <http://xrl.us/tc84>
Based upon a post from H. Merijn Brand to the Perl 5 Porter's list,
chromatic wondered if the configure system needed to be updated.
[perl #40910] [CAGE] Fix t/distro/file_metadata.t to work in svn
<http://xrl.us/tc85>
In ticket [perl #40910] <http://xrl.us/tc86>, Paul Cochrane wanted
`t/distro/file_metadata.t` to work with both svn and svk. chromatic
reported it fixed in r15616.
[perl #40911] [CAGE] Merge manifest generating scripts with
mk_manifest_and_skip.pl <http://xrl.us/tc87>
Paul Cochrane created ticket [perl #40911] <http://xrl.us/tc88>. In it
he suggested merging the functionality of two tools,
`gen_manifest_skip.pl` and `mk_manifests.pl`.
[perl #40912] [CAGE] Tcl - convert all XXX (#...) comments to the RT#...
format <http://xrl.us/tc8m>
In ticket [perl #40912] <http://xrl.us/tc89>, Paul Cochrane asked for
all TODO items to be changed to 'RT #' style. This request stemmed
from the discussion '[perl #40861] [CAGE] - add a Perl::Critic policy
to look for FIXME|TODO|XXX <http://xrl.us/tc8j>'. It was done in
r15651.
[perl #40923] test errors <http://xrl.us/tc9a>
Seth Whelan reported a problem with Parrot 0.4.7's `make test`. He
included information about his system in ticket [perl #40923]
<http://xrl.us/tc9b>.
Perl segfault in cppcomments.t <http://xrl.us/tc9c>
Paul Cochrane reported a segmentation fault with a test. It looked
like a problem with the regular expressions which were used to remove
C-comments.
[perl #40932] [PATCH] languages/abc test harness <http://xrl.us/tc9d>
In ticket [perl #40932] <http://xrl.us/tc9e>, Nuno Carvalho sent a
patch which is designed to finish the test harness for the language
abc. Patrick R. Michaud applied the patch.
pmc2c.pl: Proposed Strategy for Revisions and Testing
<http://xrl.us/tc9f>
Following an introduction to Parrot at the Chicago Hackathon last
week, James E Keenan posted a proposal on how `pmc2c.pl` could be
tested. He hoped for some feedback at an early point to prevent him
from wasting effort on useless patches.
He proposed extracting as much functionality as possible in to
subroutines which are then placed in a package. He also wondered about
some options which were described in the documentation but didn't
appear to be used.
[perl #40937] bad links in docs/ROADMAP.pod <http://xrl.us/tc9g>
Will Coleda wanted some bad links to be corrected. He requested this
in ticket [perl #40937] <http://xrl.us/tc9h>.
[perl #40938] [PATCH] languages/abc test suit <http://xrl.us/tc9i>
Nuno Carvalho submitted a patch in ticket [perl #40938]
<http://xrl.us/tc9j>. It is designed to add more files to the abc test
suite. It was applied.
[perl #40939] [PATCH] languages/abc test suit <http://xrl.us/tc9k>
In ticket [perl #40939] <http://xrl.us/tc9m>, Nuno Carvalho sent a
patch which cleans up the abc test harness. It was applied.
cvs-parrot
[svn:parrot] r15517 - in trunk: . src <http://xrl.us/tc9n>
chromatic reported an error with r15517. Patrick R. Michaud confirmed
that it broke on Linux/x86_64 as well. chromatic attached a patch
which he was not happy with because he was curious about how it
affected Patrick's system. Patrick agreed the patch was just masking a
deeper problem, but that it did appear to fix the problem. Leopold
Toetsch checked in the patch.
Acknowlegements
This summary was prepared using Mail::Summary::Tools
<http://xrl.us/qvno>, available on CPAN.
If you appreciate Perl, consider contributing to the Perl Foundation
<http://donate.perlfoundation.org> to help support the development of
Perl.
Thank you to everyone who has pointed out mistakes and offered
suggestions for improving this series. Comments on this summary can be
sent to Ann Barcomb, <[email protected]>.
Distribution
This summary can be found in the following places:
* use.perl.org <http://use.perl.org/>
* The Pugs blog <http://pugs.blogs.com/>
* The perl6-announce mailing list <http://xrl.us/qycj>
* ONLamp <http://www.oreillynet.com/onlamp/blog/>
See Also
* Perl Foundation activities <http://blog.perlfoundation.org>
* Perl 6 Development <http://dev.perl.org/perl6>
* Planet Perl Six <http://planetsix.perlfoundation.org/>