This week on the Perl 6 mailing lists

    "It seems you are presuming a Waterfall model of development here.
    We're not doing the Waterfall, we're doing the Whirlpool, where the
    strange attractor whirls around with feedback at many levels but
    eventually converges on something in the middle. In other words, a
    whirlpool sucks, but the trick is to position your whirlpool over your
    intended destination, and you'll eventually get there, though perhaps
    a bit dizzier than you'd like."

    -- Larry Wall, in 'What criteria mark the closure of perl6
    specification <http://xrl.us/u6hv>'


 Language

  [S09] "Whatever" indices and shaped arrays <http://xrl.us/u6hu>

    Jonathan Lang suggested dropping some specification from S09 which
    described how `*` works in conjunction with `+` and `-`. He suggested
    using `[0]` for the first index instead of `*+0`. Larry Wall added his
    thoughts, noting that it was 'shiny', but that nested `[]`s might not
    be visually appealing.

    Luke Palmer decided to mention Ruby's boolean truth model which he
    admires. With it, 'nil' and 'false' are false, and everything
    else--including an empty string and '0'--are true. In summary he
    stated that simple rules are a blessing if you find the right ones,
    and that he's a fan of boolean predictability.

    The shaped arrays thread continued, and eventually Larry was satisfied
    and requested a patch to S09.

  What criteria mark the closure of perl6 specification
  <http://xrl.us/u6hv>

    Richard Hainsworth asked when the Perl 6 specification will be
    complete. He is eager to begin using Perl 6, but wants to see it
    stabilize. Geoffrey Broadwell was perfectly willing to work with a
    moving specification, so long as the current version of the
    specification was mostly implemented. chromatic noted that this is
    what everyone wants.

    Geoffrey offered to write some tests which would demonstrate missing
    features, if someone could implement the features. Gabor Szabo said
    that he wished there were many people writing tests for unimplemented
    features, as someone would surely implement the feature to make tests
    pass.

    There was a discussion on how out-of-date the Exegesis files are.
    Masak suggested porting the code examples in the Exegesis to current
    Perl 6, and storing them in the Pugs repository. Herbert Breunung
    thought a disclaimer that they are outdated would be adequate.

    Patrick Michaud noted that the changes to the specification have not
    had a negative impact on the development of the Perl 6 on Parrot
    implementation; to the contrary, they have made the work easier.

    Smylers added that there is no point in freezing the specification if
    it turns out it can't be implemented. Smylers felt that most of the
    current work is clarifying, rather than adding new features.

    Larry Wall explained that Perl 6 development doesn't follow the
    Waterfall model. He cannot design something without feedback from
    implementors. The development model was described as a 'whirlpool'.

  Packed array status? <http://xrl.us/u6hz>

    Geoffrey Broadwell wanted to know what backends support packed native
    arrays. He also added a comment on 'What criteria mark the closure of
    perl6 specification <http://xrl.us/u6hv>'.

    chromatic replied that Parrot has `ManagedStruct` and
    `UnManagedStruct` PMCs for mapping complex C structures. Patrick
    Michaud replied that the PIR libraries aren't working yet, but that
    implementing them should not be too difficult. Audrey Tang also
    described the situation in Pugs. Geoffrey wondered if he could follow
    the development status. He offered to write some tests.

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

    Larry Wall's commit made the one-pass parsing rule explicit so that
    tests can reference it.

  request new Mapping|Hash operators <http://xrl.us/u6h4>

    Darren Duncan believes that there is room for some additional
    convenience operators or functions which are used with mapping and
    hash values. In particular, he would like the relational data model
    concept of a tuple. He feels that this could be satisfied with the
    data types `Mapping` and `Hash` with the addition of some common
    relational operators such as `join()`, `semijoin()`,
    `semidifference()`, `rename()`, `project()`, `remove()`, `compose()`,
    `wrap()`, and `unwrap()`.

    Nicholas Clark noted that `rename` is a Perl 5 builtin, which he
    doesn't believe has been dropped for Perl 6. Smylers added that Perl
    already has a `join` function for renaming strings. Darren reiterated
    that he isn't concerned with the names so much as the concepts they
    express.

    Aaron Crane wondered why Darren was specifically against putting this
    functionality into a third-party module. Darren supplied an argument
    for the usefulness of relational operators in response. Smylers
    pointed out that it would be odd to include core support for database
    operations when most people would opt to use DBI (a module) instead.
    David Green wasn't concerned about whether the features were core or
    in a module, but thought it would be nice to have them.

    There was some discussion on whether certain features, such as
    renaming hash keys, are implemented in Perl 5, with David Green,
    Darren Duncan, Aaron Crane and Uri Guttman taking part.

  request: num16 <http://xrl.us/u6h5>

    Geoffrey Broadwell requested that `num16` and `complex16` be added to
    S09 and made optional. These half-sized floating point types are
    commonly used in graphics.

  Bit shifts on low-level types <http://xrl.us/u6h6>

    Geoffrey Broadwell asked how bitwise shifts are defined on low-level
    types. Smylers remarked that it is rare to deal with anything as
    low-level as bits in Perl 5 programming. He feared that introducing
    more operators into the core language, especially if they would be
    rarely used, raises the entry barrier.

    Nicholas Clark added that it's something you don't want to do in Perl
    5, because it is so bad at it.

  Rotation ops? <http://xrl.us/u6h7>

    Geoffrey Broadwell asked if Perl 6 has bit/string rotation operators.

  Low-level types and over/underflow <http://xrl.us/u6h8>

    Geoffrey Broadwell wanted to know what would happen if a low-level
    type underflows or overflows. For example, if you incremented a
    `uint8` past 255, what would be the result?

    Darren Duncan thought that it depended upon what the underlying
    hardware does. He suspected it would be a wraparound or an overflow,
    not a type upgrade.

  Casting and low-level types <http://xrl.us/u6h9>

    In this thread, Geoffrey Broadwell asked what happens when you cast
    between low-level types if the source value is out of range for the
    destination type. Larry Wall replied that it would be an warning if
    the destination is an `int`, and a clip to infinities when the
    destination is a `num`.

  Compact structs and "byte-stringification" <http://xrl.us/u6ia>

    Geoffrey Broadwell wanted to know how you specify that you want to
    byte-stringify a structure, rather than normally stringifying it.
    Larry Wall advised coercing to a buffer type rather than using `~`.

  Expressions with mixed types including low-level types
  <http://xrl.us/u6ic>

    Geoffrey Broadwell asked how casting and coercion are handled with
    expressions which involve mixing low- and high-level types. Larry Wall
    answered the question, and pointed to a recent update of S09.

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

    Larry Wall made a commit to S03 which distinguished Range's intervalic
    `.min` and `.max` from its directed `.from` and `.to`.

 Parrot Porters

  [perl #41601] [BUG] parrotbug b0rken <http://xrl.us/u6ik>

    In ticket [perl #41601] <http://xrl.us/vevw>, Klaas-Jan Stol reported
    a problem with Parrotbug on Win32. Paul Cochrane thought that the
    problem existed on all platforms. Because people are currently advised
    to send an email, Paul thought that Parrotbug is confusing and should
    perhaps be removed.

    Jerome Quelin remarked that he has no time to work on Parrotbug, which
    he originally created. He said that anyone willing to work on it was
    welcome to take over maintenance.

  [perl #41604] [BUG] pbc_output_is doesn't work? <http://xrl.us/u6im>

    Klaas-Jan Stol tried to add a test which runs some PIR code as PBC. He
    noted that a PBC file wasn't being created, and sent a patch which
    could fix this to ticket [perl #41604] <http://xrl.us/vevx>. He also
    wondered if it was a good idea to store PBC files in the repository.

    Leopold Toetsch explained that the files which are in the repository
    are generated on different machines, and the tests check that Parrot
    can read PBCs from different platforms.

    Klaas-Jan wondered if `pbc_output_is` could take PIR code and compile
    it while running a test, or if it expects the PBC file to be present.
    Leopold confirmed that the PBC file must be present.

    Jerry Gay noted that there are no test functions which accept PIR,
    compile to PBC, and run the PBC. He wasn't sure it was a good idea to
    add this functionality before the refactoring of Parrot::Test is
    complete.

  [perl #41606] [TODO] Add flag to do runtime check on deprecated ops
  <http://xrl.us/u6in>

    In ticket [perl #41606] <http://xrl.us/vevy>, Klaas-Jan Stol proposed
    adding a flag which checks at runtime if any deprecated ops are used.

    Later, he remarked that such a check would be rather slow, so it would
    be better to add some annotation in the `.ops` file.

  [PATCH] Update DEPRECATED.pod <http://xrl.us/u6io>

    Klaas-Jan Stol submitted a patch to `DEPRECATED.pod` which includes
    some of the deprecated ops. Allison Randal applied it as r17206.

  [perl #41608] [NEW] and [PATCH]: tools/build/ops2c.pl refactored
  <http://xrl.us/u6ip>

    James Keenan submitted two patches which replace his earlier patches
    by the same name. This was ticket [perl #41608] <http://xrl.us/vevz>.

  [perl #41612] parrot on CPAN testers.. <http://xrl.us/u6iq>

    Will Coleda created ticket [perl #41612] <http://xrl.us/vev2> because
    he noticed that Parrot hadn't passed on Windows since 0.4.6. chromatic
    thought that 0.4.9 would help resolve some of the recent failures.
    Patrick R. Michaud had seen a report of 0.4.9, and said there were
    still failures with positive and negative numbers very close to zero.

  [perl #41614] Can't set non-core object attribs yet <http://xrl.us/u6ir>

    In ticket [perl #41614] <http://xrl.us/vev3>, Will Coleda reported
    some problems with adding an attribute to a TclProc PMC. Alek Storm
    remarked that a Sub is not a ParrotObject, so it has nowhere to store
    attributes. He submitted a patch which implements a basic storage
    system for TclProc. Will commented that it was annoying that
    attributes aren't just available everywhere, and that ParrotClass and
    PMC don't have much in common.

  [PATCH] welcome message and prompt for HLLCompiler <http://xrl.us/u6it>

    Klaas-Jan Stol noted that most languages which can be run
    interactively print a welcome message. He submitted a patch to give a
    message when interactive mode is entered, before printing a prompt.

    Patrick R. Michaud thought the effort was useful, but that it
    shouldn't mention help which isn't available. Also, there was a bit of
    a problem with multi-line input.

    There was a bit of further discussion on the topic.

  [perl #41619] [PATCH] add add_attr, rem_attr, and rem_attr_str vtable
  methods <http://xrl.us/vdfv>

    In ticket [perl #41619] <http://xrl.us/vev4>, Alek Storm submitted a
    patch which adds several vtable methods which can be used by Ruby and
    Smalltalk. James E Keenan reported that the patch, when applied to the
    branch, did not cause any problems with tests.

    Allison Randal thought this raised a design issue. She wanted to know
    why `add_attr`, `rem_attr` and `rem_attr_str` were vtable methods
    instead of methods on the Class class. Alek thought that this was in
    line with PDD 15. Joshua Isom was concerned about interoperability,
    and wondered if Perl 6 and Tcl (for example) would be able to use the
    new class implementation.

    Alek replied that the vtable provides an abstract interface everyone
    can use seamlessly. He thought that it would in fact encourage people
    to use multiple languages in a single application.

    chromatic asked Alek to clarify what behavior he wanted to enable in
    the HLL. Alek said he would put together some code which would
    demonstrate his intention. As of March 12th, he was still working on
    the use case.

  [perl #41620] [PATCH] change opcode syntax for label arguments
  <http://xrl.us/u6iv>

    In ticket [perl #41620] <http://xrl.us/vev5>, Alek Storm included a
    patch which changes the `label INT`, `labelvar INT` and `labelconst
    INT` syntax to `in LABEL`, `invar LABEL` and `inconst LABEL`. This
    reduces the number of arguments and makes the code cleaner. It was
    applied to the buildtools branch, and all tests passed.

  [PATCH] PDD6 updates <http://xrl.us/u6iw>

    Klaas-Jan Stol made some changes to PDD 16 and posted a patch.
    chromatic was mostly satisfied with the patch. It was applied as
    r17209.

  [perl #41623] [TODO] modify p6regex op naming convention to match perl 6
  <http://xrl.us/u6iz>

    In ticket [perl #41623] <http://xrl.us/vev6>, Jerry Gay remarked that
    PGE's syntax for specifying ops in the precedence parser should follow
    the Perl 6 specification. Patrick R. Michaud noted that Larry Wall's
    recent work on the grammar may introduce some radical changes to the
    current syntax. Larry tried to explain what he hopes to do with the
    modifications.

  Pynie Grammar <http://xrl.us/u6i3>

    In several threads, Klaas-Jan Stol chronicled his attempts to update
    the grammar for Pynie. He remarked that it is mostly complete, but
    that he still has some difficulty with the binary operators "is not"
    and "not in" and asked for insight.

    The following messages charted the development:
    * [PATCH] Pynie updates <http://xrl.us/u6is>
    * [PATCH] languages/Pynie <http://xrl.us/u6iy>
    * [PATCH] Complete Pynie Grammar <http://xrl.us/u6i2>
    * [Pynie] Grammar mostly done, but help needed <http://xrl.us/u6jb>
    * [perl #41659] [PATCH] Updates for languages/pynie <http://xrl.us/u6jh>

  reviewing PDD01 - Overview <http://xrl.us/u6i5>

    Allison Randal announced that she had checked in an updated version of
    PDD01 for review.

  [perl #41633] [CAGE] convert handrolled .IMPORT macros with library
  function <http://xrl.us/u6i7>

    In ticket [perl #41633] <http://xrl.us/vev7>, Jerry Gay noted that
    some handrolled implementations of namespace import macros had crept
    in to the code. He wrote an import subroutine, and would like it to be
    used.

  [perl #41634] [TODO] warn and abort make if pbc compatibility has
  changed <http://xrl.us/u6i8>

    Jerry Gay felt that if PBCs need to be regenerated due to
    incompatibilities, `make` should inform the user of this. He created
    ticket [perl #41634] <http://xrl.us/vev8> to track this development.

  [perl #41636] [PATCH] Updates for PDD06 <http://xrl.us/u6jc>

    Klaas-Jan Stol attached a patch for PDD06 to ticket [perl #41636]
    <http://xrl.us/vev9>. It was applied in r17469.

  [perl #41637] [PATCH] SMOP; won't compile on MSVC due to declarations
  not at top of block <http://xrl.us/u6jd>

    In ticket [perl #41637] <http://xrl.us/vewa>, Klaas-Jan Stol reported
    that SMOP won't compile with MicroSoft Visual Studio.

  [perl #41642] [BUG] tailcall with slurpy gives segfault
  <http://xrl.us/u6je>

    Earlier, in ticket [perl #41642] <http://xrl.us/vewb>, Mehmet Yavuz
    Selim Soyturk reported a bug.

    This week, Jonathan Worthington reported that he had fixed a bug asked
    someone to check with the latest code. Bob Rogers reported that
    Mehmet's test case works in r17298, but that it still fails for him
    even when the patch is applied.

    Later, Bob was able to look into the issue further, and found that
    there are some more serious problems and that he needs to think on how
    to solve them.

  [perl #41658] [TODO] Move all gc source files into a separate directory
  <http://xrl.us/u6jg>

    Joshua Isom created ticket [perl #41658] <http://xrl.us/vewc> to
    suggest a cleanup of the garbage collection files, which are not
    located where one would expect to find them. He submitted a patch for
    it.

 Compiler

  [perl #41617] "make test-pir" fails on x86 linux, r14402
  <http://xrl.us/u6ji>

    Eric Hanchrow reported a failing test in ticket [perl #41617]
    <http://xrl.us/vewd>. Audrey Tang wanted to know if the problem still
    existed in r15386; Eric confirmed it did.

 Acknowledgements

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

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


Reply via email to