develooper Front page | perl.perl6.language | Postings from March 2005

Perl 6 Summary for 2005-03-07 through 2005-03-22

Thread Next
From:
Matt Fowles
Date:
March 22, 2005 19:47
Subject:
Perl 6 Summary for 2005-03-07 through 2005-03-22
Message ID:
f2601a7f0503221946218672b9@mail.gmail.com
Perl 6 Summary for 2005-03-07 through 2005-03-22
    All~

    Welcome to yet another fortnights summary. I believe this is the highest
    volume I have ever seen the three lists at simultaneously. Hopefully
    they will keep it up, because good work is being done. To aid in the
    epic endeavour of summarizing all this, I have had to add some new Jazz
    to my playlist. We will see how it works out. If it doesn't work well,
    blame Seton.

  Perl 6 Language
   the actual name of &?SUB
    David Storrs wanted to know how he could get the name of &?SUB. Larry
    told him that $?SUBNAME would be the most reliable way to get the short
    name.

    <http://xrl.us/fiip>

   Unlimited Argument Patterns
    Luke Palmer has tasted the forbidden fruit of Haskell and now he wants
    more of it in Perl 6. In particular he wants even more powerful pattern
    matching of arguments for MMD. Rod Adams speculated that Larry had
    decided Perl 6 would not be ML... In the end no real consensus, but
    don't hold your breath seems to be the feeling.

    <http://xrl.us/fiiq>

   Limited Argument Patterns
    Wolverian was a little unsure of what exactly " sub foo(0) {...} "
    meant. Larry explained that it was just sugar for " sub foo ( $bar of
    Int where { $_ == 0 } $bar ) { ... } ".

    <http://xrl.us/fiir>

   List Constructors
    Wolverian made a list of list constructors, asking what each did. Larry
    explained: For the most part, the same thing as perl 5, a few would
    produce a warning.

    <http://xrl.us/fiis>

   Decorating Primitives
    The question arose of how decorating objects with roles interacted with
    low level types. Larry came to the conclusion that it was OK, unless you
    wanted to decorate a single element in a primitive array.

    <http://xrl.us/fiit>

   splat operator in assignment
    Juerd was unsure how splats and list assignment interacted. The answer
    is that list assignment is exactly the same as Perl 5 to allow for
    extending return list.

    <http://xrl.us/fiiu>

   Logic Programming
    Rod Adams pointed out that much of logic programming could be
    implemented using the rules engine. Unfortunately, the syntax gets a
    little hairy and cumbersome. Larry said that this particular goal might
    be something that is not addressed immediately in 6.0, but possibly
    differed instead. Ovid rumbled about porting a Warren Abstract Machine
    to Parrot... I would like it.

    <http://xrl.us/fiiv>

   Locale-KeyedText
    Darren Duncan finished up the first non-core Perl 6 module. Being
    properly hubristic, he asked for a critique. His questions touched on
    subjects including subtypes, module loading, and strictness...

    <http://xrl.us/fiiw> -- critique request

    <http://xrl.us/fiiy> -- misc questions

   bar $f =?= $f.bar
    Rod Adams wondered what would happen if he had both a sub and a method
    name bar. What would " $f.bar " and " bar $f " do? Jonathan Scott Duff
    explained that " $f.bar " would call the method while " bar $f " would
    call the sub.

    <http://xrl.us/fiiz>

   MMD object
    Rod Adams wants a single object to represent all of the possible multi
    methods associated with a particular short name. It seems that Rod
    dranks some of the lisp cool-aid (although in this case, I agree). He
    explained how this allowed the dispatch scheme to be changed on a multi
    by multi basis and also allowed for nice introspection. This led to a
    discussion of how this would work with lexically installed multi
    methods, and if this would trip people up. No real consensus seemed to
    appear...

    <http://xrl.us/fii2>

   :foo<o> != :foo('o'); :foo<o> == :foo{'o'}
    Juerd wondered what the implications of <a> mapping to ('a') were. Larry
    replied that it did not map in that manner.

    <http://xrl.us/fii3>

   lazy loading of object
    Yuval Kogman wondered how he could get his objects to load lazily. Larry
    told him that delegation would probably be the best bet.

    <http://xrl.us/fii4>

   throwing from higher up the call stack
    Thomas Yandell wants a way to throw from further down the call stack.
    Sadly he was warnocked.

    <http://xrl.us/fii5>

   sprintf
    Juerd wants an sprintf like function " f/FORMAT/EXPR/ ". Larry seems to
    think that " EXPR.as(FORMAT) will suffice, especially if as is a list
    op. "

    <http://xrl.us/fii6>

   S29, builtin function
    Rod Adams has been hard at work creating a list of build in functions.
    He has a version up at "/www.rodadams.net/Perl/S29.html" in http:. This
    led to good discussions about what things had alternate forms and what
    did not.

    <http://xrl.us/fii7> -- discussion

    <http://xrl.us/fii8> -- more discussion

   python to eliminate reduce()
    Aristotle Pagaltzis posted a link explaining why reduce will be
    eliminated in Python 3000. This led to a brief discussion of various
    design philosophies.

    <http://xrl.us/fii9>

   SEND + MORE = JUNCTIONS
    Sam Vilain fixed up the SEND + MORE example to work correctly with
    junctions. Unfortunately, the hoop through which he had to jump are
    pretty horrendous. Larry mumbled that the option of autothreading all
    conditionals might work, but would send to many lynch mobs after him. I
    for one like both Twin Peaks and that idea...

    <http://xrl.us/fija>

   for with a function reference
    Rod Adams wanted to know how for would behave with various types of
    functions or codeblocks. Luke Palmer provided answers.

    <http://xrl.us/fijb>

   adding interfaces to arguments
    Thomas Sandlaß wondered when arguments to function would be decorated
    with roles from the function signature if they didn't exist. Larry
    conjectured about allowing different views on objects versus mixing in
    various roles. This led people to talk about covariant typing. An array
    of ints will always return you a number and an array of numbers will
    always accept an int. But an array of ints will not necessarily accept a
    number and an array of numbers will not necessarily return an int. Thus
    changing your view can be valid when writing and not when reading or
    vice versa.

    <http://xrl.us/fijc>

   pugs too lazy
    Miroslav Silovic noticed that closing a file handle in pugs did not
    force all the thunks associated with the file. While this was a bug in
    pugs, it led to conversation about whether = should be lazy or eager.
    Larry thinks that it will be safer to start eager and become lazy then
    vice versa.

    <http://xrl.us/fijd>

   Exists and Delete as functions
    Rod Adams wondered how he would define the signatur of Exists and Delete
    as they do not evaluate the subscripted variables in their arguments.
    Larry explained that they are now methods on the hash and you would have
    to do a little macro magic to get it to work the old way.

    <http://xrl.us/fije>

   remove(reset())
    Steve Peters pointed out that reset() was not almost useless and has
    been "vaguely deprecated" for a while. Larry declared it dead.

    <http://xrl.us/fijf>

   lists in string context
    Juerd put out a plea for list in string context not to automatically
    provide spaces between elements. Larry pointed out various ways to join
    on the empty string, which I think is his way of saying too bad...

    <http://xrl.us/fijg>

   popping a multidimensional array
    Rod Adams wondered what it meant to pop a multidimensional array. Larry
    aggreed that it should pop off entire dimensions. Does this mean that
    popping such an array in a loop will pop dimensions until there is only
    one left, at which point it will switch to popping elements?

    <http://xrl.us/fijh>

   index out of bounds
    Markus Laire wondered what " index("Hello", "", 999) " would return.
    Larry explained that it is not as simple as he thinks cause strings use
    magic indices that do unicode stuff, but it would probably throw an
    exception.

    <http://xrl.us/fiji>

   GUI paradigm
    Michele Dondi wants Perl 6 to support a GUI paradigm better then most
    languages currently do. He is not quite sure how, but he is sure that it
    would be cool. I agree that it would be cool.

    <http://xrl.us/fijj>

   hiding from ones callee
    Autrijus wants to call a function but make it appear as if his caller
    did it. Larry suggested that wrap/call would be appropriate.

    <http://xrl.us/fijk>

   quotemeta
    Rod Adams voted for axing quotemeta. People seemed to agree that it
    should go, but what should be left in its place? Larry suggested an
    argument to "as".

    <http://xrl.us/fijm>

   zip function signature
    Rod Adams was having difficulty determining the function signature for
    &zip. This led to a discussion of when " is rw" was implied, but not an
    answer to his question.

    <http://xrl.us/fijn>

   Symbol table interactions
    Gall Yahas wondered how ::() would react to undefined variables. Larry
    explained that it might be either lega or illegal as an lvalue depending
    on whether or not the scope had finished being compiled and that it
    would be undefined as an rvalue.

    <http://xrl.us/fijo>

   propogating called context
    Yuval Kogman wants to call a sub with the same context he was called in
    so that he can munge the result(s). Warnock applies.

    <http://xrl.us/fijp>

   true(0)
    Juerd suggested that "true" ought to be renamed as it was really
    counterintuitive. Much discussion ensued about alternatives. Larry
    hemmed for a bit, but decided to stick with true in the end

    <http://xrl.us/fijq>

   Junction Questoins
    Stevan Little wondered if the junctions in pugs were behaving correctly.
    Luke Palmer assured him that they were for the examples he posted.

    <http://xrl.us/fijr>

   POD vs kwid : round 1.  FIGHT!
    Aaron Sherman posted a rought draft of a better POD. This led to many
    people passionately discussing the merits and demerits of POD and kwid.
    Fortunately as the summarizer endowed with the power of double speaking,
    I can definitively say that the conclusion was that everybody prefers
    both kwid over pod and vim over emacs.

    <http://xrl.us/fijs>

   importing constants from another module
    Song10 wanted to know how to import constants from anothermodule into
    his without having to specify scope everywhere. Warnock applied.

    <http://xrl.us/fijt>

   returning references vs copies
    Darren Duncan wants to protect his classes from their malicious enemies
    who would use his references against him. Thus he wants to know if his
    accessor methods return references or copies. Larry explained that they
    would probably return lazy copies, to provide the requist protection,
    except when used inside that class.

    <http://xrl.us/fiju>

   precedence of where
    Chip Salzenberg wondered if "where" or " | " had higher precedence.
    Larry replied that where was part of a magic group of declarational
    keywords that did some weird stuff.

    <http://xrl.us/fijv>

   strings and pain
    Rod Adams wants to change strings to deal with unicode differently.
    Larry thinks his idea forces the programmer into the machines mindset
    too much.

    <http://xrl.us/fijw>

   caller's slurpy array
    Rod Adams wants access to his caller's slurpy array and suggests that it
    be @_. Larry agreed.

    <http://xrl.us/fijx>

   lvalue slices
    Matt Diephouse wants to assign to an array slice but doesn't know if he
    can. He can.

    <http://xrl.us/fijy>

   .method; $self.method; $_.method
    As originally specified " .method " means " $_.method ". This sets is
    appart from " $.foo, @.foo, %.foo " which all refer to $self . Much
    discussion ensued. I think the pendulum is slowly swinging toward switch
    the meanting of " .method " to refer to " $self.method ".

    <http://xrl.us/fijz>

   Duff's Device
    Gaal Yahas lamented his lack of ability to use Duff's Device in Perl 6.
    Larry made noises that it might not be impossible, but would still not
    be a good idea.

    <http://xrl.us/fij2>

   the fate of study
    Rod Adams wondered what would happen to study. Since I never did it in
    high school or college, I doubt I will begin now. Other seems to think
    it would be easier to leave it as a no op in case we want to do it
    eventually.

    <http://xrl.us/fij3>

   some ado about nothing
    Rod Adams wants a no-op function and suggested nothing. There was some
    discussion about whether 1 should work. I am surprised that no one
    suggested study....

    <http://xrl.us/fij4>

   chr and ord
    Rod Adams thought that perhaps chr and ord should be restricted to
    operating at the code point level. Larry was less sure.

    <http://xrl.us/fij5>

  Perl 6 Compilers
    Last week I tried to link many of the patches to pugs. I now think that
    was a mistake for two reasons. (1) there are a great many and (2) many
    more occur off list and are thus missed. Therefore, I will not go
    provide links for specific patches unless they pass my arbitrary test of
    as important as my pizza.

   Pugs 6.0.12
    Autrijus release pugs 6.0.11 and 6.0.12. The features are plentiful and
    awesome. For a more complete list (which is long) as well as daily
    blow-by-blow of the PUGS development (which is fast) check out
    Autrijus's journal "/use.perl.org/~autrijus/journal/" in http:.

    <http://xrl.us/fij6> - 6.0.11

    <http://xrl.us/fij7> -- 6.0.12

   helping PUGS
    Matthew Campbell wondered how best to help pugs. Autrijus Tang gave him
    a helpful knudge.

    <http://xrl.us/fij8>

   p6ify Algorithm::Dependency
    Adam Kennedy asked for a volunteer to translate Algorithm::Dependency to
    perl 6. Darren Duncan did it and fast too.

    <http://xrl.us/fij9>

   help PUGS
    Anthony Kilna knew that one of the best ways to help PUGS was to write
    tests but didn't know if there was a database of tests that needed to be
    written or were written. Stevan Little pointed him to the in progress
    attempt to build just such a database and said that would be a good
    place to help.

    <http://xrl.us/fika>

   sand traps abound when golfing in p6
    Andrew Savige (aka mad golfer) has been working at porting a "small"
    program to perl 6. He wrote up his experiences at
    "/www.perlmonks.org/?node_id=440685" in http:.

    <http://xrl.us/fikb>

   numification of strings
    There was some discussion of how to numify a string. Some wanted smart
    parsing, others wanted simple parsing. For a while simple was winning. I
    am not sure if it one in the end though...

    <http://xrl.us/fikc>

   SQL::Routine
    Darren Duncan announced his intent to port SQL::Routine to Perl 6
    shortly. You might be able to hold your breath.

    <http://xrl.us/fikd>

   Pug's Bugs vs Blue's Clues
    Stevan Little compiled a list of bugs for pugs. By the time you read
    this, many will probably have been fixed.

    <http://xrl.us/fike>

  Parrot
    I will start this part with a very large anouncement. Dan has decided to
    step down as Parrot's Chief Architect. Chip Salzenberg (who just earned
    first name only status) has taken up the burning parrot, err torch. To
    forestall questions/outrage/grumbling, Dan explained that Leo did not
    get the position because he did not want it. I know that I personally
    have learned a lot from Dan and Squaks of the Parrot (including how to
    turn crystal sugar into bakers sugar), and want to think him a great
    deal for the work he put into Parrot. This means the responsibility of
    returning the pie to Guido now falls on Chip's shoulders.

   make install parrot headers
    Lambeck noticed that make install does not install parrot's header
    files. It probably should; so he filed a bug.

    <http://xrl.us/fikf>

   atan2 needs -xlibmieee on Sun
    Andy Dougherty provided a patch adding appropriate hints to the solaris
    build. Leo applied it.

    <http://xrl.us/fikg>

   Burning Parrot
    Leo put out a request to have the parrot tinderboxen revived. Steve
    Peters suggested that it could be integrated with the current perl smoke
    reporting process. Peter Sinnot put up a server on a spare machine in
    the mean time.

    <http://xrl.us/fikh>

   ncurses_life
    Uwe Voelker reported a bug in ncurses_life. Leo fixed it and put out a
    plea for someone to update it. Matt Diephouse updated it.

    <http://xrl.us/fiki>

   refactor of t/pmc/pmc.t needed
    Leo suggested that an interested party would be able to factor the Perl*
    tests out of pmc.t and into perl.t. Steven Schubiger offered to try.

    <http://xrl.us/fikj>

    <http://xrl.us/fikk>

   string tasks
    Leo posted a set of tasks looking for takers with respect to string
    stuff. Steven Schubiger stepped up to some and Aldo Calpini another.

    <http://xrl.us/fikm> -- initial request

    <http://xrl.us/fikn> -- Aldo's Offer

   thr-primes.imc
    Bernhard Schmalhofer updated thr-primes.imc to not use Perl* pmcs, which
    uncovered a bug in Undef.pmc. Leo fixed it.

    <http://xrl.us/fiko>

   aggregate clone vtable
    Leo noticed that some aggregates do deep copies while others do shallow.
    All should do shallow. Takers welcome.

    <http://xrl.us/fikp>

   **Arrays TODO
    Fixed*Arrays should have a limited form of splice available to them.
    Also, the Resizable*Arrays should have their allocation schemes adapted
    to that of the ResizeablePMCArray and *BooleanArray should store just
    bits. Bernhard Schmalhofer offered to take on the *BooleanArrays.

    <http://xrl.us/fikq> -- the request

    <http://xrl.us/fikr> -- the offer

   anonymous subclasses
    Simon Glober discovered that anonymous subclasses were not working in
    December. Now Leo fixed it.

    <http://xrl.us/fiks>

   Perl 6 compiler in Perl 6
    Millsa Erlas hoped that writing a Perl 6 compiler in Perl 6 was still a
    priority. Markus Laire pointerd her to pugs. She seemed happy.

    <http://xrl.us/fikt>

   object internals
    Leo has been steadily hacking away at the object internals. There is now
    a get_mro opcode.

    <http://xrl.us/fiku>

   dynclasses failure in gcc 3.3.3
    Leo commited a work around to a gc problem with dynamic library loading.
    Eventually the real solution will need to be implemented.

    <http://xrl.us/fikv>

   The many faces of Win32
    It turns out that one can have several different flavors of windows
    builds with MinGW (not to mention cygwin or msvc). This causes pain.

    <http://xrl.us/fikw> -- mingw

    <http://xrl.us/fikx> -- pain

    <http://xrl.us/fiky> -- the many moods of MinGW

   TODO: clean parrot's A*I
    Jarkko Hietaniemi posted a TODO for cleaning up both Parrot's API and
    ABI. Leo agreed that it would be very nice.

    <http://xrl.us/fikz>

   calling PIR from a PMC
    William Coleda wanted to know how to call PIR code from a PMC. Jeff
    Horwitz pointed him to the Parrot_call_sub_* API.

    <http://xrl.us/fik2>

   PAST compiler problems
    Bernhard Schmalhofer has a program that he can make work in imc, but not
    from PAST. It turns out that we don't yet have a way to pass options to
    the compile opcode. We need that.

    <http://xrl.us/fik3>

   makefile cleanup
    Bernhard Schmalhofer offered to clean some old imcc targets out of the
    makefile. Leo told him to go for it.

    <http://xrl.us/fik4>

   MRO broke TCL
    Will Coleda was sad that Leo kept breaking TCL. Leo suggested that he
    add the tcl tests to the base make test. Also, there is some funniness
    going on since test fail for Leo and not Will.

    <http://xrl.us/fik5>

   TODO add multiple return values to Parrot_call_sub
    Matt Diephouse posted a todo for adding the ability to access multiple
    return values from C.

    <http://xrl.us/fik6>

   MANIFEST failures
    Bob Rogers was getting MANIFEST failures. It turns out that he forgot to
    use the "-dP" switch with CVS. We have all done it.

    <http://xrl.us/fik7>

   pasm -> imc
    Bernhard Schmalhofer commited a few TODO tests for generating and
    running PASM from pir. Jens Rieks pointed out that this does not work
    and is only a debugging aid. Although I don't see anything wrong with
    wanting to get it working...

    <http://xrl.us/fik8>

   segfault on splice
    Nick Glencross found a segfault when splicing an IntList. Jens Rieks
    provided a patch that allowed parrot to die earlier and cleaner. Leo
    fixed the problem.

    <http://xrl.us/fik9>

   Documenting the MinGW build
    François Perrad provided a patch updating documentation for building
    with MinGW. Warnock applies.

    <http://xrl.us/fima>

   segfaulting md5sums
    Nick Glencross decided to check up on his md5sum library. It still
    compiles, but it segfaults. Leo found and fixed the GC bug.

    <http://xrl.us/fimb>

   Parrot_Exec_OS_Command
    François Perrad noticed that MinGW was very particular about how one
    execs OS commands. He wondered if this should be fixed at the configure
    layer or the Parrot_Exec_OS_Command layer. Dan explained that it was not
    intended to be language independant, and that a language independent
    version should go in a library.

    <http://xrl.us/fimc>

   Namespaces in PIR
    Leo posted a call for comments on PIR namespaces. Dan suggested a small
    addition.

    <http://xrl.us/fimd>

   builtins
    Leo committed a change moving builtins to a class namespace and provided
    convenient access to them from PIR.

    <http://xrl.us/fime>

   MMD: multi sub syntax
    Leo put out a call to develope a syntax for multi subs in PIR. Many
    options were suggested.

    <http://xrl.us/fimf>

   returning a variable number of arguments
    Bob Rogers updated PIR code to allow a variable number of arguments to
    be returned. Leo applied it.

    <http://xrl.us/fimg>

  The usual footer
    Posting via the google groups interface does not work. To post to any of
    these mailing lists please subscribe by sending email to
    <perl6-internals-subscribe@perl.org>,
    <perl6-language-subscribe@perl.org>, or
    <perl6-compiler-subscribe@perl.org>. If you find these summaries useful
    or enjoyable, please consider contributing to the Perl Foundation to
    help support the development of Perl. You might also like to send
    feedback to ubermatt@gmail.com

    <http://donate.perl-foundation.org/> -- The Perl Foundation
    <http://dev.perl.org/perl6/> -- Perl 6 Development site
    <http://planet.parrotcode.org/> -- Parrot Blog aggregator

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About