Perl 6 summary, 7-13 January, 2007

kudra on 2007-01-14T18:52:00

This week on the Perl 6 mailing lists

"...I think you're the path toward sanity."

-- Larry Wall, in 'Patterns'

Language

Numeric Semantics

Earlier, Luke Palmer asked for a clear definition of when math should use floating points and when it should be integer-based. This led to a great deal of discussion.

This week, a subthread started by TSa continued from Darren Duncan's previous post which proposed distinct operators for integer division/modulus and non-integer division/modulus. TSa felt that modulus should be defined by the Euclidean definition. Mark J. Reed proposed to define it in the conventional way. Several other people replied to the thread.

Patterns

Luke Palmer suggested removing two items from the smart match table in S03, namely the Hash and Array with Any on the right side. He preferred an extensible ~~ operator, which would allow him to define his own patterns. In short, with his proposal, ~~ would be singly-dispatched based upon the right argument, which would determine how the left was interpreted.

Larry Wall replied that he was concerned about the consistency between compile time and run time, but that was in fact also an argument against an anonymous Any on the right.

Jonathan Lang had some suggestions on how to implement reverse test instances. There was a brief discussion between Jonathan and Larry on this subject. Ashley Winters also offered a comment.

[svn:perl6-synopsis] r13515 - doc/trunk/design/syn

Larry Wall committed a change to S03 which affects smartmatching. He noted that it is still subject to change. Nicholas Clark and Luke Palmer offered some suggestions, which Larry responded to. TSa also commented on the thread.

[svn:perl6-synopsis] r13516 - doc/trunk/design/syn

In this commit to S03, Larry Wall clarified how the Grammar pattern finds its top rule. Jerry Gay questioned the use of top as a lowercase reserved word; he suggested TOP.

[svn:perl6-synopsis] r13519 - doc/trunk/design/syn

Another commit to S03 by Larry Wall modified smartmatching semantics. Darren Duncan noted a few possible errors, and Luke Palmer added some thoughts. This led Larry to consider a different approach, to avoid confusion.

[svn:perl6-synopsis] r13522 - doc/trunk/design/syn

This commit to S03 by Larry Wall included renaming LazyCat to Cat; eliminating .exists, replacing it with .contains; and removing Subset and Superset types.

Suggestion: minmax operator

Joe Gottman proposed an infix minmax operator, which could be used as a reduction operator.

Parrot Porters

[perl #41196] [PATCH]: File misplaced in MANIFEST

In ticket [perl #41196], James Keenan reported that the README file in t/tools/README mentioned in the MANIFEST did not exist. He included a patch to remove the entry from the MANIFEST.

[perl #41197] Does change to config/gen/makefiles/dynoplibs_pl.in cause make to fail?

James Keenan created ticket [perl #41197] to report problems with a failing make. He elaborated on the problem, which happened just a couple of hours after his last successful build.

use diff for string in some test

Lee Duhem proposed a facility for string differences in Test::More which could be used to perform tasks like ignoring insignificant whitespace. This would allow tests to continue passing even if the source had been changed to remove undesired whitespace.

Nicholas Clark felt that patches should be checked against the test suite, and that there were dangers in relaxing the tests to allow a broader definition of a string. Bernhard Schmalhofer replied that he felt t/examples/past.t was one of the few examples where ignoring whitespace would be useful, and noted that it is now being handled with a regular expression.

[BUG]: io/io_win32.c

Xi Wang suggested a change in io/io_win32.c to prevent a crash.

[perl #41198] [TODO] tools/dev/mk_manifest_and_skip.pl should be aware of MANIFEST.generated

In ticket [perl #41198], Bernhard Schmalhofer pointed out that several files are in the repository and mentioned in MANIFEST.generated, but that they are added to MANIFEST by tools/dev/mk_manifest_and_skip.pl. Jerry Gay explained that the files belonged in MANIFEST, not MANIFEST.generated. Paul Cochrane fixed this in r16482.

[perl #41201] [TODO] Remove temporary conf hack in Configure.pl

In ticket [perl #41201], Paul Cochrane noted that there is a temporary hack in Configure.pl which should be implemented properly.

PIR grammar in PGE

Klaas-Jan Stol was working on implementing a PIR grammar which allows more complex expressions to be written. He submitted a patch of the grammar to date.

[perl #40905] [CAGE] coding standards hammer too big

Ticket [perl #40905] was addressed with r16498. This task called for certain files to be exempted from coding standards.

[svn:parrot-pdd] r16498 - in trunk: . docs/pdds

This commit, by Paul Cochrane, adds a section explaining which files can be excluded from coding standards tests.

[perl #41214] [CAGE]: files from 'make languages-test' survive 'make clean'

In ticket [perl #41214], Patrick R. Michaud pointed out that make languages-test generates some files which aren't removed in a subsequent make clean or make realclean. He stated that, at the minimum, make clean should remove them, but that perhaps the tests should clean them up. Nicholas Clark commented that a pitfall with the tests doing the cleanup is that the files aren't deleted if the tests crash. Patrick agreed that in either case, make clean should remove them.

[perl #39905] [TODO] TGE - line number reporting.

In ticket [perl #39905], Will Coleda requested that compiled PIR files report error lines against the original .tg file. Patrick R. Michaud wanted to know if there was an imcc pragma or other standard approach to getting the correct line number. Will Coleda referenced a document with this information, and Patrick reported the issue resolved in r16509.

[perl #41217] [BUG] warnings in refactored calling convention code (src/inter_call.c)

Jerry Gay created ticket [perl #41217] to report that he had been unable to eliminate the warnings which were being generated in src/inter_call.c.

[perl #41218] [BUG] warnings in imcc lexer code

In ticket [perl #41218], Jerry Gay reported some warnings coming from the imcc lexer code.

Re: [perl #38584] [BUG] Punie test failures in set_node method on Solaris/SPARC

Andy Dougherty replied to Will Coleda about a test file which no longer exists. He stated that he did not mind closing the ticket ([perl #38584]), because the problem was probably not about Punie, but how Punie and PGE interacted. He included some information about his recent attempts to repeat the tests.

Allison Randal asked Andy if there was any way that someone could get access to the machine he was running the tests on, as they were not able to duplicate the problems.

[perl #41224] [BUG] SKIP behaves differently in Test::Builder and Test/Builder.pir

In ticket [perl #41224], Jerry Gay noted that Test::Builder and Test skip differently. He wondered which was the correct way to handle things. He felt that Perl's 'ok' was better than Parrot's 'not ok' because the Perl module had been around for a while. chromatic agreed with Jerry and changed the Parrot module in r16553.

[perl #41226] [TODO] hunt through DEPRECATED.pod and find things to deprecate

In ticket [perl #41226], Jerry Gay suggested that people could look through DEPRECATED.pod and deprecate things which have been scheduled for deprecation for some time.

[perl #41227] [TODO] update NEWS in preparation for 0.4.8 release

Ticket [perl #41227] is a reminder that the NEWS needs to be updated in preparation for release 0.4.8. Ticket [perl #41228] makes the same point about the CREDITS file.

[perl #41230] [BUG] t/codingstd/perlcritic.t uses too many resources

Jerry Gay complained that the perlcritic coding standards test was using too many resources, and asked in ticket [perl #41230] if someone could look in to this problem. Paul Cochrane reported that he thought there was a memory issue relating to critique() and that the memory was only freed up when the tests for a given policy are complete. Paul elaborated on what what he had attempted to address the issue.

[perl #41231] [TODO] exempt languages/ files from perlcritic testing

In ticket [perl #41231], Jerry Gay noted that coding standards must apply to core code, but not to languages.

[PATCH] Add get_name() Method to Namespaces

Earlier, chromatic submitted a patch to implement get_name() as specified in PDD21. Jerry Gay created ticket [perl #41235] to track the status of the patch, which he would like to see added before release 0.4.8. chromatic said that he hadn't applied it because a deprecation cycle was needed for the name() to get_name() renaming.

[perl #41237] [TODO] PMC Class name IDs will require a dot in front

Jerry Gay created ticket [perl #41237] to address an item in DEPRECATED.pod about PMC Class name IDs. He felt that either it should use one syntax or the other, but not both.

[perl #41238] [TODO] Perl PMCs

Jerry Gay created ticket [perl #41238] as a placeholder for an item in DEPRECATED.pod, namely removing unused PMCS PerlString, PerlUndef, etc.

[perl #41239] [TODO] undertested pmcs

Jerry Gay made a list of some of the core PMCs which he feels are undertested. The ticket [perl #41239] suggests that more tests be created.

[perl #41241] [BUG] Tcl doesn't compile/run on win32.

Will Coleda requested additional information on ticket [perl #41241], about Tcl not running on Win32.

[perl #41243] Link on Win32 with Borland C++

Steve Peters reported that Parrot can now be compiled with Borland C++ on Win32, but that this had linking problems. The ticket is [perl #41243].

[perl #41244] [TODO] update copyright data to 2007

Jerry Gay reminded people to update copyright notices from 2006 to 2007. This was ticket [perl #41244].

[perl #41247] [tru64] failure in tge/parser

In ticket [perl #41247], Jarkko Hietaniemi reported a failure on tru64 for tge/parser. Patrick R. Michaud reported that it had been fixed in r16570.

[perl #41248] [tru64] failure in pge_util

In ticket [perl #41248], Jarkko Hietaniemi reported a failure with pge_util on the tru64 platform. Patrick R. Michaud reported that it was fixed in r16570.

[perl #41249] [tru64] core dump in t/pmc/interp_3.pir

Jarkko Hietaniemi reported a core dump in t/pmc/io_1.pir on tru64, in ticket [perl #41249]

[perl #41250] [tru64] failures in p5regex/p5rx

In ticket [perl #41250], Jarkko Hietaniemi informed about failures in p5regex/p5rx on the tru64 platform. Patrick R. Michaud reported that he believed the failures were resolved in r16593 and asked for a confirmation.

[perl #41251] [tru64] core dump from t/pmc/resizablebooleanarray_20.pasm

Ticket [perl #41251] holds a report from Jarkko Hietaniemi about a core dump caused by t/pmc/resizeablebooleanarray_20.pasm.

[perl #41253] [tru64] core dump from t/dynoplibs/myops_3.pir

Jarkko Hietaniemi reported a core dump on tru64 from t/dynoplibs/myops_3.pir. This was done in ticket [perl #41253].

[perl #41254] [tru64] core dump from library/pg

In ticket [perl #41254], Jarkko Hietaniemi gave information about a core dump from library/pg on tru64.

[perl #41255] [tru64] core dump from t/pmc/pmc_5.pasm

In ticket [perl #41255], Jarkko Hietaniemi reported core dumps from t/pmc/pmc_5.pasm with tru64.

[perl #41256] [tru64] NaNQ failures in t/pmc/complex

In ticket [perl #41256], Jarkko Hietaniemi reported that many tests in t/pmc/complex fail because of nonportable assumptions about floating point operations.

[perl #41257] [tru64] core dump in t/pmc/io_1.pir

Jarkko Hietaniemi created ticket [perl #41257] to report a core dump from t/pmc/pmc_5.pasm on tru64.

Tcl windows make problems

Klaas-Jan Stol looked at why Tcl cannot build on windows. He was unable to fix it, but passed on what he had gleaned from his experience. Matt Diephouse appreciated the information, and committed a fix to resolve the issue. Jerry Gay confirmed that r16596 worked.

embedding

Isaac Freeman was wondering how communication between the embedding program and the scripts run by the interpreter is implemented. He offered to implement it if it was likely to be used. Jeff Horwitz pointed Isaac to some code Jeff wrote over a year ago, which could be used as a starting point.

Users

99problems: 9, 11, 13

Gabriele Renzi worked problem 13 from Ovid's list of 99 Perl 6 examples. The code was submitted, and the question of if it should be committed was asked. Ovid replied that if there's a bit, there should be a commit.

Acknowlegements

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