This week on the Perl 6 mailing lists

    "I once saw an overfilled waterbed that was almost as tall as I am. I
    would have called it PHP, but it didn't explode and throw cold water
    all over the house."

    -- chromatic


 Language

  clarifying the spec for 'ref' <http://xrl.us/rav8>

    Last week, Mark Stosberg wanted Perl 6 to retain the Perl 5 responses
    to `ref` or justify the change in the documentation. Larry Wall
    explained that `ref` will not exist in Perl 6; instead, it will be
    something like `.what`, which will return the type itself, rather than
    a string.

    The thread then moved on to subclassing, after Luke Palmer suggested
    that `Array` would be a subtype of `Array::Const`, after Larry had
    stated the reverse. This led to a lengthy discussion on the subject.

    This week, Richard Hainsworth tried to analyze situations involving
    classes and roles using sets and subsets. He started a new thread for
    the topic, Classes / roles as sets / subsets <http://xrl.us/rjmd>.

  Same-named arguments <http://xrl.us/rjme>

    In the previous week's summary, it was reported that Michael Snoyman
    asked whether or not arguments of the same name but a different sigil,
    e.g. `sub foo ( $foo, @foo )` will clash. Luke Palmer thought it was
    going to be a compile time error, due the to the arguments do not have
    the sigil as part of their long name. Mark J. Reed wondered whether or
    not that is consistent with the rest of Perl 6. Audrey Tang then
    explained the syntactic difference between pairs and named arguments
    with regard to barewords and quoted strings.

    On August 27th, Michael repeated a friend's suggestion of making the
    sigil on the name optional for disambiguation. Mark Reed also made a
    proposal, which included having the sigil be optional in some cases.

  Implicit current-index variable, scoped inside for-loops
  <http://xrl.us/rjmf>

    Carl M??sak reported a conversation from #perl6. There was a suggestion
    for a special variable which would carry the loop index. Ruud H.G. van
    Tol thought that if the block had a label you could have multiple
    indices attached to the name. Mark A. Biggar noted that it should also
    work for grep and map. There were some further discussions of syntax.
    Jonathan Scott Duff thought it would be too much sugar.

  Classes / roles as sets / subsets <http://xrl.us/rjmd>

    Continuing from his earlier message in thread clarifying the spec for
    'ref' <http://xrl.us/rav8>, Richard Hainsworth continued his quest to
    completely understand classes in Perl 6. Daniel Hulme made a
    suggestion on the diagrams.

    In Fwd: Classes / roles as sets / subsets <http://xrl.us/rjmg>,
    Jonathan Lang responded to Richard's questions and tried to answer
    them. chromatic brought up the question of the relationship between OO
    and inheritance.

  return Types: what are the enforcement details? <http://xrl.us/rjmh>

    Mark Stosberg wanted to write tests for 'return types' but wanted
    documentation on what cases (of a different type returned) should give
    errors. He also wanted to know if they are declarations or contracts.
    Yuval Kogman replied that `of` is the contractual form, while
    `returns` is a constraint which is more like a cast. He also took a
    guess at what results were appropriate.

  named arguments: What's the signature? <http://xrl.us/rjmi>

    Mark Stosberg felt that information on the signature to use to declare
    an arbitrary number of named arguments is missing from S06. Trey
    Harris thought that the description of slurpy parameters already
    covered the subject. Stuart Cook suggested reading 'List parameters',
    which he thought should be cross-referenced under 'Named parameters'.

  A suggestion for a new closure trait. <http://xrl.us/rjmj>

    Joe Gottman suggested a block closure trait `RESUME`, which would be
    called at the beginning of each loop iteration other than the first.
    Jonathan Lang asked if the relationship between `RESUME` and `FIRST`
    would be the same as `NEXT` to `LAST`.

  could 'given' blocks have a return value? <http://xrl.us/rjmk>

    Mark Stosberg wanted to use `given` to populate with whatever value
    was returned from `when {}` or `default {}`. He noted that Pugs allows
    this when you wrap a block in an anonymous sub, but suggested that the
    syntax could be cleaner.

    Jonathan Lang thought that the last expression evaluated within a
    closure is returned by the closure, and that `given` is just another
    closure. Agent Zhang reported that S04 states `given {}` cannot be
    used directly as an expression, but offered alternate syntax. It was
    concluded that `do given` is probably the best way to do this, and it
    should be documented.

  Questions about statement modifiers <http://xrl.us/rjmm>

    Agent Zhang wanted more information about statement modifiers than
    appears in S04 and included some code snippets, asking if they were
    valid Perl 6. Larry Wall clarified, and agreed to add the information
    to S04.

  derived class generators and introspection <http://xrl.us/rjmn>

    Darren Duncan described his thoughts on the subject of implementing a
    relational database in Perl 6. Nigel Hamilton had some questions on
    disk access and data storage.

  Naming the method form of s/// <http://xrl.us/rjmo>

    Mark J. Reed noted that according to S05, the string method equivalent
    of `s///` is `subst`. He felt it might be easily confused with
    `substr` and suggested `replace`.

    A long discussion on how the method would actually work followed.

  Uncaught exceptions <http://xrl.us/rjmp>

    Andrew Suffield asked how an uncaught exception should react in
    certain situations. He was unable to find anything in the synopses on
    the subject.

  Nested statement modifiers. <http://xrl.us/rjmq>

    Paul Seamons wondered if there was a reason why Perl 6 would not allow
    nested statement modifiers. Trey Harris reported that it was rejected
    by Larry in 2002 and gave a link. Jerry Gay thought a sentence on the
    subject should be added to S04. Trey noted that the synopses only
    address changes from Perl 5, and Perl 5 only allows one statement
    modifier.

    Paul noted that the object syntax and the Perl 6 grammar have changed
    since 2002 and wondered if the reasoning was still the same. Randal
    Schwartz thought that Larry's reasoning was that he had seen this
    feature abused in other languages. Paul agreed that there are few
    instances where it would be useful but still wanted the opportunity to
    abuse it.

 Parrot Porters

  PMC Methods, Inheritance, and User-visible Classes <http://xrl.us/rjmr>

    Matt Diephouse plans to work on `AbstractPMCArray` PMC class which can
    provide some default array vtable functions other PMCs can inherit. He
    was not certain how to best handle sort methods, which could
    potentially end up being visible to the user. He asked for opinions.
    Joshua Juran suggested requiring array classes to implement `swap()`
    and implementing sort algorithms in terms of that. Matt felt that this
    would not handle the underlying problem of methods not available in a
    given language becoming available to users.

    Watson Ladd wondered if it was bad to add functionality to a language,
    and chromatic responded. This led to a discussion on what exactly is
    wrong with PHP.

  #ParrotSketch Meeting 29AUG06 <http://xrl.us/rjms>

    Will Coleda posted the URL of the 29 August #ParrotSketch log
    <http://xrl.us/rjmt>.

  [perl #40253] [PATCH] always cast printf("%p") to (void *)
  <http://xrl.us/rjmu>

    In [perl #40253] <http://xrl.us/rjmv>, Will Coleda supplied a patch to
    change printfs arguments to avoid compiler warnings. However, the
    patch caused some test failures. Joshua Hoblitt wanted to know what
    compiler was generating the warnings. It was gcc 4.0.1.

  Why does writing PMCs suck? <http://xrl.us/rjmw>

    Matt Diephouse put out a call for comments on what people do not like
    about writing PMCs. He started the list with two complaints. chromatic
    added three.

  Proposed patch <http://xrl.us/rjmx>

    Mark J. Reed reported that compilation fails on OS X 10.3 with gcc 3.3
    because `-bundle` is misinterpreted. He supplied a patch to change the
    order of arguments which fixes the problem.

  Error Recovery in Parrot <http://xrl.us/rjmy>

    Alberto Sim??es tried to create an RT ticket but it was not added, so
    he reported the problem to the newsgroup. He finds it problematic that
    Parrot stops with the first error it encounters and doesn't report any
    other errors which may exist. He offered a patch and gave people a few
    days to object. Jerry Gay suggested applying it, and reported the RT
    problem.

  PGE bug? <http://xrl.us/rjmz>

    Will Coleda posted his attempt at implementing a JSON parser in PGE.
    He later found the bug that was causing him problems.

 Users

  multi subs with identical signatures: should be a warning ?
  <http://xrl.us/rjm2>

    Mark Stosberg wanted to know where he should read to learn how the
    dispatching to the correct multi sub is resolved. Markus Laire
    suggested looking at S12 and possibly S06.

  re: Announcing the Perl 6 and Parrot wiki workspaces
  <http://xrl.us/rjm3>

    Conrad Schneiker announced that he had added some information to the
    wiki. He felt that the interface was easy to use, and wondered what
    other people's experiences were. There was some discussion on why the
    connection was slow, and the reason seemed to be that it runs on Andy
    Lester's home machine. Andy tried to adjust his connection, and Juerd
    offered to host it on feather.

  Writing modules <http://xrl.us/rjm4>

    Michael Snoyman wondered how a to create a makefile and run tests for
    a module which wouldn't exist in the Pugs source tree. Gaal Yahas
    suggested not worrying about the makefile unless the module is
    intended for distribution. He suggested that `Test.pm` should be used
    for testing, and that the Pugs distribution has good examples of
    functional tests.

  Stubborn coworkers <http://xrl.us/rjm5>

    Jeff Stampes wondered how he could interest his coworkers in Perl 6
    topics, given some resistance to the syntax. Fagyal Csongor replied
    that the syntax is indeed full, because Perl 6--like Perl 5--tries to
    handle many different things. However, people need only learn a
    relevant subset. Amir E. Aharoni offered a link to samples of Perl 5
    and Perl 6 code, where the latter was much cleaner.

    Jonathan Scott Duff agreed with Fagyal, noting that the default syntax
    is clean. He suggested the fear may come from the possibility of
    changing the rules. A. Pagaltzis disagreed that the coworker's
    assertion that Perl 6 resembles Lisp and Forth. Steffen Schwigon
    suggested comparing Perl 6 to Perl 5. Several other people also
    contributed to the thread.

  Help getting pugs working? <http://xrl.us/rjm6>

    Jeff Stampes ran in to difficulties getting Pugs running on Red Hat
    Enterprise 4. Steffen Schwigon wondered if Jeff had tried one of the
    binaries. Later Jeff reported that he had it working.

 Acknowlegements

    This summary was prepared using Mail::Summary::Tools
    <http://xrl.us/qvno>, now available on CPAN. A big thank-you to Yuval
    Kogman.

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

 Distribution

    This summary can be found in the following places:

    * use.perl.org <http://use.perl.org/>
    * The Pugs blog <http://pugs.blogs.com/>
    * The perl6-announce mailing list <http://xrl.us/qycj>
    * ONLamp <http://www.oreillynet.com/onlamp/blog/>

 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>

Reply via email to