This week on the Perl 6 mailing lists
"The current pugs implementation is just translating to the old form underneath, so it's not surprising it's a bit off. That's the sort of thing that happens when the language designer gives the language implementor whiplash. However, I rather suspect the interpersonal metaphorical meaning was lost on the physicist/comic who decided that the 3rd derivative of position should be called 'jerk'. :)"
-- Larry Wall, in 'What should file test operators return?'
Language
Earlier, Thom Boyer responded to Damian Conway's post from November which thanked people for offering feedback on the first draft. Thom said that he had been unable to find the XHTML version of S26 and wondered if it was available.
Jerry Gay replied that there wasn't a pod parser available yet. Damian responded with the requested file, and said he still hoped to finish the Pod6 parser but he wasn't sure when he would have time.
Ævar Arnfjörð Bjarmason asked if Damian could post the code he currently has, so that others could work on it.
This week, Damian responded by uploading Perl6::Perldoc
to CPAN.
Ævar
and Damian worked to improve the test suite.
brian d foy is working on 'Learning Perl 6' and had some questions about
for the I/O chapter. He saw that while(<>){...}
became
for=$*ARGS{...}
but noted this didn't work in Pugs. He wondered if
it was a documentation error or an implementation error.
Moritz Lenz mused about why it wasn't =@*ARGS
but couldn't answer
brian's question. brian replied that $*ARGS
is a filehandle, not
a list of files. David Vergin remarked that there was a typo in S28
and corrected it.
using <sp> space in character classes
Brad Bowman noted that S05 lists sp
under named assertions
but doesn't explicitly mention it in the character class section.
He wondered if it could be used in that way. Larry Wall replied that
it could be, but it needs to be generalized.
What should file test operators return?
brian d foy noted that file test operators return false or the filename, when he would have expected a true. He wanted to update S16 to clarify the situation. Later Larry Wall said he would attempt to clarify S03.
Moritz Lenz and Damian Conway had some suggestions for the syntax in brian's code. Juerd Waalboer and Larry Wall also joined the conversation on the subject of giving printf a boolean output template. They found it too specific.
Brandon S. Allbery noted that Pugs does not implemented the specification as it is documented. He thought junction types aren't completely ready.
John Macdonald and Mark J. Reed also contributed to the thread.
Parrot Porters
Jonathan Worthington noted that PDD 15 describes both add and
remove vtable methods for attributes, parents and roles, but only
add_method
exists for methods. He wondered if remove_method
should also exist.
Allison Randal went ahead and added it, after a bit of internal debate.
[perl #42332] [TODO]: Eliminate t/tools/ops2pmutils/testlib/Capture.pm
Ticket [perl #42332], by James Keenan, asked for some subroutines
to be moved into lib/Parrot
. This was fixed in r18040.
[perl #42334] PGE compiler faults out "set_integer_keyed() not implemented in class 'Undef'"
In ticket [perl #42334], Jim McKim reported a fault when compiling an example grammar. Patrick R. Michaud replied that there was a problem with the cut operator not being applied to a particular term. He saw it as a request to improve the error message when a cut token is applied to a null term.
inspect and inspect_str from PIR
Jonathan Worthington reported that he had implemented the
inspect_str
and inspect
vtable methods for the Class PMC.
He had a question about the implementation.
Allison Randal replied that she had added an opcode inspect
and a method inspect
on roles and classes to the PDD.
[perl #42336] segfault happens with 'parrot --pre-process-only'
Jim McKim reported a segmentation fault when Parrot is invoked with -E
.
This was ticket [perl #42336].
[perl #42337] [PATCH]: Configure.pl: Refactor list of steps into Parrot::Configure::Step::List
James Keenan created ticket [perl #42337] to paste a patch which
moved some of Configure.pl
's functionality (listing steps in the
configuration process) to a module. This was applied as r18157 and
r18158.
[perl #42339] [CAGE] Test Valid and Invalid Parrot Flags
chromatic reported that there are no tests for Parrot's response to invalid
command-line arguments. He suggested adding some in ticket
[perl #42339]. James Keenan said that he had recently added a
test of this sort. chromatic clarified: he meant command-line arguments
to the Parrot executable, not to Configure.pl
.
[perl #42349] [TODO] dotnet - fix various ops for 64 bit architectures
Paul Cochrane made a note that some ops need to be fixed for 64-bit architectures in ticket [perl #42349].
[perl #42352] [TODO] fix or remove strange TODO item in hash() op
In ticket [perl #42352], Paul Cochrane noted that
src/ops/pmc.ops
has a todo item marked 'XXX' which lacks an
explanation of what the problem is.
[perl #42359] [PATCH] Assorted cleanups - part III (Intel C++)
Steve Peters submitted a patch in ticket [perl #42359]. This cleans up some warnings when compiling Parrot with Intel C++. chromatic got some warnings when running the patch. He made some changes to the patch and sent it in. Steve said he would need to look into it further.
[perl #42360] [TODO]: Unit tests for Parrot::Revision
In ticket [perl #42360], James Keenan reported that
lib/Parrot/Revision.pm
has no unit tests.
[perl #42362] [TODO]: Unit tests for modules used during configuration
James Keenan indicated that there is a considerable amount of
code in the config/
tree which isn't covered by tests. He
requested some unit tests in ticket [perl #42362].
[perl #42371] [TODO] check if object.can(method) in callmethodcc() op
Paul Cochrane created ticket [perl #42371] for a todo item in
src/ops/objects.ops
. Jonathan Worthington thought that it was
unnecessary and suggested removing the comment. Allison Randal
agreed.
Klaas-Jan Stol submited a patch which alters json.in
to make it
pass nmake test
. It was committed as r18063.
[perl #42383] [TODO] imcc - if frame->s.file was allocated free it
Paul Cochrane created a number of RT tickets based upon 'todo' messages in the code source:
compilers/imcc/imcc.l
- [perl #42382], [perl #42383], [perl #42384] compilers/imcc/imcc.y
- [perl #42385] languages/regex/lib/Regex/Grammar.y
- [perl #42393] src/opts/pics.ops
- [perl #42353], [perl #42354], [perl #42355], [perl #42356] src/ops/pmc.ops
- [perl #42350] src/ops/stack.ops
- [perl #42369] src/ops/object.ops
- [perl #2372] src/ops/io.ops
- [perl #42373], [perl #42374] src/ops/experimental.ops
- [perl #42375], [perl #42376] src/ops/debug.ops
- [perl #42377], [perl #42378], [perl #42379] src/ops/core.ops
- [perl #42381] Jerry Gay remarked that the Parrot ticket queue is growing every week; there are currently more than 500 tickets, many of them unclassified by type. He asked for volunteers to help make the queue more manageable.
In another thread, which was part of ticket [perl #41858], Mark Glines said he had taken on the task of making a reasonable set of rules for splint. He ran into several problems. Paul Cochrane tried to answer the questions as best as he could.
The great "class" variable renaming
Steve Peters has had problems with the use of 'class' as a variable
name in struct_vtable
. This needs to change for his compatibility
work to progress further. He suggested pmc_class
as an alternative.
Klaas-Jan Stol remarked that he thought the word namespace
should
also be used carefully.
Jonathan Worthington began working on the association between classes and namespaces specified in PDD15. He had some questions, which Allison Randal answered.
[perl #42406] [PATCH] improper null testing in Parrot_instantiate_object
Alek Storm reported in ticket [perl #42406] that he had a patch
to fix a bug in which the init
vtable method override is called instead
of init_pmc
. After one week he wondered why no action had been taken.
[svn:parrot-pdd] r18096 - trunk/docs/pdds
A commit by Allison Randal added opcodes and methods for 'inspect' to Objects PDD.
[perl #42407] [PATCH] refactor vtable overriding, delegate.c generation
In ticket [perl #42407], Alek Storm submitted a patch which refactors and optimizes methods involved in vtable overriding.
[perl #42411] [PARTIALPATCH] Building a 32bit parrot on freebsd under amd64 fails.
Joshua Isom created ticket [perl #42411] to submit a patch which allows Parrot to be configured for 32-bits on a 64-bit machine. This does not completely fix the problem.
[perl #42412] Configure.pl things =no is true
Joshua Isom thought that configure should treat --foo=no
is false instead
of true. He reported this in ticket [perl #42412].
Christian Aperghis-Tramoni reported an error he saw when compiling Parrot on Linux.
call for help: pdd15 implementation
Jerry Gay highlighted the implementation of PDD 15 as a key goal for the 0.4.11 release (which has since taken place). He suggested that people could help by reviewing docs/code/tests.
modifying classes after they're instantiated
Allison Randal began by remarking that Jonathan Worthington had raised the question of the strategy for safely changing classes which already have instantiated objects. She offered a few alternatives. Both Leopold Toetsch and Allison thought her fourth suggestion was the best one. Alek Storm liked it too, but had another option.
There was some further discussion about the best implementation, with Bob Rogers also joining in.
[perl #42427] [CAGE] cleanup perlcritic errors
Jerry Gay noted that many tests fail in t/codingstd/perlcritic.t
.
In ticket [perl #42427] he expressed his hope that these things
could be addressed before the next release.
[perl #42429] [BUG]: docs/submission.pod: Confusing use of term 'test'
James Keenan reported that he found instances of the word 'test'
confusing in docs/submission.pod
. He asked for clarification in
ticket [perl #42429].
[perl #42430] [PATCH] make :vtable imply :method
Alek Storm created ticket [perl #42430]. This contained a patch
which makes the :vtable
sub pragma imply the :method
pragma.
What followed was a long discussion on why someone might want to
set :vtable
without setting :method
. Alek, chromatic, and
Allison Randal contributed to this deeply nested thread.
[ANNOUNCE] Hackathon Toronto, Saturday April 28
James Keenan announced a spur-of-the moment hackathon in Toronto. It was held on Saturday, April 28th.
[Proposed PATCH] Change libparrot Names and Locations
Ron Blaschke proposed a patch to change the libparrot names and locations for Windows, which he included in his message. Jerry Gay added his comments, and noted that it is nice if tests are included. There was some further discussion on how to improve the patch.
Limiting Exported Symbols on GCC
Ron Blaschke kicked off this thread by wondering if there was a feature to limit exported symbols with GCC. Steve Peters was concerned about adding GCC features to Parrot, as this could break compatibility with other compilers.
Nicholas Clark remarked that Perl 5 has been successful with using
flag data in embed.fnc
and generating annotated headers automatically.
Jerry Gay agreed with Nicholas and suggested that if a function isn't
meant for public consumption, it shouldn't be available. Joshua Isom
suggested that people can use whatever functions they want, but if they
aren't documented, they are likely to be broken in future releases.
Joshua Isom was concerned that it had been a long time since there had been failure-free smokes, and people were becoming accustomed to test failures.
Joshua Hoblitt and nahoo82 also contributed to the thread.
[perl #42474] [PATCH] Remove dangling enum commas
Steve Peters submitted a patch in ticket [perl #42474] which removes dangling commas in enum lists. It was applied as r18175.
[perl #42475] [PATCH] Change asm() to __asm__()
In ticket [perl #42475], Steve Peters supplied a patch to help
Parrot compile with -ansi -pedantic
. It was applied as r18176.
Bug Day: Saturday, 14 April 2007
Matt Diephouse announced that Saturday 14 April was a bug day to prepare for the 0.4.11 release. This release was made on 17 April.
[perl #41894] segfault happens when invoking poll op
Earlier, Jim McKim created ticket [perl #41894] to report a segmentation fault.
Will Coleda offered a patch, which Nuno Carvalho applied. Jonathan Worthington reported that the patch broke the build for Win32. He committed a correction in r18187. Joshua Isom suggested an alternative way of addressing the problem.
Compiler
request for a few Pugs parser updates
Darren Duncan asked for a few features to be added to the Pugs parser. There were three requests in total, which Darren hoped could be easily implemented by the right people.
Moritz Lenz reported being unable to do a make smoke
for the last few
weeks. Larry Wall thought that the problem looked like a resource
exhaustion or lockup, possibly related to embedded/tunneled Perl 5.
He asked for more output, which Moritz supplied.
Agent Zhang pointed to a post by chromatic which he thought
might relate to the solution.
interactive pugs fails in safe mode
Wim Vanderbauwhede reported failures with interactive Pugs when
PUGS_SAFEMODE
is true.
Acknowledgements
This summary was prepared using Mail::Summary::Tools, available on CPAN.
If you appreciate Perl, consider contributing to the Perl Foundation 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, kudra@domaintje.com.
Distribution
This summary can be found in the following places:
See Also