Weekly Perl 6 mailing list summary

 This week on the Perl 6 mailing lists

    "The whole point of reserving these namespaces is not to prevent users
    from misusing them, but to ensure that when we eventually get around
    to using a particular block name, and those same users start screaming
    about it, we can mournfully point to the passage in the original spec
    and silently shake our heads. ;-)"

    -- Damian Conway, on POD specifications


 Language

  "Don't tell me what I can't do!" <http://xrl.us/r5w3>

    Last week, Jonathan Lang initiated a long discussion by objecting to
    programming styles where a programmer can intentionally prevent
    someone else from taking what is otherwise a legitimate action. Most
    of the comments focused on lexically scoped pragmas and policy meta
    models.

    This week, Trey Harris clarified what he had said earlier, describing
    how the documentation of some modules assumed that `use strict` and
    `use warnings` were not enabled, which led to difficulty understanding
    which part of strict/warnings were being ignored.

  S5: perl5 regex flags <http://xrl.us/r9xn>

    Jonathan Lang wanted to know how Perl 5 regexes containing modifiers
    which are not present in Perl 6 could be ported. He proposed giving
    the Perl 5 modifier an optional argument which would provide support
    for the modifiers which can't be easily changed to Perl 6. Larry Wall
    explained how the regexes could be ported.

  Synopsis 26 - Documentation [alpha draft] <http://xrl.us/r9xo>

    Damian Conway released a draft for S26 on documentation, noting that
    he had almost completed a Perl 5 implementation of a parser for the
    Perl 6 POD format.

    Jonathan Lang requested a more flexible syntax for formatting codes,
    and a wiki-style dialect. Damian replied that restricting delimiters
    to angles was a deliberate decision. The wiki-type of markup would be
    Kwid, which has been proposed as a standard Perldoc dialect.

    Dave Whipp wanted to know if the reserved typenames would generate
    errors. Damian replied that the standard parser will become extremely
    unhappy when it encounters unknown block names.

    Tim Bunce expressed his concern that this would cause problems when
    people using older parsers encountered newer POD. Jonathan suggested
    having POD declare a version. Damian thought it was best if the parser
    always attempted to render the document, even if it didn't understand
    all directives.

    Brent 'Dax' Royal-Gordon asked if there could be a code to mark the
    title of the document, which could be used for cross-referencing. He
    had a few other comments. Damian asked if Brent had a letter in mind
    for the citation code.

  Comments in qw// or qqw// <http://xrl.us/r9xp>

    Yves brought up the topic of comments within `qw//` or `qqw//`. Juerd
    elaborated further, suggesting that `#` be used, since it can already
    be escaped or quoted with `qqw`.

  Recursing? hypers <http://xrl.us/r9xq>

    Juerd suggested that S03 be modified to make standard hypers
    non-recursive, and introduce a new operator which would recurse. He
    offered a syntax suggestion. Larry Wall replied that he felt
    conformancy was the real issue, and recommended reading the latest S03
    changes.

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

    Larry Wall committed r12875, which replaced Perl 5's `s[pat][repl]`
    syntax with `s[pat] = "repl"` in S05.

    This led Juerd to wonder why the `s` was being retained, and offer
    some syntax suggestions. Larry answered that there had been a decision
    to keep the intent obvious.

    Aaron Sherman wanted to know how embedded closures would be handled.
    He asked if `s:g[W] = qq{\{$/}};` would do what he expected, and asked
    about how the Parser would define it. Larry Wall answered that the
    example would work as expected: the right side is implicitly
    closurized and evaluated repeatedly by the left side. He also
    explained that 'quotelike forms' are situations where you can choose
    your own quote characters.

    In 's[pattern] = { doit } illegal, why? <http://xrl.us/r9xs>',
    Jonathan Lang expressed concern over a limitation stemming from the
    implicit curlies rule. He wanted to know if it could be changed so
    that if you supply your own closure to the right, the substitution
    algorithm accepts it as is. Larry Wall replied that it was possible,
    but that outlawing it for the moment keeps people from converting Perl
    5's `s{foo}{bar}` in to Perl 6's `s{foo}={bar}` without understanding
    what they are doing.

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

    In r12933, Larry Wall made a change to S02 which allows quote and
    regex adverbs to take only parentheses as brackets.

  Bytes make no sense on text strings <http://xrl.us/r9xu>

    Juerd wondered how `:bytes` for things like `s///` useful. He
    suggested that `:bytes` on a text string should cause an exception.
    Larry Wall replied that a string object can present multiple
    interfaces. Strings which don't support the `:bytes` abstraction will
    throw exceptions.

  Capturing subexpression numbering example <http://xrl.us/r9xw>

    Aaron Sherman felt that the S05 example for subpattern numbering is
    not adequate. He supplied a patch to give more information to the
    reader.

  signature subtyping and role merging <http://xrl.us/r9xy>

    TSa asked for some help on the topic of subtyping signatures in the
    context of deriving a type lattice from role definitions. Mark A.
    Biggar replied that it is safe to assume that two methods with the
    same name are semantically unrelated, which makes the signature merge
    nonsensical in a general case. Jonathan Lang agreed, requesting that
    no attempt be made to merge signatures. He suggested multiple dispatch
    instead.

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

    With commit r13096, Larry Wall changed enforced backtracking from `+`
    to `!`.

    Related files were changed in '[perl #40524] [TODO] PGE - need tests
    for greedy backtracking <http://xrl.us/r9x2>'.

 Parrot Porters

  [svn:parrot-pdd] r14784 - trunk/docs/pdds/clip <http://xrl.us/r5xd>

    Previously, Jonathan Worthington committed a draft of the Bytecode PDD
    and received comments. Karl Forner had suggested working around the
    need to specify the absolute path by using the `env` command.

    Jonathan replied that the suggestion was still *nix specific.

  Heads up: Dynamic environment now captured in continuations
  <http://xrl.us/r5xi>

    Earlier, Bob Rogers announced that as of r14830, continuations capture
    the dynamic environment in order to restore it properly on invocation.
    He also noted that moving the `control_stack` slot broke coroutines,
    but that he suspected this was due to problems with coroutines. This
    led to a discussion on the problems of coroutines in Lua.

    This week, Bob and Fran??ois Perrad continued the discussion. Fran??ois
    noted two specific problems with Lua, and posted the error message.
    Bob suggested a workaround, and noted that he has used this in Parrot.
    He supplied the Parrot::Coroutine patch.

    Bob also reported that he had moved the `control_stack` slot in
    r14876. He noted that there could still be problems with coroutines,
    and he is considering deprecating `Coroutine.pmc` until it can be
    redesigned. Leopold Toetsch replied that he would like to see some
    specifications first. Bob explained how it would be used, and Leopold
    replied that he now saw the use for it, but still would like to see a
    proposal.

  [perl #40455] [PATCH] Bring dotnet back into unified languages testing
  <http://xrl.us/r5xo>

    Ticket [perl #40455] <http://xrl.us/r5xp>, by Bernhard Schmalhofer,
    contained a patch to extend the library search path to fix failing
    tests for `languages/dotnet`.

    This week, Jonathan Worthington thanked everyone who had worked on
    getting the dotnet translator back in to unified language testing. He
    discussed what his needs were for working on the translator, and Will
    Coleda also added his suggestion that languages become more
    self-contained.

  RFC: Reduce closure magic <http://xrl.us/r9x3>

    Bob Rogers found a `ctx` member which is used for the `autoclose`
    feature and doesn't appear to be documented. He suggested some
    alternate syntax and included a patch. Leopold Toetsch reported that
    Audrey Tang had wanted it, but agreed that it should be eliminated.
    Bob suggested that in light of the effects the patch had on Lua, a
    period of deprecation before removing `ctx` might be a good idea.
    There was some additional discussion.

  What does 'input in flex scanner failed' really mean?
  <http://xrl.us/r9x4>

    Bob Rogers reported an error he did not understand which came from
    attempting to use `load_bytecode`. Leopold Toetsch replied that a test
    was missing to check if the file is a directory. chromatic offered a
    patch.

  External PMCs and GC Implications <http://xrl.us/r9x5>

    chromatic has been working on the embedding interface and wondered
    what the implications are for garbage collection, given that some
    Parrot functions may send and receive PMCs. Leopold Toetsch answered.

  Unbitrot Minesweeper <http://xrl.us/r9x6>

    chromatic submitted a patch which makes Minesweeper run again.

  [perl #40472] APL test failures <http://xrl.us/r9x7>

    Will Coleda reported that a number of tests in `languages/APL` are
    failing. This was noted in ticket [perl #40472] <http://xrl.us/r9x8>.

  Calling Methods on Class PMCs <http://xrl.us/r9x9>

    chromatic posted some experimental OO code for the Class PMC. It did
    not work, and he wondered if anyone could explain why. Leopold Toetsch
    offered a suggestion.

  C-coda and C standard patches, and other corrections <http://xrl.us/r9ya>

    Paul Cochrane submitted a number of patches related to ensuring
    quality C code:

    * [perl #40475] <http://xrl.us/r9yb> makes Parrot::Distribution find
      all `.pmc` files and add a check for the C coda test.
    * [perl #40477] <http://xrl.us/r9yc> makes Perl scripts to output a
      C coda when they create code.
    * [perl #40479] <http://xrl.us/r9yd> correct the C coda for
      autogenerated code.
    * [perl #40480] <http://xrl.us/r9ye> ensures that the C coda isn't
      included multiple times in generated files.
    * [perl #40481] <http://xrl.us/r9yf> contains C coda for the amber PMC.
    * [perl #40505] <http://xrl.us/r9yg> adds PMC files to the list of
      files to test in the C-language coding standard tests.

    Prolific Paul also submitted several other beauty patches this week:

    * [perl #40476] <http://xrl.us/r9yh> corrects DOS line endings to UNIX
      ones.
    * [perl #40483] <http://xrl.us/r9yi> removed cuddled elses in several
      files.
    * [perl #40506] <http://xrl.us/r9yj> removes hard tabs from PMC files.
    * [perl #40507] <http://xrl.us/r9yk> eliminated cuddled elses in PMC
      files (applied as r14897).
    * [perl #40508] <http://xrl.us/r9ym> changes `// comment` comments
      in PMC files to `/* comment */` style comments.
    * [perl #40509] <http://xrl.us/r9yn> is a test to check for DOS
      line endings in C files.
    * [perl #40510] <http://xrl.us/r9yo> corrects POD in C coda tests.
    * [perl #40519] <http://xrl.us/r9yp> removes `t/tools` from the list
      of directories searched for PMC files

  [perl #40482] [PATCH] Perl::Critic policy for perl -w, and unix-specific
  shebang lines <http://xrl.us/r9yq>

    In ticket [perl #40482] <http://xrl.us/r9yr>, Paul Cochrane supplied a
    patch to add a new Perl::Critic policy to check that the shebang line
    does not use `perl -w` instead of `use warnings`, and that the shebang
    itself is not *NIX-specific. He asked if all coding standards should
    be grouped in a single directory.

    Will Coleda replied that the coda should remain where it is, but other
    coding standard tests should be grouped. He also requested a small
    change to the patch, and pointed out where svn keywords are checked.
    Chris Dolan cited an instance where the patch would give a false
    negative. Paul and Chris discussed the example and solutions.

  What are the final words on GMP, BigNums and *BooleanArrays
  ????????????? <http://xrl.us/r9ys>

    Karl Forner noted that it can be difficult to contribute to Parrot
    because the specifications and design documents do not always contain
    enough information. He wanted to know what decisions had been reached
    on the subjects of GMP, BigNums and *BooleanArrays. Jerry Gay tried to
    clarify goals with regard to these topics, and apologized for slow
    responses. Leopold Toetsch provided some answers on *BooleanArrays.

  Parrot Configure error <http://xrl.us/r9yt>

    Paul Cochrane reported an error with `Configure.pl` in r14862. Jerry
    Gay fixed it in r14863.

  [perl #40490] Flat/Slurpy Named Parameter Passing Errors
  <http://xrl.us/r9yu>

    chromatic noted some errors with named parameter passing, which he
    documented in ticket [perl #40490] <http://xrl.us/r9yv>.

  Null PMC access while parsing javascript <http://xrl.us/r9yw>

    Mehmet Yavuz Selim Soyturk reported that `js.pg` gives a 'Null PMC
    access' error when using the compiled .pir file. Kay-Uwe Hull
    suggested that it might be a garbage collection bug, and offered a
    workaround. Mehmet replied that it looked like an incomplete grammar.
    Patrick R. Michaud offered a temporary solution, and stated that he
    would examine the grammar soon.

  MakeObject - an Object Instantiation Experiment <http://xrl.us/r9yx>

    chromatic posted some experimental code to make creating objects
    easier from PIR. Leopold Toetsch pointed out some related
    documentation.

  [perl #40503] [PATCH] Removal of .imc filename change paragraph
  <http://xrl.us/r9yy>

    Paul Cochrane asked some questions about .imc files in 'Questions
    about DEPRECATED.pod <http://xrl.us/r9yz>'. Based upon Bernhard
    Schmalhofer's answer, Paul submitted ticket [perl #40503]
    <http://xrl.us/r9y2>, in which he proposed removing a paragraph in
    `DEPRECATED.pod` which mentioned .imc files. Jerry Gay wasn't sure if
    this should be done, because the most recent edition of 'Perl 6 and
    Parrot Essentials' still refers to .imc files. He referred the matter
    to Chip Salzenberg.

  [perl #40511] [PATCH] Removal of deprecated fetchmethod opcode
  <http://xrl.us/r9y3>

    Paul Cochrane submitted a patch to remove the deprecated `fetchmethod`
    opcode from several places. Ticket [perl #40511] <http://xrl.us/r9y4>
    contains the patch.

  [perl #40513] [CAGE] add flex/bison files to c coding standard tests
  <http://xrl.us/r9y5>

    In ticket [perl #40513] <http://xrl.us/r9y6>, Jerry Gay asked for the
    cleaners to check Flex and Bison files against the C standards. Shawn
    H. Corey commented on the relationship between Flex and C, and Bison
    and C.

  [svn:parrot-pdd] r14903 - in trunk: . docs/pdds/clip
  <http://xrl.us/r9y7>

    Allison Randal committed an update to the threads PDD. Leopold Toetsch
    reminded her not to forget STM, which is implemented and solves many
    PMC sharing problems.

  Cage Cleaner Wrangler? <http://xrl.us/r9y8>

    chromatic asked who was responsible for the cage cleaners. He noticed
    a number of patches but wasn't sure who was monitoring the efforts.
    Andy Lester replied that he was responsible, and asked for volunteers
    for the position. Hal Wigoda asked for an overview of the job
    description, and chromatic responded.

  [perl #40219] [TODO] - Steal Perl5's sprintf tests <http://xrl.us/r9y9>

    Patrick R. Michaud looked at why a number of sprintf tests were
    failing. He added skips for tests containing Perl 5 features, Parrot
    conversions, and modifiers the harness can't deal with. He noted the
    remaining tests should be fixed or marked as todo. This was part of
    ticket [perl #40219] <http://xrl.us/rawj>.

  [perl #40523] [TODO] adjust string_append function and usage
  <http://xrl.us/r9za>

    Leopold Toetsch requested the removal of `string_append`, in ticket
    [perl #40523] <http://xrl.us/r9zb>.

  [perl #40524] [TODO] PGE - need tests for greedy backtracking
  <http://xrl.us/r9x2>

    Patrick R. Michaud requested some tests for the greedy backtracking
    modifier. The related PGE was recently changed to reflect the change
    described in '[svn:perl6-synopsis] r13096 - doc/trunk/design/syn
    <http://xrl.us/r9xz>'.

 Users

  Runtime Role Issues <http://xrl.us/r9zc>

    Ovid reported some problematic edge cases with runtime roles. He
    wondered what would happen if there was an instance of a class in
    another scope which did not want a runtime role applied, and how roles
    could be removed from classes. Finally, he asked if there was an error
    in the section on precomposed roles in S12.

    Tim Bunce replied that he believed that when a role is applied at
    runtime, it actually creates a new anonymous subclass, leaving the
    original class unaffected. Audrey Tang agreed, and added an example.
    Ovid asked if the Moose documentation was accurate for Perl 6. Audrey
    answered that Moose is currently the metaobject layer when the VM
    which runs Perl 6 is Perl 5.

    The thread was also discussed in 'Runtime role issues
    <http://xrl.us/r9xx>'. There, TSa suggested an intermediate class for
    applying a role and questioned whether roles should be removed. Aaron
    Sherman thought that typically the objects rather than the classes
    needed to be changed. There were further comments.

 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.

    Thanks to Yuval Kogman for his help.

    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.perlfoundation.org/>

Reply via email to