This week on the Perl 6 mailing lists

    "When I first read 'Warnock applies' on things in p6 summaries a year
    or so ago, I thought it was some really energetic programmer who went
    around and applied patches as soon as people posed a question."

    -- Carl M??sak, on Warnock's Dilemma <http://xrl.us/r5wx>


 Language

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

    Paul Seamons asked why multiple nested statement modifiers (`say "foo"
    if $foo for 1 .. 3`) are disallowed. A long discussion on the
    technical and ergonomical problems was stirred up. The general
    consensus is that there is still no good reason to allow nested
    statement modifiers.

  Exceptions on hypers <http://xrl.us/r5wy>

    In a subthread of 'Nested statement modifiers <http://xrl.us/rjmq>',
    Aaron Sherman asked what the semantics of exceptions within hyper
    operators are. Larry explained that since hyperoperators imply not
    caring about the order of the side effects (for multithreaded
    goodness), which element generates an exception might be
    implementation dependent.

  class interface of roles <http://xrl.us/rvnd>

    Last week, TSa wondered how typing of mixins <http://xrl.us/rvne>
    would look in Perl 6. A code example of how it might look was
    included. There were also some questions on roles in Perl 6.

    This week, Sam Vilain thought that it would be the same as requiring
    that a class implement a method, except for a difference in syntax.
    This led Brad Bowman to ask how a role can require a target class to
    implement a method or do another role. Stevan Little answered that he
    believed this was done by providing a method stub. Jonathan Lang
    mostly agreed with Stevan and offered more details.

    chromatic thought that forbidding methods was potentially like the
    false-cognate problem. Stevan admitted that he had yet to find a
    real-world use for it.

    There was further discussion on roles.

  Motivation for /<alpha>+/ set Array not Match? <http://xrl.us/rvnm>

    Last week, an earlier discussion on S05 subrules continued. Audrey
    Tang wondered if there was a hidden cost to making `/<foo>+/` always
    react so that `$<foo>.from` returns something. Carl M??sak preferred
    the proposed semantics and asked if the question had been discussed
    off-list.

    This week, Audrey replied that there had been no further discussion.
    Carl asked for a short snipped to illustrate it, and supplied an
    anecdote about Warnock <http://xrl.us/r5wx> applying.

  RFC: multi assertions/prototypes: a step toward programming by contract
  <http://xrl.us/r5wz>

    Last week there was a great deal of discussion on this subject.

    This week, Tsa asked, in response to Larry Wall's comment, if
    namespaces give a structural type definition.

    Also, Aaron Sherman started a new topic entitled 'Abstract roles,
    classes and objects'. He asked rhetorically what was the use of an
    interface which doesn't give a guarantee. Trey Harris responded that
    there are three ways to manage a guarantee: an 'is abstract' marker,
    some type of inference, or by disallowing abstract classes. Jonathan
    Lang offered his definition of 'instance management'.

  Automatic coercion and context <http://xrl.us/r5w2>

    Joshua Choi asked how coercion interfaces are implemented and
    implicitly used. Musings on roles and the terror of implicit coercions
    in C++ were part of the discussion, but surprisingly the `as` multi
    method was not mentioned at all.

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

    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. He cited an example from
    the recent discussion on allowing a role to prevent the consumption of
    another role ('class interface of roles <http://xrl.us/rvnd>').

    There was a suggestion that restrictions could be purely advisory.
    This led to the question of whether strict is localized. Larry Wall
    replied that the default is for lexically scoped pragmas, but that S01
    states that it must be possible to write policy meta models. More
    discussion on this topic followed.

  Mailing list archive and index <http://xrl.us/r5w4>

    Aaron Sherman posted that he was considering creating an archive of
    messages from the mailing list which would be easier to search than
    Google. The problem with the Google archive is that it includes
    discussion, and he's only interested in decision. He asked for
    opinions on the examples he posted. Darren Duncan suggested seeding
    from the existing mailing list archives.

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

    In this commit, Audrey Tang removed the 'single argument function
    becomes a method' rule from S12.

  if-else and statement-ending blocks? <http://xrl.us/r5w8>

    Markus Laire quoted a section of S04 on lines ending with `}` followed
    by nothing but whitespace or comments. He wondered if this meant that
    an else statement like
        };
        else {
    would be the same as the same without the semicolon.

  import collisions <http://xrl.us/r5w9>

    Jonathan Lang wanted to know what would happen if he imported two
    modules which export the same method. He felt that the resolution
    should be similar to role composition techniques. He suggested some
    syntax. Aaron Sherman thought that only plain multis would conflict,
    and suggested a warning would be most appropriate.

  Hash composers and code blocks <http://xrl.us/r5xa>

    Aaron Sherman quoted a section from S04 on the hash composer. He was
    afraid that the current syntax could lead to 'looks fine to the
    uninitiated' errors. He suggested providing an unambiguous form for
    all the sigiled types. He elaborated on his proposal.

 Parrot Porters

  [CAGE] perl coding standards... <http://xrl.us/r5xb>

    Earlier, Will Coleda posted an attempt at creating a perlcritic test.
    This week, Chris Dolan created a patch to simplify the test code by
    using Test::Perl::Critic.

  requirements gathering on mini transformation language
  <http://xrl.us/r5xc>

    Last week, Allison Randal asked for a volunteer to write up the
    requirements for a mini transformation language to use the compiler
    tools. The job would involve spending time with Allison and Patrick
    Michaud and combining their ideas along with your own perspective.
    Adriano Ferreira offered some opinions on the subject, and Markus
    Triska volunteered to do it if it relates to his area of expertise.

    This week, Aaron Sherman expressed confusion over the purpose of this
    project. He thought TGE performed this task. chromatic replied that
    the mini language would be "the stuff in curly braces" in the TGE
    grammar files.

    Adriano Ferreira named some desired features in a transformation
    language, such as a data structure pattern language, and rules which
    are selected via the patterns.

    Allison reported that there were several volunteers.

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

    Last week, Jonathan Worthington committed a draft PDD on Parrot's
    bytecode format. Ben Morrow wanted to know if pbc files could allow an
    optional `#!` line so that they could be used as executables. Jonathan
    replied that he had considered this, but rejected it because it is
    UNIX-specific. There was additional discussion on the topic.

    This week, Karl Forner suggested working around the need to specify
    the absolute path by using the `env` command.

  [perl #40443] Separate vtable functions from methods (using :vtable)
  <http://xrl.us/r5xe>

    In ticket [perl #40443] <http://xrl.us/r5xf>, Matt Diephouse noted
    that it was decided at OSCON 2006 that vtables and methods should be
    separated. This is the request for this modification.

  Can I use Parrot's subsystems in an embedded code? <http://xrl.us/r5xg>

    Nikolay Ananiev is working on a C project which will embed Parrot.
    He'd like it to be as portable as Parrot, and wondered if there was
    some way he could take advantage of Parrot's portability.

  Questions about FixedBooleanArray and ResizeBooleanArray
  <http://xrl.us/r5xh>

    Karl Forner was unable to find detailed specifications for the
    FixedBooleanArray and ResizeBooleanArray PMCs and was wondering what
    should happen if they were resized. Leopold Toetsch replied that the
    FixedBooleanArray won't resize, and specified what the default values
    should be.

    Some additional questions were asked in '[#39063 and #40066] boolean
    arrays <http://xrl.us/r5xq>'.

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

    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. He asked
    to know if any problems with coroutines developed. Fran??ois Perrad
    replied that he'd been unable to implement coroutines in Lua. Bob
    Rogers was not surprised, and discussed some of the problems involved.

  Emacs/vim code coda placement <http://xrl.us/r5xj>

    Paul Cochrane reported that the Perl::Critic policy for the coda skips
    `__END__` and `__DATA__` sections, but vim requires the coda to be
    within the first or the last 5 lines of the file. Chris Dolan agreed
    with Paul that using `=cut` for POD in the `__END__` section would
    work, but was not sure how to handle `__DATA__`. Will Coleda approved
    putting the coda after the `__END__`.

  [perl #40449] [PATCH] improvements to examples/io/httpd.pir
  <http://xrl.us/r5xk>

    Chris Dolan created ticket [perl #40449] <http://xrl.us/r5xm> to
    supply a patch to make improvements to the HTTP server which ships
    with Parrot. It was applied as r14833.

  Wikipedia example <http://xrl.us/r5xn>

    Aaron Sherman sent a patch which was requested on IRC. It contains
    code which executes the parser on a sample string and dumps the parse
    tree; it checks the speed of PGE. chromatic reported difficulties in
    getting the patch to work.

  [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`.

  [#39063 and #40066] boolean arrays <http://xrl.us/r5xq>

    Karl Forner wrote that he has been working on FixedBooleanArray and
    ResizeableBooleanArray. Ticket [perl #40066] <http://xrl.us/qvjw>
    indicated they needed to be rewritten. He also looked at bug [perl
    #39063] <http://xrl.us/r5xr> on ResizeableBooleanArray using 64 bytes
    per bit. He thought that it would be best to rewrite the PMC. He had a
    few questions on what was desired in an implementation. Bernhard
    Schmalhofer and Leopold Toetsch tried to answer the questions.

    From this, Karl concluded that the best solution might be to use an
    external lib. He also described two other possible approaches.

    A related thread is 'Questions about FixedBooleanArray and
    ResizeBooleanArray <http://xrl.us/r5xh>'.

  Linux/PPC Segfault in Build <http://xrl.us/r5xs>

    chromatic reported that he cannot get Parrot to build. Bob Rogers
    attributed the problem to his continuation changes, and thought r14845
    would correct the problem. chromatic confirmed that this solved the
    issue.

  [perl #40458] [PATCH] fix for c_code_coda.t multiple occurrences test
  <http://xrl.us/r5xt>

    In ticket [perl #40458] <http://xrl.us/r5xu>, Paul Cochrane supplied a
    patch to make the C-file coda test work correctly with multiple
    instances of the coda.

  Bytecode PDD <http://xrl.us/r5xv>

    Last week, Jonathan Worthington committed a draft of the Bytecode PDD
    and Leopold Toetsch offered comments.

    Bernhard Schmalhofer wondered if the 'UUID' field should be named
    'checksum'. Leopold agreed, but thought that a UUID was also needed.
    Jonathan noted that he had simply written down the incorrect
    definition in the file.

 Users

  trying to use a role within a role <http://xrl.us/r5xw>

    Richard Hainsworth posted some code where he was trying to use a role
    within a role and wondered why it didn't work. Audrey Tang replied
    that the statement-level `does` form of roles was not yet implemented.
    Later, she replied that it had been implemented as r13782. She gave
    Richard some information on writing tests for Pugs.

  error when using -> as lambda function <http://xrl.us/r5xx>

    Wim Vanderbauwhede reported a problem with using `->` in calculating
    the factorial of 5. Audrey Tang found the problem with the code, and
    recommended looking at 'Changes to Perl 5 operators' in S03. She asked
    if Wim could supply a test to ensure that `1<2` generates a parse
    failure.

  Operator overloading/Inheritance from built-in types?
  <http://xrl.us/r5xy>

    Wim Vanderbauwhede wanted to create a bitvector object and had
    problems overloading the `+` operator. He also wondered if it was
    possible to overload the assignment operator, and included code from
    his attempt. David Brunton offered a suggestion.

 Compiler

  Synopses on the smoke server are a bit out-of-date <http://xrl.us/r5x2>

    Previously, Agent Zhang reported that the synopses on the smoke server
    are out of date--r12432 as compared to version r12466 on feather,
    which syncs every hour.

    This week, Ingo Blechschmidt asked for an example of something which
    was out of date, because the timestamps indicated a recent refresh.

 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 summaries this week.

    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