develooper Front page | perl.perl6.compiler | Postings from November 2004

Perl 6 Summary for 2004-11-01 through 2004-11-08

From:
Matt Fowles
Date:
November 8, 2004 19:40
Subject:
Perl 6 Summary for 2004-11-01 through 2004-11-08
Message ID:
f2601a7f04110819391e63ec13@mail.gmail.com
Perl 6 Summary for 2004-11-01 through 2004-11-08
    All~

    Welcome to yet another summary, brought to you (once again) with the aid
    of the musical stylings of Dar Williams and Soul Coughing and a small
    stuffed elephant name Aliya. And, without further ado, I give you Perl 6
    Language (whose traffic has picked up a little)...

  Perl 6 Language
   What was that anonymous thing?
    Juerd wondered what things could be named and what anonymous. Larry
    provided the answer: Subtypes, Enums, Lists (Lazy and Eager), Grammars,
    and Packages, but then threatened to attack Juerd with hot grits.

    <http://xrl.us/dvi2>

   updated Apocalypses and Synopses
    Larry proved links to the current versions of the various Apocalypses
    and Synopses. Unfortunately he forgot to start a new thread with his
    message...

    <http://xrl.us/dvi3>

    http://www.wall.org/~larry/apo -- apocalypses
    http://www.wall.org/~larry/syn -- synopses

   suggested warning for overriding operators
    Aaron Sherman wanted to receive a warning for defining things like
    "multi sub *infix:+(...) {...}". But Larry reasoned the anyone who'd use
    the * there does not care for warnings.

    <http://xrl.us/dvi4>

  Perl 6 Compiler
    Last week, I bemoaned my lack of google (and thus links). But a couple
    kind souls pointed out that I could get links straight from the horses
    mouth: nntp.perl.org. All I can say is, ::shrug:: "Who knew that there
    was an internet outside of google?". Fortunately, I do not have to admit
    to its existence as there were no message this week.

  Parrot Internals
   she-bangs for none!!
    Last week James deBoer offered a patch to remove all of the shebang
    lines from config/*.pl (after his initial patch to add them to all of
    them was turned away). Warnock applies.

    <http://xrl.us/dvi5>

   Solaris 9 troubles
    Christian Aperghis-Tramoni has some trouble whil trying to install on
    Solaris 9. Warnock applies.

   more vtables
    Leo wanted to add a finalize vtable entry (in addition to destroy, which
    is apparently use for free memory and not active resources). Jeff
    commented on the difficulties implicit in finalizing stuff, and the
    thread ran out of gas.

    <http://xrl.us/dvi6>

   build dynclasses by default
    Last week, Leo was stalling to here about success and failures before
    adding them to the default build. Brent 'Dax' Royal-Gordon and Sam Ruby
    both chimed in with success. And so they did.

    <http://xrl.us/dvi7>

    <http://xrl.us/dvi8>

   register frame recycling
    Leo added in some basic continuation recycling. Dan didn't like that it
    required the user to clone return continuations into full ones. Leo
    agreed, but felt that a returncc function would be needed first. I
    wondered why we needed this recycling and couldn't just let the DOD/GC
    do it for us. The answer: speed.

    <http://xrl.us/dvi9>

   upcase binary strings
    Dan wondered what should happen if you tried to play with the case of a
    binary encoded string. The concensus seems to be either throw an
    exception or nothing, depending on settings.

    <http://xrl.us/dvja>

   setref poorly named
    Sam Ruby was initially confused by the strange behavior of setref. Leo
    told him that it was intended to set a reference inside a reference type
    and noted that classes needs a clean up. With the advent of dynclasses,
    this sounds like a job for some adventurous lurker...

    <http://xrl.us/dvjb>

   tracebacks pmc vs ops
    Leo wondered if we should have a PMC that could access the entire call
    chain and do whatever evil it wanted. Dan conjectured that this sort of
    thing was evil enough that ops might be well advised. Leo initially put
    some methods into the continuation to do this, but later though about
    putting them into the interpreter instead. I like the interp idea.

    <http://xrl.us/dvjc>

   parrot -t memory leaks
    Last week our fearless leader notice some not insignificant memory leaks
    with parrot -t. This week our fearless pumpking fixed them.

    <http://xrl.us/dvjd>

   Performance graphs
    Matt Diephouse (assisted by Joshua Gatcomb) provided a pointer to a page
    of periodic parrot performances, provided as pretty pictures. Please
    provide possible improvement pointers.

    <http://xrl.us/dvje>

    <http://xrl.us/dvjf>

    <http://xrl.us/dvjg>

   uniline yield() and return()
    Stéphane Payrard (whose name google objects to strenuously) resent his
    patch for uniline yield and return in PIR. Leo applied the patch.

    <http://xrl.us/dvjh>

   mod_parrot 0.1
    Jeff Horwitz released mod_parrot 0.1. Pretty nifty.

    <http://xrl.us/dvji>

    <http://xrl.us/dvjj>

   IO auto-flush troubles
    Christian Aperghis-Tramoni wondered how to make stdout not buffer away
    his prompt. The answer (provided by Mary Pauley and Luke Palmer) require
    using pioctl and strange magic numbers.

    <http://xrl.us/dvjk>

   bigChanges--; release++?
    Since the big indirect register change has gone through, some voices
    suggested putting out a 0.1.2 release. Leo felt that it was too soon,
    but seemed to be holding a minority opinion. I vote that we release
    after the new register allocator (and possibly Dan's string stuff
    depending on how long it takes).

    <http://xrl.us/dvjm>

   Dan's String Stuff
    Dan is about to make some "Irrevocable Changes" so he decided to do his
    work in a branch named "pluggable_encodings", assuming he can use CVS
    (which is surprisingly hard at times). Since no one screamed foul, I
    think it is a safe assumption.

    <http://xrl.us/dvjn>

   clone mmd
    Sam Ruby submitted a patch adding mmd_clone for dynclasses. Leo
    suggested an alternate approach, and Warnock['s Dilemna] took over.

    <http://xrl.us/dvjo>

   true coroutines
    Klaas-Jan Stol wondered if parrot had "true" coroutine because Roberto
    Ierusalimschy (of Lua fame) called it into question. Some confusion
    ensued as to what the platonic ideal of a coroutine actually is, but the
    answer seems to be: we should and if they aren't patches welcome.

    <http://xrl.us/dvjp>

   trouble with Closures and Subs
    Klaas-Jan Stol was having trouble with closures and subs. Many people
    provided some very useful pointers. If you are writing a compiler for
    Parrot you should read this thread carefully. If you are writing a
    summary for Parrot you should skim it and punt.

    <http://xrl.us/dvjq>

   Shared library and dynclasses
    Sam Ruby wondered if dynclasses should link to libparrot.so. Dan
    provided the answer: yes. Sam Ruby went on to suggest that if most PMCs
    would eventually become dynclasses, then (to reduce executable size, the
    parrot executable should probably also link to libparrot.so rather than
    including all of it. No one commented on this observation...

    <http://xrl.us/dvjr>

   serach paths and libraries
    Dan wants to stop being annoyed by library path issues. He figures that
    the right way to do this is to allow dynamic library loading. Best of
    all he wants the code to do that to be in the library. Thus he put out a
    request for the ability to embed bytecode into an executable. Brent
    'Dax' Royal-Gordon provided a slightly too evil method of doing this.
    Other slightly less evil (or even good) options would definitely be
    received thankfully.

    <http://xrl.us/dvjs>

   Benchmarks? tests? or both?
    Joshua Gatcomb noticed that some benchmarks fail on occassion. Matt
    Diephouse suggested making them tests too. Leo felt that would be fine
    provided they did not take too long to run.

    <http://xrl.us/dvjt>

   Fibonacci Still Slow
    It is odd how the wheel comes full circle. Originally designed as an
    exercise in addition for students, the Fibonacci sequence has some
    really interesting mathematical properties. While comletely ignoring its
    unexpected niftiness (and explicit formula), this miraculous sequence is
    still used as busy work for poor creatures. This time the creature is
    parrot, and, despite Leo's best efforts, it is still slow. There was
    some talk of how to optimize this before Dan put the smack down all of
    it:

    "No more performance changes. Period. We get parrot fully functional
    first."

    <http://xrl.us/dvju>

   Parrot on Windows
    Jerry Wiltz wondered how to get Parrot on his poor Win XP box. Fred and
    Georgy provided many pointers. Christian Lott also had trouble, but
    Nicholas Clark, Ron Blaschke, Peter Sinnott, and Steve Peters all
    provided pointers.

    <http://xrl.us/dvjv>

    <http://xrl.us/dvjw>

   Parrot build issues
    Jack J. Woehr was having trouble building parrot on his Sun. Leo
    provided the needed help. But then ICU became problematic. Many people
    provided help and he eventually got it running forth, which promptly
    segfaulted. Jack sounded discouraged, but he really should stay with it
    now that he has gotten by the hard part...

    <http://xrl.us/dvjx>

    <http://xrl.us/dvjy>

   detecting perldoc
    James deBoer wondered if we should detect the presences of perldoc and
    fail to configure if it is missing. The concensus seems to be that we
    should detect the absence of perldoc, but if it is no there throw up a
    big fat warning and procede.

    <http://xrl.us/dvjz>

   pow and other ops
    There was/is a fairly long and ongoing discussion about ops on PMCs,
    which Sam Ruby unwittingly started when he asked for MMD pow. While
    there are people on all sides, it appears likely that the ops will stay.

    <http://xrl.us/dvj2>

    <http://xrl.us/dvj3>

    <http://xrl.us/dvj4>

   C on parrot?
    bloves wondered what the current state of C on parrot was. But I think
    he posted it through google groups (which does not actually reach the
    list) as I did not find it in my email. The answer is essentially
    non-existant, but if you are feeling brave/insane/suicidal patches
    welcome.

    <http://xrl.us/dvj5>

   Streams and Filters
    Ron Blaschke tracked does the problem with t/library/streams.t #14 on
    Win32. The guilty party is line endings. One workaround would be to have
    the file in question be set to binary in cvs (although that feels like
    cheating).

    <http://xrl.us/dvj6>

   AIX PPC JIT
    Adam Thomason provided a patch to fix some warnings. Leo applied it.

    <http://xrl.us/dvj7>

   Register allocation/volatility
    Despite Dan's line in the sand strong statements about no more
    optimization, Jeff Clites and Leo tossed about some radical ideas for
    how to speed everything up.

    <http://xrl.us/dvj8>

   GC invocation
    Leo suggested changing the GC from one that interupts everybody and does
    its thing, to one that waits its turn and does its thing. I am concerned
    that this could lead to resource starvation in a multithreaded system,
    but nobody else posted anything. Of course he only suggested this today.

    <http://xrl.us/dvj9>

   eval questions
    Leo wants some answers to some eval questions before he tries to clean
    up dynamic code compiling. Answers??

    <http://xrl.us/dvka>

   include perl 6 files in config
    Gerd Pokorra wants to be able to run perl6 from anywhere. He even
    provided a means of achieving this end (although not in unified diff
    format as is the custom).

    <http://xrl.us/dvkb>

   pioctl -> segfault
    Stephane Payrard got a segfault while playing with the previously
    mentioned pioctl magic numbers. Leo speculates that this might be do to
    the lack of an end opcode.

   [TODO] improve parrot-config.imc
    Takers wanted.

    <http://xrl.us/dvkc>

   Missing arguments
    Klaas-Jan Stol wondered how to detecting missing arguments. Leo and Dan
    both pointed to the argument count registers.

    <http://xrl.us/dvkd>

   Update to embed.pod
    Stéphane Payrard provided an update to embed.pod. Leo applied it, but
    Brent 'Dax' Royal-Gordon cried fould over the including of parrot.h. Dan
    aggreed with Brent, and Stéphane Payrard provided a patch to remove the
    offending line.

    <http://xrl.us/dvke>

   calling convenctions, traceback, and register allocation
    Leo suggested a new way to invoke functions which would clean up
    calling, tracebacks, and register allocation. While such a change would
    have great aesthetic value, Dan declared it premature as parrot is not
    yet fully specified. Doubtless this will rearrise later, as aesthetics
    is a powerful motivator.

    <http://xrl.us/dvkf>

    <http://xrl.us/dvkg>

  The usual footer
    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



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