Re: [perl #39826] [CAGE] convert C<perl -w> to C<use warnings;>
In [perl #39826], Jerry Gay reported that many scripts contain
perl -w
, but the minimum Perl version is 5.6.2, so these should
mostly become use warnings;
. Swaroop supplied a patch, which
was applied as r13505.
[perl #39827] [TODO] implement is_abs_path()
Will Coleda reported the need for a C-level routine to determine if a given path is an absolute path. Ticket [perl #39827] was created to track this.
[perl #39829] [PATCH] accept() always fails
Kay-Uwe Huell noted that there is a failure with the accept()
op.
A patch was included in ticket [perl #39829] to fix this.
Leopold Toetsch could not replicate the error, nor could Chris Dolan,
who asked for more details of the failure. Later Leopold reported
a fix in r13332.
[perl #39831] TGE - Needs more diagnostics on failure.
Will Coleda felt that a slightly more informative error message would be useful. He suggested using PGE::Util::die. This was described in ticket [perl #39831].
[perl #39833] [TODO] Tcl - Make [rename] handle namespaces
In ticket [perl #39833], Matt Diephouse noted that namespace support
was added to Tcl, but rename
doesn't support it yet.
Patrick R. Michaud noted that Allison Randal had just updated PDD21 and offered a few changes in the text. Allison agreed with some of the changes and applied them. She asked if the named parameter passing techniques work on low-level PMCs defined in C. Leopold Toetsch replied that this is not yet the case.
[perl #39838] [PCC] mark non-returning functions with __attribute__((__noreturn__))
Chip Salzenberg created ticket [perl #39838]. In it he noted that some compilers have flags to mark functions which don't return, but all functions which don't return should be marked in this manner. Andy Lester said it would be done.
[perl #39842] [PATCH] Win32 PLATFORMS update (r13309)
Ron Blaschke included a patch in ticket [perl #39842]. The fix was to update PLATFORMS with information on failing tests. It was applied as r13316.
[perl #39843] [TODO] Tcl - Make todo tests show up as failures in dev environment
Tcl has some failing tests skipped and others simply failing when they should all be marked as TODO. Matt Diephouse started ticket [perl #39843] to address this problem.
[perl #39844] [BUG] Parrot doesn't do args checking for a sub without params
In ticket [perl #39844], Matt Diephouse showed some code he expected to fail with "too many args" but which printed "ok".
[perl #39845] [TODO] Better IMCC Errors: unexpected IDENTIFIER
Matt Diephouse wrote that IMCC throws an error when it encounters an unexpected identifier but doesn't specify what the identifier was. The issue is tracked as [perl #39845].
[perl #39846] [PATCH] Use only non-interpolated quotes for substituted values in dynpmc.pl
Ron Blaschke opened ticket [perl #39846] to note a problem with interpolated quotes and included a patch.
[perl #39849] [PATCH] pmc2c: Wrap MMD initializer code in block
Ron Blaschke created ticket [perl #39849] to supply a patch to make
languages/lua
compile on Win32. It became r13329.
[perl #39850] [TODO] [CAGE] lack Parrot::Config confusing....
Will Coleda wanted Cage Cleaners to make some changes which would reduce the number of questions asked about Parrot::Config::Generated. This was ticket [perl #39850], and it was resolved with r13647.
[perl #39851] [BUG] .HLL doesn't reset the .namespace
Matt Diephouse wrote in ticket [perl #39851] that Parrot should
assume .namespace
when it sees .HLL '...', '...'
.
[perl #39852] [TODO] Tcl - Create the ::tcl namespace properly
Matt Diephouse made a temporary hack to create the ::tcl
namespace.
It should be replaced with code which actually populates the namespace.
See ticket [perl #39852] for more details.
Vishal Soni raised issues with IMCC's reentrancy, due to the code that flex
emits. Audrey Tang and Sam Phillips suggested using alternative tools. Audrey subsequently fixed the flex related issues. Allison Randal further clarified on the long and short term goals of the IMCC compiler project, and the relevant plans for a 1.0 release.
[perl #39853] [BUG] Tcl - pwd returns path with backslashes on Win32
Ron Blaschke created ticket [perl #39853] to note a failure
due to Tcl's pwd
returning a path containing backslashes. Will
Coleda suggested a change in the OS PMC. Ron added his thoughts.
[perl #39854] [PATCH] adds preamble section to tge grammar to allow for includes and global defines
Kevin Tew created ticket [perl #39854] to send a patch which adds a preamble to the TGE grammar. Allison Randal thought the idea was important but needed refinement. She offered some background information.
Namespace.get_namespace() vs. optional params
In response to changes in PDD21, Chip Salzenberg felt the need to point out that currently, methods written in C cannot have optional arguments. Allison was aware of the problem and thought that the differences between low-level PMCs and Parrot objects defined in PIR code need to be minimized. Chip added a TODO ticket.
[perl #39855] configuration: define MIN/MAX macros for all integral typedefs
Chip Salzenberg created ticket [perl #39855] to state that
all integral typedefs should have min/max macros. He wanted
MAX_INTVAL
to go with INTVAL
and UINTVAL
.
[perl #39856] TODO: Produce Single PBC from Multiple PIR Files with -o
In ticket [perl #39856], Chromatic requested that Parrot be able
to produce a single PBC file from a command like parrot -o all_files.pbc
file1.pir file2.pir ...
. Joshua Hoblitt thought it would be a good
idea to define how symbol conflicts should be handled. Leopold
Toetsch believed that pbc_merge
can handle this, but Allison Randall
explained that it doesn't quite address the request. Chip Salzenberg
felt that was a bug, although Allison preferred to call it a feature.
Jerry Gay clarified how it worked by citing documentation and including
tests.
[perl #39857] [PATCH] Made httpd.pir RFC compliant (at least about CRLF)
Kay-Uwe Huell created ticket [perl #39857] for a patch to make
examples/io/httpd.pir
RFC compliant. It was applied in r13353.
[perl #39858] [PATCH] more elegant hex_to_int in examples/io/httpd.pir
Kay-Uwe Huell supplied a patch with a more elegant function for
hex_to_int
in [perl #39858].
Source cleanup ideas (pending STM merge)
Chip Salzenberg posted about some ideas he had in mind for source code cleanups. Andy Lester added Chip's suggestions to the Cage Cleaners' todo list.
Re: [svn:parrot] r13343 - trunk/compilers/imcc
Allison Randal requested that Audrey Tang roll back r13343 because the solution was not maintainable. Audrey complied, and requested an explanation on why it was not maintainable. Joshua Hoblitt and Allison discussed the problem.
Chromatic noted that revision 13345 caused command line parsing problems to be misreported. Audrey Tang asked if a separate change fixed this, and raised issues with segmentation faults. Eventually Matt Diephouse supplied a patch to improve reporting in a way that pleased everyone.
get_root_namespace opcode vs. interpinfo {cage cleaners?}
Chip Salzenberg asked if interpinfo .INTERP_ROOT_NAMESPACE
could
be removed, as get_root_namespace
is available. Allison Randal
agreed with the proposal.
flex/bison version for Parrot?
Chip Salzenberg wondered which versions of flex and bison will work. Audrey Tang replied: "Flex 2.5.33, Bison 2.2."
[perl #39864] [BUG] Compiling P6Regex within code substitutes part of string to match away
Kay-Uwe Huell created ticket [perl #39864] to supply a patch. Leopold Toetsch noted that it looked like a GC bug, but it was actually a COW string bug, fixed in r13400.
[perl #39867] Configure.perl --maintainer should check flex/bison versions
Chip Salzenberg requested in that Configure.perl
check if the user
has an outdated version of bison or flex. This was in ticket
[perl #39867]. Joshua Hoblitt marked the problem as fixed.
another item for the cage list: INTVAL_MAX etc.
Chip Salzenberg asked Andy Lester to add ticket [perl #39855] to the Cage Cleaners' list. Will Coleda advised putting '[CAGE]' in the ticket name.
[perl #39868] [CAGE] convert C<BEGIN { plan tests => NN; }> to C<use Parrot::Test tests => NN;>
In ticket [perl #39868], Jerry Gay noted that references to
BEGIN { plan tests => NN; }
should be converted to
use Parrot::Tests tests => NN;
. Will Coleda clarified that
if the number of tests is not known until runtime, they should
not be modified.
[perl #39877] [BUG] [CAGE] Distro tests incomplete
Writing in ticket [perl #39877], Will Coleda reported test failures in r13383 and r13385.
[perl #39878] [CAGE] generated files with timezoneless times
Will Coleda wanted to see any tools which insert time messages include the timezone. He wrote about this in ticket [perl #39878].
[perl #39879] [CAGE] t/distro/file_metadata.t failing
Will Coleda noted around 500 test failures related to SVN properties in ticket [perl #39879].
Chromatic reported that Parrot::Embed has been bundled in to releasable form: http://wgz.org/chromatic/perl/Parrot-Embed.tar.gz. He wanted to include it in the Parrot repository but was not sure how to best do this.
[perl #39892] [BUG] Bus error in t/pmc/eval.t#19
In ticket [perl #39892], Will Coleda reported bus errors with a test.
[perl #39897] [PATCH] TGE - add basic syntax error
Will Coleda provided a patch to update TGE to use PGE::Util::die. It was posted in ticket [perl #39897].
Chromatic included some code he thought should work and asked if it
would work. Leopold Toetsch disagreed, and listed several reasons why
it would fail. Chromatic asked where in the NCI PDD some of this
was documented. Leopold offered a pointer to src/call_list.txt
.
Shawn H. Corey reported that he was having problems installing Parrot following the README instructions and asked for help. Jonathan Rockway offered suggestions.
This led to Chris Dolan noting that he thought ICU was recommended but not required, but that he could not find documentation on the subject.
Later, Shawn also posted some replies he'd received from Andy Lester, for inclusion in a FAQ. Patrick R. Michaud advised against installing Parrot because of the potential for collisions between installed and local Parrot copies.
Further help was given in Help Understanding Configure.pl Output.
Re: [svn:parrot] r13424 - trunk/docs/art
Will Coleda wanted to discuss revision r13424 on the list.
[perl #39905] [TODO] TGE - line number reporting.
Ticket [perl #39905] was created by Will Coleda. Errors in an embedded PIR should be reported against the original .tg file rather than the generated PIR file. Patrick R. Michaud asked how this could be addressed, and Will included documentation.
Additions to docs/glossary.pod
Shawn H. Corey reported some terms which are not included in the glossary. Andy Lester added the patch, which became r13433.
[perl #39908] [BUG] IMCC treats $S as a non-register instead of throwing an error
Matt Diephouse created ticket [perl #39908]. He noted a situation where an error should be thrown but wasn't.
t/compilers/pge/p6regex/01-regex.t test 118 needs ICU?
Bob Rogers reported Parrot test failures when ICU is not used. Patrick R. Michaud applied Bob's patch as r13457.
[perl #39913] [BUG] TGE - Can't use } in the transform definitions.
Will Coleda noted in ticket [perl #39913] that the TGE grammar
doesn't understand embedded }
s.
[perl #39914] [PATCH] Fix Path Quoting in file.t Test
Ron Blaschke noted that slashes were causing problems on Win32. He supplied a patch in ticket [perl #39914].
Vishal Soni asked for help in flex debugging syntax. Leopold Toetsch supplied the answer.
Allison Randal finished reading through all PDDs and now plans to go through them to update and expand them with open discussions. PDD17 is first on the list, and the order of the list can be influenced by request. Joshua Hoblitt asked to se PDD25 reviewed. Jerry Gay noted that there are RT tickets which organize the review and discussion of each PDD.
Parrot users: 'make realclean'
Chip Salzenberg suggested that people make realclean
and rebuild
for the next update, and noted that people should read commit logs.
Will Coleda wrote a list of issues regarding basic types.
[perl #39921] [CAGE] generated by tools/dev/mk_manifest_and_skip.pl
In ticket [perl #39921], Will Coleda noted that the MANIFEST from r13493 was being reordered due to the fact that it was being generated by File::Find. r13649 fixed this problem.
[perl #39924] Can't build parrot
Pratik Roy asked, in ticket [perl #39924], what the requirements
were for building Parrot. Jerry Gay noted that Perl 5.6.1 or greater
is a requirement, and changed Configure.pl
to give appropriate error
messages in r13523.
Will Coleda is considering making a test harness in Tcl for Tcl, but was not sure how he could reliably run the tests from inside a sandbox at arbitrary directory levels.
[perl #39925] [BUG] IMCC - bus error
Will Coleda created ticket [perl #39925] to report a problem with building Tcl in r13510.
[perl #39928] [PATCH] [Win32] Remove Quotes for lazy-k calc.t on Windows
Ron Blaschke submitted a patch as [perl #39928] to fix a problem with single quotes being passed on literally on Windows.
[perl #39930] [BUG] concat unicode+iso-8859-1 doesn't work w/o ICU
In ticket [perl #39930], Patrick R. Michaud noted that concatenation of a Unicode string with an ISO-8859-1 string fails if ICU isn't available, while other Unicode concatenations just work.
[perl #39931] [TODO] integrate svn and rt
Jerry Gay felt that SVN commits with a marker denoting the ticket number should automatically update the RT ticket, and created ticket [perl #39931] to suggest this. Will Coleda asked a bit about how RT would respond to different situations.
[perl #39932] [TODO] enable bulk operations in rt
Jerry Gay wrote [perl #39932] to request that bulk operations be possible for some RT admins to create new tickets from a file.
[perl #39933] [BUG] compreg-related bus error
Will Coleda wrote in [perl #39933] that he encountered a bus error when trying to create a test for something else. Leopold Toetsch thought it was a syntax error and consolidated it with ticket [perl #39892].
[perl #39934] [PATCH] Make disassemble useful.
Kevin Tew created ticket [perl #39934] to request feedback on a patch.
[perl #39939] [TODO] exhaustively test new {set,get}*global and get*namespace opcodes
In [perl #39939], Chip Salzenberg reported that the new PDD21 opcodes need complete tests.
new {get,set}*global opcodes from pdd21 are available
Chip Salzenberg announced that the global variable opcodes as listed
in PDD21 are now {get,set}_global
, {get,set}_hll_global
and
{get,set}_root_global
. The old {fetch,store}_global
will soon
be deprecated.
[CAGE] Request for header file renaming
Luca Regini wondered if it might be possible to rename
../include/parrot/string.h
to something like
../include/parrot/parrot_string.h
because string.h
collides with
a file of the name in the standard C library, causing issues with
SPLINT
. Jerry Gay and Andy Lester thought the change would be
fine so long as Parrot compiles and passes tests afterwards.
[perl #39979] [TODO] Tcl - More tests for [expr]
Matt Diephouse created ticket [perl #39979]. In it he noted that unary operators with string operands and % tests with floats still need tests.
[perl #38887] Result of INFINITY or NAN stringification is platform dependent
Ron Blaschke added some functions, Parrot_math_isnan
and
Parrot_math_finite
and asked if there was a good way to test
if the platform supplies IEEE recommended functions like _finite
and _isnan
and use them if they are available. Bill Coffman
replied that there is no platform independent way to produce
Nan or Inf, but offered some optimization tips.
NaN and infinity were also discussed in Inf and NaN.
[svn:parrot-pdd] r13593 - in trunk: . docs/pdds/clip
Bob Rogers responded to Allison Randal's commit to suggest that introspection capability is always a good idea.
Partial fix to make closures invoke actions
Bob Rogers included a patch he was not sure he should apply. The patch
defined Parrot_rewind_stack
as a stub, changed Continuation:invoke
to
use the stub, and modified tests. Problems with the patch are that it
doesn't invoke the actions in the right dynamic environment, and it
is linear in the current stack depth instead of linear in the number of
entries that must be traversed. He asked if the patch should be applied,
postponed, or replaced with a more comprehensive fix.
[config] New Configure.pl option --m=32
Leopold Toetsch reported that r13597 enables compiling 32-bit
executables with JIT on his AMD X2 box running x86_64-linux with
perl Configure.pl -m=32
and a few configuration adjustments..
Re: [perl #39986] Create Default PackFile for New Interpreter (Parrot C API)
Chromatic created ticket [perl #39986] to report that there is
no default PackFile for the situation where he has created a new
interpreter with Parrot_new()
and wants to compile and run code
through Parrot_compile_string()
without having to read and load
bytecode from disk.
It was reported that this was fixed in r13613, but Chromatic had further questions. There was further discussion between Chromatic, Leopold Toetsch and Chip Salzenberg. Chip requested some cleaning on namespace pollution, and Andy Lester replied that it is on his list.
[perl #39987] [PATCH] patched editor text-highlighting for vim
In [perl #39987], Kay-Uwe Huell noted that a few words were incorrectly
highlighted in vim, and provided a patch for editors/pir.vim.in
. It
was applied as r13704.
[perl #39990] External API and C Strings
Chromatic wrote that where possible, the external API should take an
receive C strings and created ticket [perl #39990] for the purpose
of tracking this change. Leopold Toetsch replied that the distinct
STRING
* or Parrot_STRING
type doesn't make much sense and he had
proposals for changing this.
[perl #39992] [TODO] t/op/01-parse_ops.t: figure out how to test parsing of pmc constant parameters
Jerry Gay reported in [perl #39992] that r13601 checks the parsing of every Parrot opcode except for those which accept PMC constants. The remaining opcodes require tests.
"Parrot: Evolution v2" presentation
Chip Salzenberg supplied the link to the most recent version of "Parrot: Evolution", which he delivered at OSCON 2006.
[perl #39995] [PATCH] Minor patch for config/gen/makefiles/editor.in failing copying files
Kay-Uwe Huell created ticket [perl #39995] to report a failure
with make vim-install
in a Cygwin environment. A patch was supplied
to deal with whitespace in directory names.
[perl #39997] [PATCH] PGE P5 Test Cleanup
David Romano submitted a patch to clean up the regex tests taken from Perl 5. Jerry Gay raised the an issue with the data file being shared with Perl 5, after which David supplied an additional patch, moving todo/skip information to an outside file. Jerry applied.
Kevin Tew wanted information about TGE design goals and plans. Allison Randal replied that the plan is to have a single set of OST node classes used by all languages, a task Vishal Soni is currently at work on. She included a link to the first draft of the compiler tools plan, which Patrick R. Michaud is at work on updating so that it can be converted to a PDD.
[perl #40002] TGE Refactor / Compiler Tools Object
Kevin Tew created ticket [perl #40002] to ask a number of questions about the TGE refactor and cited several other tickets. There were some replies in August. Patrick R. Michaud replied with information about the plans for TGE. Allison Randal and Patrick R. Michaud contributed summaries of a conversation they had at OSCON. Jerry Gay also commented.
Onward & Upward: More New Assignments
Allison Randal announced that Patrick R. Michaud will be taking primary responsibility for the development and maintenance of TGE. Allison will continue working with Patrick on the architecture of TGE and the rest of the compiler tool suite.
[perl #40010] [TODO] Add a mutex to eval_nr in compilers/imcc/parser_util.c
In ticket [perl #40010], Matt Diephouse noted that a change in r13628 is not thread safe and needs to be modified.
[PATCH] Add a String IO Layer.
Chromatic supplied a patch to add a stringy IO layer and fix some typos. Leopold Toetsch thought it looked good and agreed with Chromatic's assessment that there were indeed some matters for cage cleaners in the IO layer.
Will Coleda supplied information on how to fix a problem with the
svn checkout related to a recent patch in Parrot::Config
.
Will Coleda included some code which was not working in Tcl. He thought the error originated in the Parrot code base, and asked some questions. Bob Rogers had difficulty replicating the problem; Chromatic suggested using a newer Test::Harness because prove is not included in the older version. Leopold Toetsch felt this was in conflict with the Parrot README prerequisites list.
Will said that the problem was fixed in r13696. He also reported that Tcl's test suite is being converted from using Perl to being self-hosting in Tcl. Bob reported some additional problems in r13715. Will noted that Tcl was undergoing a lot of changes this week. There was some further discussion with Matt Diephouse on the Tcl changes.
Matt Diephouse proposed implementing three types of core PMCs: NaN,
Inf and NegInf. Jerry Gay reminded Matt about negative-not-a-number,
and there was some discussion about whether -NaN exists, which led to
the question of whether the fact that NaN != NaN
unless there is
optimization in the comparison could be used in isnan and finite tests.
There was also discussion on infinity and NaN in thread [perl #38887] Result of INFINITY or NAN stringification is platform dependent
[svn ci] r13703: Start fixing the exit_handler mess - API change
Leopold Toetsch reported that r13703 makes some incompatible API
changes. It replaces the global exit_handler_list
with an
interpreter field, and changes Parrot_on_exit
, Parrot_exit
and
other exit_handlers to officially take an Interp* argument.
[perl #40030] [PATCH] compiler/imcc missing dependency
In [perl #40030], Fonseka reported some missing dependencies which were preventing compilation and provided a patch. In the end it turned out to be a problem with an old Parrot installation.
Compiler
[ANNOUNCE] Pugs 6.2.12 and v6.pm released!
This message was cross-posted to perl6-users; please look at [ANNOUNCE] Pugs 6.2.12 and v6.pm released! (reformatted).
Allison Randal asked if it was a bug or a feature that no matter
which whitespace rule matches, if :sigspace
is on, newlines are
treated as ignorable whitespace. Patrick R. Michaud found a reference
in S12 which defines the search order for rules.
Vanilla Perl, Win32, and Data::Bind support.
Audrey Tang responded to a #perl6 request to build a Data::Bind binary distribution for Win32-ActivePerl by building it on VanillaPerl build 3.
Perl 6 compiler docs released - graffle questions, compiler questions
George Wood and Audrey Tang released new versions of documents and wondered if there was a way to automate the export of the JPG and HTML files that set up the image maps. George also had further questions for Audrey, which she answered.
Audrey Tang reported that the CPAN version of v6.pm now passes all Pugs sanity tests. She is especially pleased with the independent layers, which allow people to use modules like Class::MOP and Data::Bind without switching to the v6 interface.
making v6 test suite its own distro
Darren Duncan suggested further decoupling implementations from the Perl 6 specifications by distributing the Perl 6 test suite as its own distribution, so that v6.pm does not require Pugs just to test it. Gaal Yahas mentioned some of his concerns, and pointed out the Chimps project, which is trying to do something similar. There was also some discussion on whether requiring support for features in Test.pm should be a requirement for an implementation. Jerry Gay also joined the discussion.
Acknowlegements
Yuval Kogman once again contributed summaries for some of the threads.
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.
See Also