Ann Barcomb
Mon, 25 Dec 2006 14:55:42 -0800
This week on the Perl 6 mailing lists
"Short answer: absolutely.
"Long answer: emphatically not."
-- Larry Wall, in 'RAII in Perl6/Parrot <http://xrl.us/tz2r>'
Language
supertyping <http://xrl.us/twvd>
Earlier, TSa asked about supertyping, specifically if supertyping will
exist in Perl 6. Larry Wall wanted to see some more complicated use
cases which would demonstrate that the concept was useful rather than
simply an aspect of type theory. Several other people contributed to
the thread.
This week, Jonathan Lang addressed TSa's other question of what would
happen if an object's type changed while its identity was preserved.
Tsa replied to the subthread.
RAII in Perl6/Parrot <http://xrl.us/tz2r>
Blair Sutton asked if Perl 6 would be able to do RAII. He cited some
articles which expressed the view that it was not possible in Python
due to the fact that garbage collection does not offer deterministic
finalization. This led to the question of whether Perl 6 would suffer
from the same problem due to Parrot's style of garbage collection.
Larry Wall replied that deterministic reference counting was only one
way to provide transactional security and timely destruction. He
assured Blair that Perl 6 has ways to let you not care about some
dependencies, while paying attention to others.
Blair appreciated Larry's explanation, and admitted to relying on the
deterministic nature of C++, and using RAII to manage locks between
threads and tear apart sockets cleanly. He asked for an example of
Perl 6 offering the capability to execute code once every reference to
an object has been removed. Luke Palmer replied that the `LEAVE`
closure trait was a general method for addressing this.
Parrot Porters
[perl #33962] readline returns one too many lines <http://xrl.us/tz2x>
Allison Randal reviewed ticket [perl #33962] <http://xrl.us/tz48>,
which was created almost a year ago by Matt Diephouse to report that
the readline opcode returns too many lines. She decided to leave the
ticket open and link it to the I/O PDD ticket.
Re: [perl #34994] [TODO] make useful parts of Parrot config available at
runtime <http://xrl.us/tz2y>
Leopold Toetsch responded to ticket [perl #34994]
<http://xrl.us/tz49>, which was created in April. He noted that there
had been several attempts to solve the issue, and the only working
scheme was to link with an object file which had the path inside. He
left it as 'todo'.
[perl #39997] [PATCH] PGE P5 Test Cleanup <http://xrl.us/tz2z>
Patrick R. Michaud and Paul Cochrane looked at ticket [perl #39997]
<http://xrl.us/tz5a>, which was written in July. Patrick felt that it
was safe to close the ticket, because all 'skip' and 'todo' markers
had been factored out of the regex test files. Paul resolved the
ticket.
Re: [perl #40361] [PATCH] #40278 [CAGE] perl coding standards coda.
(cont.) <http://xrl.us/tz22>
Ticket [perl #40361] <http://xrl.us/tz5b> from September was revived
and elicited a great deal of discussion between Paul Cochrane, Chris
Dolan, Bob Rogers, Allison Randal, Lee Duhem, Patrick R. Michaud,
chromatic, and Nicholas Clark.
It started with Paul suggesting that the ticket could be closed once a
decision was made on where formatting information for emacs and vim
should be located. Chris mentioned a limitation with the verbose form
of the Emacs settings. Bob elaborated, offering a patch as a
work-around.
Allison suggested removing all emacs and vim settings from the source
code files. She felt that having the tests check for correct
formatting addressed the issue without the maintenance costs of editor
tips. Patrick and chromatic agreed with her suggestion.
Paul thought that editor hints reduce the amount of cage cleaning work
by ensuring that code contributions use the correct style. Nicholas
Clark pointed out that the alternative, top-level editor settings,
assumes that all a developer's projects use the same coding standard.
After further discussion on options, Allison proposed that for the
time being, hints would be left out of Perl files with `__END__` or
`__DATA__` blocks. A future task would be for someone to figure out a
way to encourage good habits, without cluttering the source code or
assuming that everyone uses emacs or vim. Paul updated the
Perl::Critic policy accordingly, and made a note in PDD07.
[perl #40950] [PATCH] Compiling Parrot with the new Borland C++
<http://xrl.us/tz23>
Steve Peters added a reminder to ticket [perl #40950]
<http://xrl.us/tgtd> that a patch still needs to be applied for
compiling Parrot with Borland C++.
[perl #41064] Not-so-new 'make' failures on Darwin <http://xrl.us/twve>
James Keenan was happy to report in ticket [perl #41064]
<http://xrl.us/twvf> that further suggestions from Will Coleda fixed
his problem.
Side effect between exit & .HLL <http://xrl.us/twvh>
Last week, Fran??ois Perrad showed some example code where an error of
'no exception handler' was seen when a .HLL directive was added before
a simple subroutine. This week he supplied a patch to address the
issue.
[perl #41095] [BUG] Segfault in test.exe during Configuration
<http://xrl.us/tz24>
In ticket [perl #41095] <http://xrl.us/tz5c>, Nikolay Ananiev reported
a segmentation fault on Win32. Jonathan Worthington thanked him for
the report, and stated that other solutions were being looked at.
[perl #40802] Investigate Supposed JIT Bug with if/unless Optimization
<http://xrl.us/tz25>
Jonathan Worthington responded to Matt Diephouse's ticket [perl
#40802] <http://xrl.us/tz5d>. He replied that the bug had been fixed,
so he removed the comment from the code.
[perl #40816] open opcode creates file if it doesn't exist
<http://xrl.us/tz27>
Jonathan Worthington responded to open ticket [perl #40816]
<http://xrl.us/tc7v> to clarify that he did not think that it was a
bug for '+<' to be the default mode. Jerry Gay felt that it was a bug,
unless it was explicitly documented that 'open' would create a file as
default.
[perl #40801] [TODO] Rename enter_nci_method to something better
<http://xrl.us/tz28>
Matt Diephouse created ticket [perl #40801] <http://xrl.us/tz5e> to
request a new name for `enter_nci_method`. Kevin Tew suggested
`register_nci_method`.
[perl #41099] [PATCH] root.in Makefile and CREDITS <http://xrl.us/tz29>
Eric B. Lubow created ticket [perl #41099] <http://xrl.us/tz5f> to
include a patch to the makefile. Paul Cochrane noted that there were
two patches and asked which one should be applied. Eric clarified, and
Paul applied the patch as r16183.
[perl #41102] [PATCH] On Win32 with Visual C++, nmake was not
automatically selected if mingw was also found on the system
<http://xrl.us/tz3a>
David Woldrich reported a problem with the Parrot configuration script
and included a patch, which was applied as r16129. Ticket [perl
#41102] <http://xrl.us/tz5g> tracked the bug.
[perl #41103] [BUG] stdin.'readline'() segfaults on systems w/o readline
support <http://xrl.us/tz3b>
In ticket [perl #41103] <http://xrl.us/tz5h>, Patrick R. Michaud
reported a segmentation fault.
[perl #41104] [PATCH] Building on MinGW is disrupted by the presence of
/bin/sh.exe on the PATH, docs explain required environment change
<http://xrl.us/tz3c>
David Woldrich's ticket [perl #41104] <http://xrl.us/tz5i> contained a
patch which was applied as r16187.
[perl #41105] [PATCH] Silence a warning on Cygwin <http://xrl.us/tz3e>
Steve Peters created a patch to eliminate some warnings on Cygwin. It
was applied as r16177 and can be viewed as ticket [perl #41105]
<http://xrl.us/tz5j>.
Generated .pm files in MANIFEST <http://xrl.us/tz3g>
Paul Cochrane wanted to know why some files, which are auto-generated,
are mentioned in `MANIFEST` instead of `MANIFEST.generated`. He
planned to move them if there were no objections.
[perl #31652] [TODO] Win32 - Microsoft Visual C++ Toolkit 2003
<http://xrl.us/tz3j>
In ticket [perl #31652] <http://xrl.us/tz5k>, chromatic asked if the
toolkit was still required, now that ICU is available. Jonathan
Worthington replied that the toolkit was one of the easiest ways to
get a C compiler for Windows, and therefore it was still useful to
have it documented. Ron Blaschke commented that he thought it was
going to be discontinued.
Jonathan Worthington requested a patch for `readme.win32.pod`, which
Ron agreed to write.
[perl #41110] [PATCH] tru64: compile (src/nci.c) and runtime
(src/memory.c) <http://xrl.us/tz3m>
Jarkko Hietaniemi created ticket [perl #41110] <http://xrl.us/tz5m> to
provide patches, which were applied as r16208.
[perl #39802] [PATCH] [CAGE] turning up the warnings levels in gcc as
much as we can <http://xrl.us/tz3n>
Some time ago, Kevin Tew created ticket [perl #39802]
<http://xrl.us/tz5n> to offer a patch to increase warning levels in
gcc. Paul Cochrane applied a modified version of the patch but asked
what version of gcc some of the flags belonged to, as they did not
work with his gcc. Kevin replied.
Re: [perl #39742] [BUG] installed parrot conflicts with dev parrot.
<http://xrl.us/tz3o>
A while ago, Will Coleda reported in ticket [perl #39742]
<http://xrl.us/tz5o> that there was a conflict between an installed
version of Parrot and a development version.
Recently, Leopold Toetsch reported that it seemed like a BSD linker
issue, because he couldn't verify the problem on Linux. David Landgren
was able to verify that the problem is not resolved.
More Undef vs. Null... <http://xrl.us/tz3p>
Will Coleda wanted to know if Hash and Array keys are meant to have
different results when keys are unset. Leopold's opinion was that the
`.Undefs` returned by Arrays are a legacy, and that `.Null` is
correct.
Jonathan Worthington submitted a patch which changes the PMC to use
`.Null`. However, he did not want to apply it until there was a design
decision, and until he'd had a chance to fix some of the code which
expected to receive `.Undef`.
Patrick R. Michaud added that there are several places where `.Undef`
was expected. He had no strong feelings about one design over another,
but wanted people to be aware of the impact the change would have.
Jerry Gay felt that it would take a coordinated effort and suggested a
dedicated day for the change, with community involvement.
Allison Randall gave the decision in favor of consistent use of null.
She requested that someone add a note about the change in
`DEPRECATED.pod`.
[perl #40253] [PATCH] [CAGE] always cast printf("%p") to (void *)
<http://xrl.us/tz3q>
Ticket [perl #40253] <http://xrl.us/rjmv> received an update from Paul
Cochrane, who asked if the patch should still be applied. Will Coleda
was satisfied with whatever portions of the patch Paul had been able
to apply. This was done as r16211.
Assertions and MMD (on Windows XP) <http://xrl.us/tz3r>
Ron Blaschke had some problems with compiling Parrot on Win XP with
Visual C++ when assertions were enabled. He wanted to know if anyone
else had this problem, and why the assertion checks if the lowest two
bits of a function pointer are zero. chromatic explained that those
two bits will be zero if the pointer is raw. Leopold Toetsch added
that it was a hack, and the solution was to replace the table with an
MMD cache representation.
Janitor Tasks <http://xrl.us/tz3s>
chromatic reported that he was creating the next Perl.com newsletter
and needed a list of Cage Cleaner tasks suitable for someone with Perl
and C skills, but very little free time?
Bind to an Unspecified Port <http://xrl.us/tz3t>
Matt Diephouse is writing a PIR socket library. He found that if he
uses '0' as the desired port, the OS will select a port, but that
Parrot offers no way to discover what the port was. He included a
patch which fixed this for UNIX, and requested help with the Windows
version.
Users
Unwanted scalar references <http://xrl.us/tz3u>
Ovid thanked the mailing list for answering some of his earlier
questions. His latest question was how to dereference an unexpected
scalar reference.
hello, does anybody who knows the svn respo of synopsis docs?
<http://xrl.us/tz3v>
Fayland Lam asked for the location of the synopsis repository. Audrey
Tang replied with the repository URL <http://xrl.us/tz5p>.
Junctions as arguments (Pugs bug) <http://xrl.us/tz3x>
Ovid included a code snippet where he was casting a junction as a
string and received unexpected results. He wanted to know what the
proper response was, in order to write a test.
Jonathan Rockway was not sure what output could be expected from
say-ing a junction. He saw two possibilities, and thought that Ovid's
expectation was better, but wanted to hear other opinions before tests
were added.
Larry Wall answered that what Ovid described was standard
autothreading behavior, as described in S09.
Compiler
take: bug or feature? <http://xrl.us/tz3y>
Ovid posted some code which was failing with the latest Pugs and asked
if there was a problem with the code or Pugs. Sean O'Rourke also
thought it was a bug. Ovid later confirmed that it was a bug and it
was being worked on.
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/>