The Perl 6 Summary for the week ending 20021117
    "Oh! my ears and whiskers, I'm late!"

    It's 0650, it's 20021120 and I've only just started writing the summary.
    Call me lazy, call me a shirker, call me anything you damn well please,
    just don't interrupt me while I'm writing this.

    Yup, it's past time for another peek into the lives of those strange
    beings we call the Perl 6 development community, starting off, as usual,
    with the perl6-internals crew.

  Quick Roadmap
    Dan returned unscathed from this year's Lightweight Languages workshop
    and presented a short roadmap for the next few miles. Dan reckons that
    if we hit all those milestones we'll have a complete imperative core.
    Which will be nice.

    http://makeashorterlink.com/?N1CE21482

  Branch Dump
    Michael Collins stuck his head above the parapet to report that using
    "branch" provoked a core dump on his Linux setup. It turned out to be a
    problem with his code. Dan debugged his code and offered a reasonably
    full explanation of how parrot's "branch" actually works (and why you
    should really use labels in hand written assembler.) Gopal V worried
    that allowing branches to non-instructions was unsafe and wondered if,
    at least, a "parrot -fverify" switch might be in order. Dan agreed, but
    his reasoning was somewhat different.

    Elsewhere in the thread Dan tells us that he wants safe interpreters to
    be as safe as a locked down VMS system, but he's unsure as to whether
    we'll reach that gaol. (Mmm... nice typo there Piers, leave it)

    http://makeashorterlink.com/?P2DE44482

    http://makeashorterlink.com/?X6EE23482

  Parrot BASIC 2
    Clinton A. Pierce announced his complete re-write of BASIC for Parrot,
    this time modelling his implementation on QuickBASIC. Here's a list of
    the new features, lifted from Clint's announcement:

    *   Compiled directly to Parrot Assembly

    *   Interpreted

    *   Richer syntax than Parrot BASIC 1.0, which was based on GW-BASIC

    *   Much, much faster than Parrot BASIC 1.0

    *   Support for user defined types

    *   Support for variable scopes (but apparently, QuickBASIC scoping is
        'bizarre')

    Nobody said anything -- I think they were rendered speechless. However,
    I'd like to take the opportunity to use this platform to say "Yay
    Clint!". This is superb news. Okay, so supporting BASIC wasn't exactly
    Parrot's initial goal, but it's great to see that a single hacker can
    implement such a complete language using Parrot.

    http://makeashorterlink.com/?L2FE14482

  scope and functions in languages/scheme
    Not to be outdone by Clint's BASIC implementation, Jürgen Bömmels has
    taken advantage of Jon Sillito's lexical scopes patch to add functions
    to scheme (before it was just scheme syntax, now it has some claim to
    being really scheme like). Bravo Jürgen!

    http://makeashorterlink.com/?H20F35482

  Leo Tötsch is the Patch Monster
    This week, Leo has been mostly:

    *   Fixing JIT to make it restartable

    *   Fixing JIT to make it play well with Perl 6

    *   Fixing JIT so you can see what's going on when you use gdb.

    And generally seeming to pop up with useful contributions in almost
    every thread. Where does he find the time?

  Bootstrapping Perl 6
    Marius Nita asked about the Perl 6 compiler, wondering what language
    it'd be written in, Perl or C? Markus Laire thought it'd eventually get
    written in Perl 6 or Parrot `or something else which runs on parrot'.
    Gopal V worried about the bootstrapping problem and asked that the Perl
    6 compiler be written in something other than Perl 6 in an attempt to
    avoid a `dependency hellhole'. Brent Dax pointed out that we're pretty
    much obliged to write Perl 6 in Perl in order to get the self modifying
    parser behaviour and noted that we'd ship it as bytecode. Nicholas Clark
    pointed out that, strictly, you can't build perl5 from scratch without
    an installation of perl5, but the p5porters get 'round the problem by
    shipping the generated headers as part of the perl5 tarball.

    Dan points out that the goal is for Parrot to require a C compiler and a
    platform shell or Make tool (either should do). Nicholas Clark attempted
    to kick off a variant of Monty Python's `Yorkshiremen' skit ("Make tool?
    Luxury! We 'ad to make do wi' a console and switches!" "You were lucky!
    We used to 'ave to mek waves in' t'mercury delay line wi' us tongues!"),
    reckoning that it should be possible to get by with just a C compiler
    and asked that we `archive this message and hold it against me when the
    time comes, and you're looking for someone to prove it by making it
    work'.

    http://makeashorterlink.com/?V31F34482

    http://makeashorterlink.com/?W32F15482 -- Archive this message

  Quick note on JIT bits
    Dan announced that he was about to `do exceptions' and wanted to give a
    heads up to everyone who does Odd Things (principally the JITterbugs).
    The rule appears to be `Don't monkey with the system stack'. Leopold
    Tötsch wondered if that was actually the issue Dan thought it was, but
    came up with a bunch of other issues to do with register allocation,
    both at the parrot level and the processor level. And then it all got
    too much for my brain to cope with.

    http://makeashorterlink.com/?K53F12482

  Perl 6 test organization
    Over in perl6-documentation, they're about to start producing Perl 6
    language tests, so chromatic posted Brent Dax's suggestion about how
    tests should be organized into sub directories. General response was
    favourable (the current languages/perl6 tests are somewhat
    disorganized.)

    http://makeashorterlink.com/?B14F23482

Meanwhile, in perl6-language
    The language list was relatively quiet this week. The Operator thread
    seems to have reached a cæsura, but most of the current threads seem to
    have spun off from issues raised in that monster.

  Unifying invocant and topic naming syntax
    Discussion of ralph's proposals for changing the function declaration
    syntax continued. Damian doesn't like the proposed changes, and has been
    explaining to ralph why not. Nicholas Clark worries that a function
    being able to access its caller's topic is `an unrestricted licence to
    commit action at a distance' (he says that like it's a bad thing).
    Andrew Wilson pointed out that, unless you could access the caller's
    topic you wouldn't be able to prototype things like "print" (and if you
    can't get a prototype for something then you can't fully override it).
    Damian added that it's also what Perl 5 does (except Perl 5 does it
    without having the decency to declare anything)

    http://makeashorterlink.com/?H55F21482

  Superpositions and Laziness
    I'm not entirely sure why a thread titled `Superpositions and Laziness'
    should contain discussion of whether one should have a `pure' property
    or a `cached' one. Or both.

    Meanwhile, in the `laziness' side of the thread, Piers Cawley saw fit to
    post a huge chunk of uncommented code which was described by Larry as
    `opaque, and not in a good way'. On rereading, I didn't think it was
    *that* bad.

    Larry also introduced the possibility of breaking the "operator:" method
    of declaring operators up into "prefix:", "infix:", "postfix:" and
    "circumfix:".

    http://makeashorterlink.com/?I16F13482

    http://makeashorterlink.com/?B47F25482

    http://makeashorterlink.com/?A28F32482

  FMTWYENTK about :=
    Last week arcadi declined to expand `FMTWYENTK about :='. This week we
    discovered that it stands for `Far More Than What You Ever Needed To
    Know' (It was the `what' that foxed me).

    This week Damian supplied answers/clarifications. Next week, I'm hoping
    for a lovely, consolidated document.

    http://makeashorterlink.com/?N19F46482

    http://makeashorterlink.com/?G1AF21482 -- Always worth a read

  Continuations
    Given the subject of the last link, I find it entirely appropriate that
    the thread about coroutines and yield should be *called*
    `Continuations', but I freely admit to an odd sense of humour.

    It turns out that there are several different views as to what
    coroutines should do, a few of the alternatives were discussed. Damian
    thinks that the actual semantics chosen will probably have a good deal
    to do with how Perl 6 iterators work. Luke Palmer, whose name should
    live in infamy for this, declared that he was starting to like
    coroutines because `the elegantify stuff.'

    http://makeashorterlink.com/?L5BF21482

    http://makeashorterlink.com/?S4CF22482 -- Dan's expectations

    http://makeashorterlink.com/?N2DF12482 -- Damian's initially preferred
    coroutines

    http://makeashorterlink.com/?I2EF14482 -- `Pythonic' coroutines

  More junctions (or, When junctions collapse)
    Luke Palmer wondered about collapsing junctions. When a function
    collapses a junction, does the junction collapse everywhere, or would
    one have to make an explicit 'observation' to precipitate collapse?
    Damian offered a reasonably complete discussion of the various
    possibilities.

    I offer the following without comment:

     When a junction hits a function and collapses down to one
     will it propagate the changes through the runtime? Oh, what fun!

    http://makeashorterlink.com/?N2FF16482

    http://makeashorterlink.com/?F50021582

  Control Structures I, II and III
    Timothy S. Nelson's suggested new control structures got discussed this
    week. The general feeling seemed to be that what was proposed didn't
    really offer much that was desperately useful over and above the current
    control structures.

    http://makeashorterlink.com/?I11021582

    http://makeashorterlink.com/?Z32012582

    http://makeashorterlink.com/?I23032582

  String concatenation operator
    Andy Wardley wondered if we couldn't overload "+" to work as both
    numeric addition and string concatenation. Answer: No.

    Richard Proctor wondered if we couldn't get away with doing string
    concatenation by juxtaposition ( "string " "foo" evaluates to "string
    foo".) Answer: No.

    Larry had wise words the on subject of juxtapositional operators.

    http://makeashorterlink.com/?B24021582

    http://makeashorterlink.com/?L35046582

Meanwhile, over in perl6-documentation
    I'm still at something of a loss as to how to summarize this group
    effectively. Essentially the goal of the perl6-documentation list is to
    thrash out, in detail, the complete behaviour of Perl 6 and to produce
    tests and documentation which amount to a detailed spec. Their current
    project is `literal values', and the work is ongoing.

    There's been some debate as to documentation format of choice (current
    thinking is `POD with knobs'). Michael Lazzaro who, if he hasn't
    officially been named documentation pumpking is doing a damn good job as
    de facto `Bey of the docs' has posted a working outline for Section 1 of
    the docs. Garrett Goebel appealed for some docs on writing good tests
    for languages, which kicked off some debate about how tests should
    communicate with the test harness. Angel Faus put up a first cut at the
    `literal values' subsection, and got a good amount of feedback. Dave
    Storrs took on the `glossary chap' role, and posted a taster.

    Dave is also the coordinator for `Contributor License Forms', which are
    rather important. Before you donate any docs to the Perl 6 Documentation
    project you must fill in the form assigning the license to the Perl 6
    project. Dave's post has the details.

    Can you tell it was getting late when I wrote this section?

    http://makeashorterlink.com/?P26051582 -- Section 1 outline

    http://makeashorterlink.com/?Z37021582

    http://makeashorterlink.com/?O18026582 -- Literals, take 1

    http://makeashorterlink.com/?T29062582 -- Literals, take 2

    http://makeashorterlink.com/?J1A022582 -- Numeric literals, take 1

    http://makeashorterlink.com/?X3B052582 -- Glossary

    http://makeashorterlink.com/?B2C032582 -- Contributor license forms

In Brief
    Clinton A Pierce had problems building under Win32 -- I'm not entirely
    sure the issue was resolved.

    Jerome Quelin, backed up by Leon Brocard (Yay! I was wondering how I was
    going to mention him this week) used his Befunge interpreter to find
    bugs in PerlArray and string_append.

    Daniel Grunblatt (or a better than reasonable facsimile) is back. This
    made Leopold Tötsch and Steve Fink happy. And we like it when they're
    happy. Welcome back Daniel.

    The 'very complete lexical scopes' patch finally got applied this week.

    Tim Bunce pointed us at CCured, which looks interesting:
    http://makeashorterlink.com/?Q2D032582

    Jonathan Sillito offered a patch to turn parrot subs into closures.

    Arcadi wondered if sigils were user extensible. Answer: Yes, but not
    necessarily easily.

Who's who in Perl 6?
    Who are you?
        Leopold Tötsch. I'm an independent software developer, living in
        Austria (this is the country near Liechtenstein w/o kangaroos).

    What do you do for/with Perl 6?
        I'm digging around in Parrot's core, closing holes and pushing new
        ideas (or old ideas, which were already discussed before my time
        ;-).

    Where are you coming from?
        I started working with computers in the late seventies (e.g. a hard
        disc driver for a 10 Meg disc under CP/M 3). Via 8080/Z80 assembler,
        Pascal, C, Perl 5 I finally arrived at Perl 6 development, where I
        made this run under 5.005.03. While submitting patches towards Perl
        6, I realized that IMCC caused a lot of test failures, so I rewrote
        IMCC substantially and added the parrot engine. Running PBC inside
        IMCC demanded a bunch of patches to the Parrot core, so here I am.

    When do you think Perl 6 will be released?
        Sept 16th, 2004

    Why are you doing this?
        For fun, really a lot of.

    You have 5 words. Describe yourself.
        Parrot for a faster live.

    Do you have anything to declare?
        No customs here.

Acknowledgements, requests and the usual muttering
    This summary was brought to you, late from the comforts of GNER's First
    Class carriages, and from Mary Branscombe and Simon Bisson's most
    excellent (if somewhat hard to stand up from) sofa. Distractions were
    provided by the Kiseido Go Server, XMAME, Mary & Simon's DVD collection
    and a visit from Black Dog. Normal service will hopefully be resumed
    next week.

    Proofreading was once again down to Aspell and myself. We make a much
    better team than we did.

    A couple of months ago I said of Leo Tötsch that `he turned 44 on the
    16th of September 2002, so not only does he contribute really useful
    code, he makes Dan and I feel younger. Can this man do no wrong?' I
    seems he can't, he's even found time to contribute his answers for the
    summary questionnaire. Thanks Leo. Once more, if you participate in the
    lists and you've not sent me a set of answers I'd be really grateful if
    you'd send your answers to <mailto:[EMAIL PROTECTED]>, current names I'm
    targeting include Larry, chromatic, Steve Fink, Clint Pierce, Daves
    Whipp & Storrs (Hmm... Now there's a name for a legal practice, 'Pierce,
    Whipp & Fink') and anyone else named in a summary who hasn't sent me
    answers. As I used to say in my USENET days aTdHvAaNnKcSe.

    Now, I hope you're in good voice as we all join in the chorus:

    If you didn't like this summary, what are you doing still reading it? If
    you did like it, please consider one or both of the following options:

    *   Send money to the Perl Foundation at
        http://donate.perl-foundation.org/ and help support the ongoing
        development of Perl 6.

    *   Send feedback, flames, money and/or a 1920s Vauxhall 30/98 to
        <mailto:[EMAIL PROTECTED]>

    The fee paid for publication of these summaries on perl.com is paid
    directly to the Perl Foundation.



-- 
Piers

   "It is a truth universally acknowledged that a language in
    possession of a rich syntax must be in need of a rewrite."
         -- Jane Austen?

Reply via email to