This week on the Perl 6 mailing lists

    This summary has been posted early because I will be going to OSCON
    Europe on Sunday. Next week's summary will include any threads which
    were not included this week.


 Language

  multi method dispatching of optional arguments <http://xrl.us/roai>

    Last week, Mark Stosberg wanted the specifications to address what
    should happen in MMD when optional arguments are present (S12). He
    patched `mmd-draft.txt` and sent the text to the newsgroup. Luke
    Palmer offered a suggestion.

    Ph. Marek wondered if there will be MMD based on the value of
    parameters, as in Haskell. Audrey Tang confirmed this and pointed to
    S06. Trey Harris updated it with a reference to S12. Ruud H.G. van Tol
    also offered an example of syntax.

    This week, Larry Wall clarified further, noting that every scalar
    value is a one-element subset of its type.

  Inf appears to be unspec'ed <http://xrl.us/rq9p>

    Mark Stosberg was unable to find the formal definitions for `Inf`,
    `not` and `true`. Later he found them, and was able to add smart
    links.

  Reduced assignment operator? <http://xrl.us/rq9q>

    Audrey Tang noted that S03 was inconsistent about the treatment of
    assignment operators in the reduction operator. Audrey further
    commented that she doesn't see a problem with supporting assignment
    reductions as a syntactic exception. Larry Wall replied that it was
    worth supporting.

  Outlaw to declare a lexical twice in the same scope <http://xrl.us/rq9r>

    Steve Lukas quoted S04: "If you declare a lexical twice in the same
    scope, it is the same lexical." He felt that declaring the same
    lexical should give an error, because when he does this, he's made a
    mistake. Rick Delaney disagreed; for development or debugging he will
    often add a second declaration line to temporarily override the first.
    Juerd agreed with Steve. He appreciates that `my $foo` always gives a
    new variable, so he does not need to know anything about the
    surrounding code. Carl M??sak also wanted the compiler to catch
    second declarations.

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

    Earlier, 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.

    Recently, Larry Wall noted that he should clarify the role of `=` with
    regard to preceding declarators. They control how often the expression
    is evaluated.

  META vs meta <http://xrl.us/rq9s>

    David Brunton noted that S12 specifies `$obj.META`, but in Pugs it is
    implemented as `$obj.meta`. He wanted to know if he could change
    `meta` to `META`. Larry Wall replied that he was considering renaming
    the method to use interrogative pronouns. David Green commented on
    Larry's proposed names, and Larry responded.

    Sam Vilain wondered if upper case was needed. Jonathan Scott Duff
    thought that it fit in with Perl's culture. Aaron Sherman had some
    other suggestions for avoiding namespace pollution.

    David Brunton wanted to know if there was some reason that the meta
    methods could not be part of a default function package. Aaron Sherman
    gave two reasons why this was not desirable.

  single named param <http://xrl.us/rq9t>

    Gaal Yahas wondered if `:(:$x)` was a single named parameter called $x
    or a default invocant and a single required positional named $x.
    Audrey Tang replied that a default invocant would not make sense
    because there is nothing to default to. Gaal then wondered what
    invocant is constructed for `method foo ($just_a_named_param)`. Larry
    Wall replied, and Mark Stosberg also commented. Audrey answered too.

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

    Larry Wall made a commit to S03, which led Ruud H.G. van Tol to ask if
    `[=] $x, @y` was equivalent to `$x = @y[0] = @y[1] = @y[2] ... @y[-2]
    = y[-1]`. Larry replied that they were. Ruud asked for additional
    clarification.

  Unpacking tree node parameters <http://xrl.us/roak>

    Earlier, Gaal Yahas asked for some clarification on the intent in
    S06's "Unpacking tree node parameters" so that he could introduce the
    optional use of the colon more gradually.

    This week, Audrey Tang replied with answers to Gaal's questions.

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

    Several threads grew from Larry Wall's commits on the `X` operator.

    Darren Duncan expressed his appreciation for it. Miroslav Silovic
    asked if it would be possible to extend `next` to pass arguments to
    the 'nexted' iterator.

    In thread [svn:perl6-synopsis] r11971 - doc/trunk/design/syn
    <http://xrl.us/rq9x>, Daniel Hulme requested a variant which does the
    diagonal order.

    [svn:perl6-synopsis] r11975 - doc/trunk/design/syn
    <http://xrl.us/rq9z> led to additional comments. Carl M??sak wanted to
    know why `X-X` is needed if `X` already concatenates strings. Daniel
    Hulme thought it was an incomplete change which should have read `XX`.
    Carl agreed, but thought `X,X` would be nicer.

  assigning to named parameters <http://xrl.us/rq96>

    Aaron Sherman wondered if it would be possible to treat named
    parameters as lvalues, so that `foo(:a<1>, :b<2>)` could become
    `foo(:a=1, :b=2)`.

  -X file test operators
  <http://tinyurl.com/eqtw2>

    Aaron Sherman raised ambiguity issues between identifiers with dashes
    in their names, like the file test operators, and unary minus (-4).
    Juerd replied with proposals for phasing out `-e` and friends in
    favour of some more flexible/modern approaches. Larry Wall cleared up
    the syntax for calling prefix operators as methods, and other funny
    method names.

    Acording to S05, due to the longest token rule `-e` will be parsed as
    the prefix op `-e`, and not as prefix unary minus and call to `e`.
    However, this is only the case if the prefix operator `-e` is actually
    defined.

    A discussion on identifiers with funny characters in them also started
    under this thread.

 Parrot Porters

  JSON compiler <http://xrl.us/rraf>

    Will Coleda announced that he had added a JSON compiler with help from
    Jerry Gay and Nuno Carvalho.

  [svn ci] apps/p3 <http://xrl.us/rrag>

    Leopold Toetsch announced that he'd created a Parrot-based slide
    presentation program. He requested improvements and suggestions.

  [perl #40316] [NEW] opcodes not tested script
  <http://tinyurl.com/km7yl>

    Fonseka created ticket [perl #40316]
    <http://rt.perl.org/rt3/Ticket/Display.html?id=40316> to include a
    patch for a script which outputs the opcodes not covered by tests.
    Currently all but 7% of the opcodes are used in real tests.

    The thread continued in Re: [perl #40316] [NEW] opcodes not tested
    script <http://xrl.us/rrah>, after the code was committed as r14594.
    Leopold Toetsch commented on how disassemble was largely untested, and
    Fonseka replied.

  [perl #40319] [PATCH] PGE test file written in PIR revisited
  <http://xrl.us/rraj>

    In ticket [perl #40319]
    <http://rt.perl.org/rt3/Ticket/Display.html?id=40319>, Nuno Carvalho
    reported that he had cleaned `t/compilers/pge/06-grammar.t` and
    included a patch. Patrick R. Michaud noted that test 10 was marked
    'todo' but passed, and wanted to know why it was marked 'todo'.
    Patrick applied it as r14606 and r14607.

  The Interp structure <http://xrl.us/rrak>

    Alberto Sim??es has been trying to improve `compilers/imcc` to make it
    reentrant by removing globals and creating an object with the
    variables which is relevant to the parser. He noted that an Interp
    structure is being passed, but believes this does not duplicate the
    functionality he is creating, and asked for a confirmation.

  Libraries, dynpmc and Visual C++ <http://xrl.us/rram>

    Ron Blaschke reported a fatal error when linking `gdbmhash.dll` on
    Windows XP with Visual C++. Will Coleda applied the patch as r14586
    and asked for someone using GCC on Win32 to confirm that the code
    still worked.

  Accelerating Method Dispatch <http://xrl.us/rran>

    chromatic posted a link to thoughts on method dispatch by Piers Cawley
    <http://tinyurl.com/gsckr> and Avi Bryant
    <http://smallthought.com/avi/?p=16>. He wondered if it was similar
    to PIC. Andy Armstrong replied that the articles describe branch
    prediction for method dispatch, which he felt was different from
    PIC. Leopold Toetsch thought there were some similarities, and
    that further optimization was possible.

  [TODO] fill Parrot_register_move() with code : new implementation
  <http://xrl.us/rrao>

    Karl Forner included a patch to revise `Parrot_register_move()` to
    address some bugs and improve speed. The algorithm was explained in
    detail. It was applied as r14621. Leopold Toetsch commented on the
    implementation.

  HOWTO give options to parrot in tests <http://xrl.us/rrap>

    Karl Forner is working on [perl #40064] <http://xrl.us/qvjs>. He is
    wondering how he can run the script with options, and wanted to know
    if `TEST_PROG_ARGS` would be an appropriate choice. Leopold Toetsch
    suggested subclassing Parrot::Test.

  Global Variables Hunting <http://xrl.us/rraq>

    Alberto Sim??es requested that anyone who found a global variable under
    `IMCC/PIR` parser add a 'HITME!' comment near it and alert him.

  cur_namespace under imcc.y <http://xrl.us/rrar>

    Alberto Sim??es wanted to know if `cur_namespace` in `imcc.y` had the
    same meaning as the one in `imc.h`. He wanted to merge them.

  Version PMC <http://tinyurl.com/kgogr>

    Leopold Toetsch noted that GMP 4.1.1 segfaulted during multiplication.
    He corrected the problem by compiling and installing a new GMP, but he
    would like to create a diagnostic to warn about the bad GMP version.

 Users

  the CGI.pm in Perl 6 <http://xrl.us/rras>

    Darren Duncan made the suggestion that CGI.pm be improved for Perl 6
    rather than simply ported. He listed a few ways in which it could be
    improved. Mark Stosberg replied and mentioned some of the points he
    considered most important. These suggestions in particular received
    further discussion: removing HTML generation methods, renaming the
    module, and incorporating session management.

    Trey Harris agreed with Mark's sentiment about excluding HTML methods
    from CGI.pm, but felt this could lead to limited Perl 6 adoption.
    Thomas Wittek suggested `use perl5:CGI` for legacy support and
    allowing CGI.pm to develop. Amir E. Aharoni was also in favor of the
    backwards-compatibility module, and an improved default. David
    Cantrell wondered if anyone was actually using HTML-generation. In
    Andy Dougherty's opinion, there are probably many people using it that
    way, because it features heavily in the documentation. Leon Timmermans
    admitted to using them a few times, and wanted a modern equivalent,
    but in a separate module. There were a number of other comments. The
    general gist seemed to be that HTML-generation functionality is used
    and should still be available, but optional.

    The discussion of HTML methods led to Steffen Schwigon's observation
    that CGI.pm could use a name change to make it appear more modern.
    Darren Duncan and Juerd also disliked the current name. David Cantrell
    and Darren discussed whether 'CGI' implies an implementation or a
    standard interface.

    In CGI Session management (was Re: the CGI.pm in Perl 6)
    <http://xrl.us/rrax>, Michael Snoyman suggested making session
    management easier, and perhaps integrating it. Yuval Kogman requested
    that session handling be left to a plugin, and offered to share what
    he had learned from redesigning the Catalyst session handling.

  Trying to use Perl5 modules <http://xrl.us/rraw>

    Richard Hainsworth has been trying to discover how to use Perl 5
    modules in Perl 6. He included some code which worked in Perl 5, and
    asked how he could use them in Pugs. Trey Harris replied that imports
    currently don't work, and showed a workaround. Audrey Tang answered
    that imports were implemented a few weeks ago, but implicit imports
    aren't supported yet.

    Richard also wanted to know where `.can` is documented.

  Google "Welcome to the home page for Perl 6" (Perl 6 Wiki)
  <http://tinyurl.com/zjr9u>

    Conrad Schneiker noticed that Google had indexed the Perl 6 Wiki
    <http://rakudo.org/perl6> but that it hasn't yet reached the top
    search results.

 Acknowlegements

    This summary was prepared using Mail::Summary::Tools
    <http://xrl.us/qvno>, now available on CPAN.

    If you appreciate Perl, consider contributing to the Perl Foundation
    <http://donate.perlfoundation.org> to help support the development of
    Perl.

    Yuval Kogman assisted with this summary.

    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