The Perl 6 summary for the month of April 2006

kudra on 2006-07-23T20:18:33

Perl 6 Compiler

synopses

Sean Sieger asked if synopses were publically available. Jonathan Scott Duff and Will Coleda responded with information on read-only access to the archives.

first barest-bones Relation implementation committed

Darren Duncan announced that he has begun to implement a Perl 6 Relations class, and described some of the features of the class.

[svn:parrot] r12294 - trunk/languages/perl6/lib

Nick Clark commented on this revision, which was not the final form of the patch. He also had a question on POD and whitespace, which Patrick R. Michaud answered.

Infix macro := reparsing the LHS?

Audrey Tang asked for details on the infix macro where she felt that specifications did not clear up how it would be used in practice. Larry Wall obliged with a clarification, and, following a conversation on IRC, posted more information.

Pugs build error OS X

Will Coleda reported a problem with building r10048. Darren Duncan suggested trying r10054, which did not have the same problem for him.

error building pugs: "Could not find module `Data.ByteString'"

Dave Whipp reported a problem with installing pugs r10142, but then updated to r10166, which solved the issue..

Perl 6 Language

'temp $x;' with no assignment

Yuval Kogman offered his opinion on how temp should react with an earlier my declaration in an outside scope. Several people responded.

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

Audrey Tang submitted a patch relating to the S06 document. Nick Clark asked why unint autoboxes when int does not. Amos Robinson suggested an alternate interpretation of the text, which turned out to be correct.

replacement of $

In early April, "Larry" suggested replacing $ with the Euro symbol. Darren Duncan pointed out that $ is used in several countries, and not just in the US and proposed using the gold standard of 'Au' to prefix variable names. The thread continued with further April Fool's day silliness, ending with Yuval Kogman noting that if Larry had participated in the keysigning party at OSDC this joke wouldn't have been possible.

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

Audrey Tang submitted a patch to fix capitalization. Uri Guttman picked an even smaller nit, and then they discussed having a docathon at YAPC::NA::Chicago.

curly-quotes

Jonathan Lang wrote to propose having ` quotes in both single and double variations to be used with ' and ", which would allow them to match the way parentheses and brackets do. Larry Wall pointed out some of the difficulties in using characters outside of Latin-1 Unicode.

Context and coercion

Joshua Choi asked what the conceptual difference is between context and type coercion. According to Larry Wall, there's no difference. Larry then helped defined coercion.

Do junctions support determining interesections of lists

Joshua Gatcomb wrote to the list with additional questions on junctions, following up from his post of the previous year. Larry Wall answered that Sets have replaced Junctions for the use described.

Set Theory (Was: Do junctions support determining interesections of lists)

Jonathan Lang asked if Perl6 Sets will include set negation or a universal set. Larry Wall noted that some existing functions sort of consider this question, although not for Sets defined by rule. Discussion continued, with others joining in.

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

Following another patch post, Rutger Vos asked if the purpose of the list was to receive subversion logging messages. Jonathan Scott Duff added his opinion that patches were a part of the language design.

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

Revision r8573 introduced some changes that TSa questioned and Juerd disliked. Damian Conway explained the reason the changes were needed, and several people offered alternatives.

$a.foo() moved?

Matt Fowles noted that there had been a change and asked when it happened, noting that he preferred the previous style. Larry Wall replied that it had changed at the last hackathon but was still being debated. Some of the debate spilled in to the thread.

On signatured code attributes of a class

Joshua Choi asked if it was possible to use a particular syntax, and noted that #perl6 is quite active. He requested that someone summarize the channel.

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

Larry Wall submitted a patch and then commented on the patch. Nick Clark had a question on the long dot form and Larry Wall and Ruud H.G. van Tol offered perspectives.

Another dotty idea

Larry Wall returned to the subject of the long dot, which he felt was too specific. He made a new proposal involving the delayed postfix problem. There was a long discussion on this suggestion.

slurp, quine and context sensitivity

Dan Kogai requested a version of slurp() which would unconditionally return a scalar, and proposed swallow(). Damian Conway offered some suggestions within the current framework.

The "whatever" context

Yuval Kogman proposed 'whatever' to return the natural context of an operation regardless of the actual context. Larry Wall noted that the example, which involved grep, already had this functionality, and Yuval asked if this was also true for other functions.

int context ?

Herbert Breunung wrote that in the Perl 6 book there was 'Integer context' and 'Numeric context' but that he had not noted 'Integer context' in the synopses. He wondered if the concept had been discarded. Larry Wall clarified that it still exists.

foo..bar or long dot and the range operator

TSa was unclear on what the numerous long dot discussions had accomplished and asked about a few cases. Larry Wall attempted to clarify, and TSa had some further questions. chromatic was also uncertain of the purpose of the long dot, and Daniel Hulme saw his point. Damian Conway tried to further define the problem.

placeholder vs. lexical variables

Dan Kogai ran in to a failure with Pugs while trying something defined in s06. Audrey Tang noted that the compiler list would have been more appropriate, but that r9913 fixed the issue.

Capture Object: why no verb?

Dave Whipp felt that it was an omission that capture objects do not consider the verb. Audrey Tang responded with an ans

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

A submitted patch sparked a discussion on the verb 'parse' on #perl6, which Audrey Tang summarized. 'token:w' was seen as a better form of removing the ambiguity. Others also posted comments on the synopsis.

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

Uri Guttman replied to a patch by saying that he was confused by many of the recent changes. He requested additional examples. A few people also addressed the documentation changes in that patch.

=$fh vs *$fh

Audrey Tang merged some ideas after seeing similarities between them, and wondered if it could be seen as a general case for = to return the next thing. Larry Wall expressed some concerns, to which Audrey responded.

svn links for the Architecture section on the website?

Elyse M. Grasso suggested that the synopses could link to the svn site because the versions are lagging on dev.perl.org. Robert Spier responded that he had modified the dev site for more regular updates.

S05: Interpolated hashes?

Markus Laire asked for an example of how two sections of s05 relate to one another. A couple of people attempted to answer the question.

Adverbs

Jonathan Lang asked how adverbs were defined and accessed within a subroutine. Larry Wall and Damian Conway answered.

S5 - Question about repetition qualifier

Joe Gottman noted that the repetition qualifier described in s05 seems restrictive. Several people responded on whether the additional suggestions would be used.

Perl 6 built-in types

Darren Duncan had a few comments after reading s06. He discussed this with Larry Wall, and others added their two cents.

values of undef and JavaScript

Stéphane Payrard wondered about the nature of 'undef' as a value vs. 'undef' as the uninitialized variable state, especially in the context of interoperability with JavaScript.

S02 - s/environmental variables/environment variables/g please

Randal Schwartz issued a plea for consistent use of 'environment variables' over 'environmental variables'. There was a brief discussion on whether these described two different concepts.

german perl6 tutorial

Herbert Breunung announced that he is at work on a German-language version of the Perl6 tutorial and requested help from anyone fluent in German.

Parot Porters (formerly perl6-internals)

The parrot-porters list was called perl6-internals during the period covered by this summary.

Value PMCs in Parrot?

Audrey Tang is in the process of porting Pugs's native PIL VM to Parrot, which gave her the idea of translating the concept of 'value objects' to Parrot. Joshua Isom, Leopold Toetsch and Chip Salzenberg responded to the suggestion.

MSWin32 (Visual C++ 8.0) Test Results (r12017)

Ron Blaschke reported failing tests in r12017. chromatic replied that it was fixed in r16032.

[perl #38823] [BUG] solaris 10 w gcc

Leopold Toetsch noted a bug ([perl #38823]) caused by the configuration system ignoring commandline options.

[PATCH] My first patch, for builtins.*

Andy Lester supplied a patch and said he hopes to do the same sort of source code cleanup in Parrot that he's been doing in Perl 5. It was applied as r12096. There was a brief discussion on how to coordinate cleanup.

[perl #38840] Use File::Spec instead of /dev/null

In [perl #38840], Will Coleda noted that direct references to /dev/null/ should be updated to use File::Spec.

[perl #38841] [TODO] Split exec run core into two distinct run cores

Bernhard Schmalhofer created ticket [perl #38841] to address some improvements for JIT.

[perl #38844] [TODO] Make lint, splint and tags targets

Andy Lester requested a few changes, such as renaming the lint target to splint.

[perl #38849] Move internal header files out of 'include/parrot'

In [perl #38849], Bernhard Schmalhofer proposed that some header files which are only included by C source files be moved to another location.

[perl #38850] [BUG] Getopt/Obj.pir dies on non-existent options

Allison Randal reported bug [perl #38850], which Bob Rogers felt could be attributed to r11444. The problem involves how get_options reacts to a non-existent option.

early draft of exceptions PDD

Allison Randal posted an early draft for exceptions and requested feedback. Bob Rogers posted a contribution to the document. This led to a discussion on HLL exception handlers.

[perl #32642] [TODO] Remove Perl* PMCs from parrot's basic PMCs, src and languages

In [perl #32642], Bernhard Schmalhofer noted that Perl* PMCs are no longer used in the Parrot core. He asked if it was possible to rename or move the PMCs. Several people agreed, but it was pointed out by Patrick R. Michaud that Chip Salzenberg did not want Parrot to change significantly until 1.0.

Re: [perl #32507] [TODO] ResizableIntegerArray missing vtables (e.g., pop)

In April, [perl #32507], which turned out to not be related to PGE, was marked as resolved.

installing svn parrot

Sean Sieger asked if there was a problem with Parrot, and Nick Glencross offered an installation suggestion.

Re: [svn:parrot] r12129 - trunk/src

Nicholas Clark was afraid r12129 was masking the real bug, but Leopold Toetsch explained the reasons behind the patch.

t/examples/streams.t issue on Windows

Ron Blaschke reported a failing test on Windows and suggested changing svn:eol-style to "LE" or to have tests normalize CRLF to LF.

[perl #38888] PGE::P5Regexp failures.

In ticket [perl #38888], Will Coleda noted that the Tcl test suite has failures. There was some discussion on the location of the problem, and a patch was created and applied as r12181.

[perl #38896] [TODO] Integer PMC missing math methods.

Will Coleda reported in [perl #38896] that there are many math ops that work on Float PMCs but not Integer PMCs. Nicholas Clark and Patrick R. Michaud expressed some concern over the behavior. More discussion followed.

[perl #38897] [TODO] fail during makefile generation if line ends in '/'

Jerry Gay made a request in ticket [perl #38897] for slash replacement during makefile creation.

[perl #38903] Tcl - namespace borkage

In [perl #38903], Will Coleda reported that Tcl's use of globals in the _Tcl namespace was causing issues.

Parrot_init shouldn't be described in doc/embed.pod

Pawel Murias submitted a patch which removes Parrot_init. It was applied as r12200.

[perl #38907] namespace-related bus error

Will Coleda reported a Parrot bus error in ticket [perl #38907], which was resolved with r12201.

[perl #38914] perl Configure.pl fails on Mac OS X 10.4.6 on Intel iMac

Gregor N . Purdy created a ticket ([perl #38914]) which turned out to be a false alarm.

@slash@ in Makefile.in Files

chromatic noted that a patch replaced @slash@ with / in the Makefile and wondered if the former was still required or even desired. Both Jerry Gay and Will Coleda recommended using /.

[perl #38929] [TODO] Get executable code out of .h files

Andy Lester proposed, in ticket [perl #38929], that functions in include/parrot/jit_emit.h be removed and up in a .c file.

Re: [perl #38931] [RFE] Double-quoted strings automatically determine string type

In [perl #38931], Patrick R. Michaud noted that double-quoted strings are assumed to be ASCII unless prefixed by a charset identifier such as 'unicode:'. He felt it would be useful if PIR emitters in Parrot automatically used \u or \x in double-quotes to generate an identifier. Nick Clark said that he felt the reason for the ASCII assumption was to avoid the ambiguity that comes from assuming the identifier. There was further discussion, and in the end Patrick withdrew his request.

Namespaces TODO list, April 16 '06

Chip Salzenberg posted a list of things to do to bring Parrot in line with the namespace revisions in pdd21. chromatic asked for clarification, which was provided.

namespace bug 2?

Will Coleda reported a possible namespace bug. Leopold posted a workaround, and Chip Salzenberg fixed it in r12310.

tcl lexical failures, PDD20, PDD21

Will Coleda had some thoughts on why Tcl was having failures, and answered his own post due to an off-list contribution from Matt.

[perl #38957] hash test failures

In [perl #38957], Will Coleda reported a persistent failure. There were other reports of failures, and some of successes.

[perl #38958] hash/iterator failures

In [perl #38958], Will Coleda reported some long-running bugs. Matt Diephouse reported that he did not see the problem.

RFC: Possible SoC Proposal

Alberto Simões reported that there was a proposal to create a compiler for LISS. chromatic thought it sounded like a good idea, and Ruben Fonseca expressed interest. The discussion continued in another thread.

What version of perl is required?

Andy Dougherty reported a mismatch between documentation and configuration as to which version of Perl 5 was required. This was resolved.

[perl #38960] [BUG] test troubles

In In [perl #38958], Leopold Toetsch reported some failures. Some additional questions were asked, and Megavlad expressed interest in Parrot bytecode.

Working on languages/python

Tyler Coumbes posted to inform that he is working on getting the Python PMCs to compile with the current Parrot release (0.4.3).

[perl #38964] .sub names can't be Unicode.

In [perl #38964], Will Coleda reported a bug. It was addressed with r12863.

[perl #38969] parrot source does not conform to standards

In [perl #38969], Jerry Gay reported that there are many exceptions when running per tools/dev/check_source_standards.pl.

[perl #38975] [PATCH] Update PLATFORMS

Several failing tests were reported in [perl #38975]. Andy Dougherty offered a patch, which was applied as r12427.

[perl #38976] ResizablePMCArray uses too much memory

Andy Dougherty created ticket [perl #38976] to report a massive increase in memory requirements.

[perl #38978] [PATCH] Fix unitialized register error in t/pmc/file.t

Andy Dougherty supplied a patch with [perl #38978], which was applied as r16031.

[perl #38979] [PATCH] Explictly close file in t/pmc/mmd.t

Andy Dougherty supplied a patch with [perl #38979], which was applied as r12424.

[perl #38982] [TODO] refactor long test files

Jerry Gay proposed that some test files be refactored, as they were too long. This was in ticket [perl #38982].

is_deeply() is painful

chromatic asked for some suggestions on handling nested data structures for his work on is_deeply() in Test::More in PIR. Leopold Toetsch and Audrey Tang offered suggestions.

Updated PGE

Patrick R. Michaud reported that he had checked in r12442, which contains a large set of updates to PGE.

MSWin32 (Visual C++ 8.0) Test Results (r12442)

Ron Blaschke reported a series of failing tests, some of which were already reported. Others were fixed, and others were known TODO items.

[perl #39013] [PATCH] Two more uninitialized registers

Andy Dougherty supplied a patch in [perl #39013], which was applied as r12503.

[perl #39018] t/pmc/complex failures on Solaris 8/SPARC

Andy Dougherty created [perl #39018] to document some non-urgent failures.

Hundreds of errors?

Andy Dougherty reported many failing tests, and Patrick R. Michaud asked for clarification.

[perl #39035] [BUG] r12465: dynpmc build fails on win32

Jerry Gay reported this problem in [perl #39035]. It was quickly resolved. However, there was another error, which was then put in ticket [perl #39038] (see also another thread).

Acknowlegements

Yuval Kogman created Mail::Summary::Tools (coming soon to a CPAN mirror near you), which made it much easier to write summaries.

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