Perl 6 mailing list summary for the month of June, 2006

[email protected] (Ann Barcomb) Sat, 5 Aug 2006 23:59:25 +0200 (CEST)
Newsgroups perl.perl6.announce
Message-ID <[email protected]>
Perl 6 mailing list summary for the month of June, 2006

    Summary updates

     This post continues with the task of addressing the Perl 6 summary backlog.
     The following schedule is planned for the remaining updates:

     * 13 August: July
     * 20 August: August to date

     After the 20th of August I hope to return the summaries to a weekly
     schedule.


  perl6-users

   class introspection and extension <http://xrl.us/qc4r>

     Max Demmelbauer is in the process of porting his web-framework project to
     Perl6 had had a question on how he could serialize objects and extend a
     class. Thomas Wittek offered an example of syntax and gave links to the
     documents the information was derived from. Conrad Schneiker noted that he
     and other people on the #perl6 IRC channel would be happy to help if the
     mailing list didn't yield answers.

   Conditionally included list elements <http://xrl.us/qc4s>

     A. Pagaltzis asked if Perl 6 has a construct to express conditionally
     included list elements, which require several steps in Perl 5. A couple of
     people responded with suggestions.

   Revised Perl++ Wiki Proposal / $1k bounty <http://xrl.us/qc4t>

     Discussion on the prize for a Perl 6 wiki written in Perl 6 continued (RE:
     $1,000 prize for Perl 6 Wiki written in Perl 6 <http://xrl.us/qc4u>), with
     Ovid clarifying what the Perl Foundation would require in order to get
     involved.

     This led to Conrad Schneiker starting this thread, outlining his revised
     proposal: namely, to install twiki and gradually convert it to Perl 6. The
     prize would be offered to the group or person who performed a series of
     tasks Conrad listed. There was some discussion on the new proposal.

     Meanwhile, the original thread spawned several other conversations:

     * Name of this wiki <http://xrl.us/qc4v>
     * Perl++ Wikicosm <http://xrl.us/qc4w>
     * OT: wiki engine architecture <http://xrl.us/qc4x>
     * OT: "my wiki syntax is better than yours" <http://xrl.us/qc4y>

     May's summary <http://xrl.us/qc4z> contains a description with how the wiki
     project began.

   Multi Method Questions <http://xrl.us/qc42>

     Chris Yocum had some questions about multi keyword and multimethods in
     general. Steffen Schwigon advised reading S06. Steffen then asked when his
     examples would be used in practice. Several people responded.

     The next thread <http://xrl.us/qc43> grew out of the discussion.

   Can foo("123") dispatch to foo(Int) (was: Multi Method Questions)
   <http://xrl.us/qc43>

     This thread grew out of Multi Method Questions <http://xrl.us/qc42>, with
     Markus Laire asking for clarification. The discussion continued in
     perl6-language.

  perl6-language

   Synchronized / Thread syntax in Perl 6 <http://xrl.us/prkj>

     John Drago asked if the syntax for synchronized and threaded restrictions
     had been worked out. This led to a discussion on the term 'synchronized'
     and alternative phrases, such as 'is serial', 'locked' and 'is exclusive'.
     A number of people, including Larry Wall, replied with syntax suggestions.

   Concurrency: hypothetical variables and atomic blocks <http://xrl.us/prkk>

     Jonathan Lang asked how an atomic block differs from one where all
     variables are hypotheticalized, and why the 'retry' exit statement would be
     needed. Several people noted differences, which led to a lengthy discussion
     on different types of locking.

   About default options ':ratchet' and ':sigspace' on rules
   <http://xrl.us/qc44>

     Shu-chun Weng, who is working on 'MiniPerl6' in Pugs, uses a Perl 6 grammar
     to describe `Pugs::Grammar::MiniPerl6` and had two suggestions on how rules
     could be changed to make them easier to write: ignore spaces where they are
     irrelevant, and change `:P5/\s+/` to use `\s*`. Patrick R. Michaud had
     examples of why ignoring whitespace might be problematic, and recommended
     using a token statement instead. Information about the
     `Pugs::Compiler::Rule`'s parsing was added by Audrey Tang to S05 in r9442.

   Perl5 -> Perl 6 Translations Design Document <http://xrl.us/qc45>

     Sage La Torra was working on a design document detailing translations and
     asked for review. Jonathan Worthington found a possible edge case, and
     Larry Wall clarified. Several other people had minor suggestions.

   ~~ with * <http://xrl.us/qc46>

     Daniel Hulme wrote about the two positions on how smart-matching against
     booleans should work. Larry Wall added some clarification on `when .true`,
     `when True`, and deprecated `when true`. Eric had some further thoughts on
     booleans.

   statement-ending } with if <http://xrl.us/qc47>

     Daniel Hulme asked if someone could explain how `}` on a line can end a
     statement (as described in S04), but can also be used in an uncuddled else.

   YAPC::NA Synopsis Hackathon <http://xrl.us/qc48>

     Uri Guttman proposed a synopsis edit hackathon at YAPC::NA Chicago.

   easier duck typing in .can <http://xrl.us/qc49>

     Yuval Kogman suggested that `.can` would be extended to allow
     `$object.can(Class)` and `$object.can(Role)`. Sam Vilain wanted to know why
     `.does` or `.isa` couldn't be used in this context. Yuval explained that
     this would be useful if you do not control an $object's class.

   Parrot 0.4.5 Released! <http://xrl.us/qc5a>

     Leopold Toetsch announced the release of Parrot 0.4.5.

   lvalue functions and lvalue parameters <http://xrl.us/qc5b>

     Daniel Hulme had a question concerning the workings of lvalues. Jonathan
     Scott Duff offered his opinion on what he would expect in each of the cases
     Daniel presented. Sam Vilain also weighed in.

   bind variable name to type <http://xrl.us/qc5c>

     Daniel Hulme asked if it would be useful to have a way of 'binding' a
     variable name to a given type in a specific lexical scope, so that every
     time a variable with that name is declared within the scope it receives the
     same type.

   Classy logging for Classes <http://xrl.us/qc5d>

     Szilakszi B‡lint posted a request to collect ideas on how optional logging
     could be added to classes. Yuval Kogman added a suggestion, but added that
     he felt the most useful logs are manually added to give the most meaningful
     information.

   type name 'str' in Synopsis <http://xrl.us/qc5e>

     Darren Duncan noticed in S12 that the 'Enums' section refers to a 'str'
     type but S06 does not. He suggested updating the documentation.

   features of and declaring Mapping|Set|Hash values|variables
   <http://xrl.us/qc5f>

     Darren Duncan has seen similarities between features of the Set type,
     Mapping type and the Hash type and wondered if some features could be
     expanded. Sam Vilain commented on several of the points.

   Delegating and defining a method at the same time <http://xrl.us/qc5g>

     Adriano Ferreira asked what would happen if a class both handles something
     via `has` and also uses `meth` to introduce an alternate definition.

   [svn:perl6-synopsis] r9725 - doc/trunk/design/syn <http://xrl.us/qc5h>

     In response to Audrey Tang's commit, Aaron Crane noted that he understood
     why 'environmental' had been changed to 'contextual' but questioned whether
     'contextual' was the best alternative because 'contexts' already have a
     meaning. He proposed 'ambient variables'. Audrey responded that a context
     is passed along with your calls, and in that sense 'want' is a contextual
     variable.

  perl6-internals

   [perl #38594] [BUG] source line numbers <http://xrl.us/qc5i>

     In February, Leopold Toetsch noted in ticket [perl #38594]
     <http://xrl.us/qc5j> that source line information is off by at least one on
     several instructions in PASM/PIR. Vishal Soni started to look in to the bug
     in June, and in July the patch was applied.

   namespace bug 2? <http://xrl.us/qc5k>

     In April, Will Coleda reported that `find_global` is affected by the
     .namespace directive, when he thought it should only be affected by the
     .HLL directive, and Chip Salzenberg made a correction.

     In June, Leopold Toetsch noted that `NameSpace.parent()` is now
     implemented. There was a brief discussion on this new feature.

   [perl #38964] .sub names can't be Unicode. <http://xrl.us/qc5m>

     Will Coleda created a ticket ([perl #38964] <http://xrl.us/qc5n>) because
     `.sub` names written in unicode gave errors. Leopold Toetsch fixed it in
     r12863 and noted that additional tests would be welcome.

   [perl #39244] [PATCH] Initialize I and N registers. <http://xrl.us/prnv>

     Andy Dougherty created ticket [perl #39244] <http://xrl.us/qc5o> to offer a
     patch to initialize I and N registers, because they are 0 in DEBUGGING
     builds, but in non-debugging builds they are not consistently set. Leopold
     Toetsch applied a modified version of the patch.

   [perl #39245] [PATCH] Update Platforms -- Late May 2006 <http://xrl.us/prnw>

     In May, Andy Dougherty created ticket [perl #39245] <http://xrl.us/qc5p> to
     introduce a patch to include updates from his Solaris 8 results, and to
     update the `PLATFORMS` document in general. Leopold Toetsch applied the
     patch in June.

   [perl #39255] Revision 12862 fails tests on OS X <http://xrl.us/qc5q>

     Tim Bunce authored ticket [perl #39255] <http://xrl.us/qc5r> to report
     failing tests. These were previously known issues, according to Will
     Coleda, but he was later able to report that as of r12867 they were fixed.

   Parroters in Frappr <http://xrl.us/qc5s>

     Alberto Sim›es reported that there is a map of people working on Parrot and
     invited people to add themselves to it.

   grammar: difference between rule, token and regex <http://xrl.us/qc5t>

     Rene H. M¿ller asked for a clarification on the differences between rule,
     token and regex. Jerry Gay suggested S05 for information on the recent
     changes on these topics. Patrick R. Michaud also provided a quick summary.

   [perl #39272] failures in languages/tcl/t/cmd_lsort.t <http://xrl.us/qc5u>

     Will Coleda created ticket [perl #39272] <http://xrl.us/qc5v> to report
     failing tests that he was unable to isolate.

   STM frontend design docs <http://xrl.us/qc5w>

     Charles Reiss included a design for the PASM-visible interface to software
     transactional memory, which is also available at <http://xrl.us/qc5x>. He
     requested comments. Leopold Toetsch replied.

   [perl #39313] [TODO] or [BUG] improve PMC compiler <http://xrl.us/qc5y>

     In ticket [perl #39313] <http://xrl.us/qc5z>, Leopold Toetsch described
     some code which is just ignored by the PMC compiler and invited patches.
     Klaas-Jan Stol identified the location of the problem but could not fix it.
     Joshua Juran added some comments as well.

   Inconsistent find_global 'not found' handling <http://xrl.us/qc52>

     Bob Rogers reported that if a namespace key with a single component is not
     found, Parrot reports the error, but if the namespace name is compound, a
     null PMC is returned. He supplied a patch to make it throw an error as
     well.

   [perl #39329] Check to make sure PMC_str_val, etc. are used appropriately
   <http://xrl.us/qc53>

     Matt Diephouse wrote ticket [perl #39329] <http://xrl.us/qc54> to note that
     `PMC_str_val` and relatives are not guaranteed to work for subclasses.

   [perl #39378] Pheme Segfault with Keyed Class Names <http://xrl.us/qc55>

     Chromatic penned report [perl #39378] <http://xrl.us/qc56> to describe a
     failure he encountered with tests after applying a patch to port Pheme's
     class names to the new keyed style. Leopold Toetsch felt that it might be a
     GC bug. A fix was applied in r12950.

   [svn ci] .Net to PIR translator <http://xrl.us/qc57>

     Jonathan Worthington posted the URL of his dissertation
     <http://xrl.us/qc58> on translating .Net assemblies to PIR.

   A question about .begin_eh <http://xrl.us/qc59>

     Bob Rogers requested some clarification of a portion of
     `pdd23_exceptions.pod` from late May, dealing with `.begin_eh`. He wondered
     if this meant that the current process of searching for an
     Exception_Handler object on the control stack would be replaced with a
     search through sub metadata when an error is thrown, and asked about how it
     would interact with `pushaction`. Chip Salzenberg agreed that Bob's
     interpretation of the plan was correct and noted that no resolution had
     been reached with `pushaction`. A discussion on the merits of different
     ways of handling it ensued.

   [perl #39425] [TODO] namespaces: store_global variant <http://xrl.us/qc6a>

     Will Coleda created ticket [perl #39425] <http://xrl.us/qc6b> to request a
     `store_global` opcode that accepts a multi-element NS key. Jonathan
     Worthington implemented it.

   [perl #39426] [BUG] Can't build with cygwin. <http://xrl.us/qc6c>

     In [perl #39426] <http://xrl.us/qc6d>, Will Coleda reported that the Cygwin
     build fails in r12926.

   [perl #39430] Method cache not always invalidated <http://xrl.us/qc6e>

     Jonathan Worthington created ticket [perl #39430] <http://xrl.us/qc6f> to
     report that `Parrot_store_global` and `store_sub` call
     `Parrot_invalidate_method_cache` but `Parrot_store_global_p` and
     `store_sub_p` do not.

   [perl #39454] [TODO] [easy] $svn keyword expansion$ <http://xrl.us/qc6g>

     In ticket [perl #39454] <http://xrl.us/qc6h>, Will Coleda suggested that
     someone clean up the repository to correct unexpanded svn `Id` tags.

   Re: [perl #38788] make test results <http://xrl.us/qc6i>

     Ryan Hinton reported that r12936 was failing. This was in response to Will
     Coleda's request for a check against r12926 or later, which was in itself a
     reply to a FreeBSD failure report from March ([perl #38788]
     <http://xrl.us/qc6j>).

   resumable exceptions <http://xrl.us/qc6k>

     Chip Salzenberg wondered if Parrot exceptions were resumable, and if it was
     important if they were. Larry Wall said that he did not feel it was
     necessary to include special code to make exceptions resumable, but noted
     that documentation was missing. John M. Dlugosz, previously in favor of
     resumption, related the story of his conversion. Larry replied about how
     his initial termination stance had been modified.

   [perl #39483] [TODO] fix PGE::OpTable comments, test. <http://xrl.us/qc6m>

     Will Coleda created ticket [perl #39483] <http://xrl.us/qc6n> to suggest a
     fix. He thought it looked like double '#' were needed for comments. Patrick
     R. Michaud did not have the same experience with r12990.

   Readonly PMCs and types <http://xrl.us/qc6o>

     Leopold Toetsch responded to an IRC comment on the type number and type
     name of read-only PMC variants. Klaas-Jan Stol, Chromatic and Larry Wall
     offered their opinions.

   [perl #38146] [TODO] OS.pmc - file copy 38146 <http://xrl.us/qc6p>

     In January, Will Coleda created ticket [perl #38146] <http://xrl.us/qc6q>
     to request that OS.pmc provide a `copy(source_file.target)` and a
     `copy(array_of_source_files.targetDir)`. There was a long discussion on
     whether this should be done.

     In June, Vishal Soni wrote about an attempt to implement the request in
     this ticket. Leopold Toetsch and Vishal discussed the requirements and
     implementation.

   threading creation syntax proposal <http://xrl.us/qc6r>

     Charles Reiss included a proposal to change the syntax for the creation of
     threads, to move away from the three-tiered threading system. Jonathan
     Worthington had a few comments, which Charles responded to.

   [perl #39552] Segfault on FreeBSD during make <http://xrl.us/qc6s>

     David Landgren reported in ticket [perl #39552] <http://xrl.us/qc6t> that
     he was getting a segmentation fault when trying to gmake the latest sync.
     Leopold Toetsch thought it sounded like a conflict with an existing
     installed Parrot, and suggested the removal of any installed Parrot
     libraries.

   [perl #39597] Problems with string constants in method calls
   <http://xrl.us/qc6u>

     In ticket [perl #39597] <http://xrl.us/qc6v>, Matt Diephouse noted that a
     portion of `languages/tcl/src/class/tclcommand.pir` is giving problems for
     Parrot. He later identified `pbc_merge` as the source of the problem, which
     Jonathan Worthington confirmed and fixed in r13020.

   lexical lookup and OUTER:: <http://xrl.us/qc6w>

     Jerry Gay proposed that a three-argument form of find_lex be employed to
     specify where to start finding lexicals in support of `OUTER::` from S04;
     the third parameter would be an integer specifying the level in the chain
     where the lookup should start. Discussion led to the suggestion of an
     opcode.

     Nicholas Clark wanted to know if it was logical to write opcodes such as
     this one in Parrot assembler. Audrey Tang replied, and there were
     additional followups.

   [perl #39615] [TODO] get_outer op not defined in PDDs <http://xrl.us/qc6x>

     Jerry Gay noted in ticket [perl #39615] <http://xrl.us/qc6y> that there are
     tests for `get_outer` in `t/op/lexicals.t` but the opcode is not documented
     anywhere. He thought it should go in PDD20.

   Parrot IO <http://xrl.us/qc6z>

     Vishal Soni wondered if Parrot IO would be implemented with opcodes or PMC.
     Jonathan Worthington replied that the most recent thoughts on the topic
     were in PDD22.

   Search order for load_bytecode et al <http://xrl.us/qc62>

     Jonathan Worthington wondered if the search order for `load_bytecode`
     should be changed to look in the current working directory first, as a
     solution until it is possible to set the search order.

   Parrot Platform API <http://xrl.us/qc63>

     Vishal Soni proposed defining a Parrot platform API that all Parrot ports
     would need to implement, which would remove platform-specific code out of
     the core logic. Nicolas agreed with the proposal, while Nicholas Clark
     noted that Chip Salzenberg was at YAPC::NA and might take some time to
     reply.

   [perl #39638] [PATCH]38594 <http://xrl.us/qc64>

     Vishal Soni created [perl #39638] <http://xrl.us/qc65> to include a patch
     for `imcc.y` to fix a decrementing counter at the start of a `sub` token.

   [perl #39648] PGE - bad variable name <http://xrl.us/qc66>

     In ticket [perl #39648] <http://xrl.us/qc67>, Will Coleda posted Patrick R.
     Michaud's request that `lastpos` be renamed.

   Pm's YAPC::NA talk online <http://xrl.us/qc68>

     Patrick R. Michaud posted slides from his YAPC talks, 'Perl 6 Compiler
     Status and the Parrot Compiler Toolkit' and 'Parser, Perl 6 Rules, and the
     Parrot Grammar Engine'. Audrey Tang thanked Patrick for the talk, and
     included links to her own talk, 'Deploying Perl 6'. Will Coleda's 'Parrot
     Target Practice' slide link was also posted.

     * Perl 6 Compiler Status and the Parrot Compiler Toolkit
       <http://xrl.us/qc72>
     * Parser, Perl 6 Rules, and the Parrot Grammar Engine <http://xrl.us/qc69>
     * Deploying Perl 6 <http://xrl.us/qc7a>
     * Deploying Perl 6 <http://xrl.us/qc7b>
     * Deploying Perl 6 (HTML and images) <http://xrl.us/qc7c>
     * Parrot Target Practice <http://xrl.us/qc7d>

     Jo‹o Cruz Morais had some questions concerning Patrick's talk, which
     Chromatic, Jonathan Scott Duff and Patrick answered.

   Namespaces Redux <http://xrl.us/qc7e>

     Matt Diephouse ran in to problems implementing namespace support in Tcl and
     had a few questions. Chip Salzenberg replied, and in the end it was
     determined that some of Matt's requests were already met, and that one
     should be a bug report.

   [BUG] parrot 0.4.5: Configure.pl: tru64 <http://xrl.us/qc7f>

     Jarkko Hietaniemi reported a problem with Parrot with `tgetnum` and asked
     if there was a way to add verbosity to show what commands are being run.
     Leopold Toetsch advised `perl Configure.pl --verbose-step=snprintf`, and
     Jarkko included a more detailed report. Jarkko resolved to get the admins
     to compile a newer `libreadline` after some discussion with Leopold. Will
     Coleda felt the test for readline should be improved. There were some
     discussions on how to do this.

   [perl #39663] [TODO] perl coding standards <http://xrl.us/qc7g>

     Will Coleda wrote in ticket [perl #39663] <http://xrl.us/qc7h> that Perl
     coding standards should be determined, then enforced with a `.perlcriticrc`
     file, and a test should mention files which fail to conform.

   IMCC Register Allocation Algorithm <http://xrl.us/qc7i>

     Vishal Soni suggested changing the register allocation algorithm to 'Linear
     Scan Allocation'. Chromatic thought that it would be nice to have the
     implementation to benchmark, and to have IMCC cleaned up in the process.
     Watson Ladd thought bin packing would be an even better choice.

   [perl #39669] No PIR Compiler Available for Embedded Parrot
   <http://xrl.us/qc7j>

     Chromatic created ticket [perl #39669] <http://xrl.us/qc7k> because there
     is no PIR compiler available for embedded Parrot. Leopold Toetsch said the
     PIR compiler is registered in `imcc_init()`, which should probably be
     called during the Parrot init sequence. Chromatic applied a patch as
     r13066.

   pdd23 <http://xrl.us/qc7m>

     Chip Salzenberg wrote that he had a complete exceptions PDD.

  perl6-compiler

   TGE update <http://xrl.us/qc7n>

     Allison Randal finished a round of refactoring and feature additions to
     Parrot's tree grammar engine (TGE). She posted a summary of the changes.

   Perl6 without GHC or Parrot? <http://xrl.us/qc7o>

     Andy Dougherty looked in to whether it would be possible to deploy Perl6 on
     a system which runs neither GHC nor Parrot using v6-pugs. Flavio S. Glock
     offered some installation help. There was some further discussion on the
     state of the project.

   Re: State of Perl6 Backends <http://xrl.us/qc7p>

     Audrey Tang replied to Swaroop C H's post asking about the numerous Perl6
     backends, offering clarification on the different implementations. There
     was additional discussion on the state of the implementations, with
     Chromatic also joining in. Uri Guttman mentioned the Chicago YAPC docathon
     could work on making this clearer.

   problem compiling UTF8 on Win32 <http://xrl.us/qc7q>

     A problem was reported with compiling UTF8 on Win32, but the same poster
     discovered that `PUGS_EMBED` had been set tp 'perl5' and removing the
     setting fixed the problem.

    Acknowlegements

     Yuval Kogman helped once again.

     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]>.

  See Also

   * Perl Foundation activities <http://blog.perlfoundation.org>

   * Perl 6 Development <http://dev.perl.org/perl6>

   * Planet Perl Six <http://planetsix.perl.org/perl6>