Re: Announce: Rakudo Star Release 2017.07

2017-07-25 Thread raiph mellor
TL;DR Imo, one of Perl 6's notable strengths is its approach to its
specification. Imo companies will love it. I can see it becoming a
primary tool for driving P6 forward in just the right way.



Steve has already answered with the short version of some of what I
say below, and I agree with what you (Darren) said in your reply to
him. So perhaps this is more for ToddAndMargo or other readers.

>From the start in 2000, Larry intended that the P6 project would
distinguish between various distinct notions of "specification":

* An evolving set of English documents that would be used to guide
compiler developers attempting to write a compiler that implements
that "specification". For the last few years P6 project leaders have
been calling these "Design Documents". The latest/last versions of
these are stored at design.perl6.org. They are now largely an
historical footnote -- calling these or any other English language
documents a "specification" was explicitly deprecated some years ago.

* An evolving set of English documents that would be used to guide end
users attempting to understand or write P6 code. Aka end user
documentation. The latest version of this is stored at doc.perl6.org.
Contributors can draw insight from the design documents (as per
previous bullet point) but are supposed to focus on the only remaining
specification (as per the next bullet point).

* An evolving Executable specification that emerges from that effort.
A compiler **must** match **100%** of this executable specification if
the compiler is to be officially allowed to claim it implements that
specification. This is what the 6.c specification is and what the 6.d
specification will be.

* The 6.c specification is stored at
https://github.com/perl6/roast/tree/6.c (Maybe we should change the
description from "Perl 6 test suite" to "Perl 6 language
specification".) There's also a 6.c errata at
https://github.com/perl6/roast/tree/6.c-errata which, aiui, is what
the monthly Rakudo releases target.

So, anything you read in English, like "doesn't yet implement macros"
is... written in English and is not part of a Perl 6 language
specification, per contemporary P6 usage of the word "specification".

> So I think it is reasonable for Rakudo to actually implement ALL of 6.c 
> before too long, that it would catch up, and otherwise the intent is that 
> Rakudo would be leading on things that eventually become 6.d etc later.

Aiui Rakudo's HEAD implemented all of 6.c (on at least one platform)
as of December 25th 2015 and each subsequent monthly release has as
well. (Well, actually, all of 6.c.errata.)

In principle this is an excellent foundation for manageable (in tech
and business senses), systematic, community driven, compiler dev
mediated, language stability, backwards compatibility, and evolution.

If someone (or some company) wants to drive the language forward, then
they work with the community to propose changes to the test suite for
6.d or some later 6.* version. These changes test that the particular
features they want are working.

Community members can do things like attaching a time-limited
incentive for compiler devs to alter the compiler to pass some
particular set of new tests.

Indeed, I imagine it would be fairly easy to set up a flow of direct
micro-funding of whatever a given community participant considers more
important to them. If it's backwards compatibility, then write tests
that ensure that backwards compatibility if they haven't already been
written and/or add incentives to currently failing/skipped tests. A
similar approach applies for those wanting more test coverage of
existing features, or new features.

--
raiph

On Tue, Jul 25, 2017 at 11:23 AM, Darren Duncan  wrote:
> There's a key difference however.
>
> While programming languages continue to evolve, the expectation is that a
> production-complete Rakudo would always be a functional superset (or equal
> to) the Perl 6 language specification which is current at the time.
>
> So I think it is reasonable for Rakudo to actually implement ALL of 6.c
> before too long, that it would catch up, and otherwise the intent is that
> Rakudo would be leading on things that eventually become 6.d etc later.
>
> The original question would be more accurately phrased, "Any idea when
> Rakudo will release implementing the full Perl 6.c?"
>
> -- Darren Duncan
>
> On 2017-07-25 1:02 AM, Elizabeth Mattijsen wrote:
>>
>> If that is the question, the answer is: the junction of “never" and “now".
>> Which would also be the answer for Pumpking Perl 5, or any other programming
>> language like ever.  Because as long as people are using it, a programming
>> language will evolve.  Much like any human endeavour I would say.
>>
>>> On 25 Jul 2017, at 09:42, Andrew Kirkpatrick  wrote:
>>>
>>> I assume the meaning is, roughly when is the implementation expected
>>> to cover the entire spec?
>>>
>>> Answering this is probably an exercise in futility, because its up to
>>> the community 

Re: chaining substitutions?

2017-09-23 Thread raiph mellor
You want to do two things:

1. match/replace something

2. match/replace something else

To do this in one command you need:

* `:g` to tell P6 to keep going after the first match

* `||` to tell P6 to match what's on the left first, or if that fails,
what's on the right

Which yields:

my $x="State : abc "; $x ~~ s:g/.*?" : "||" ".*//; say "<$x>"; # 


On Sat, Sep 23, 2017 at 1:29 AM, ToddAndMargo  wrote:
> Hi All,
>
> Question.  Can I chain these two substitutions together?
>
> $ perl6 -e 'my $x="State : abc "; $x ~~ s/.*?" : "//; $x ~~ s/"
> ".*//; say "<$x>";'
>
> 
>
> Many thanks,
> -T



-- 
raiph


Re: Naming debate- what's the location for it?

2018-02-14 Thread raiph mellor
Another 2 or 3 pennies^1 worth of strawman proposing / bikeshedding /
flight of marketing fancy about naming etc:

Perl's Rapture
===

Imagine we officially embarked on a year+ long communal process in
which we (TPF and Perl community) sort out branding and marketing of
Perlish languages. A key goal is to have everything as clear as we can
manage before Python 2.x official EOL. We not only make it clear how
P5 and P6 are different and how they are related but also how they sit
in contrast to Python, C/C++, Java, JS and other langs trying to evolve.

I think "Perl's Rapture" would be a fun and helpful name for this process.
I'm an atheist, or nearly so, but I can't think of something that beats the
several fun and interesting elements/parallels I see in the Wikipedia intro
in its Rapture page.^2

Perl Raptor
=

This is my proposal for Perl 5.30 and beyond.

It's an existing semi-official alternate name for P5, with a logo
hosted at TPF's website.^3

The 'Perl' could generally / increasingly be dropped from propaganda,
calling the language just Raptor instead, when that's helpful for reinforcing
that it's officially for refering to 5.30 and beyond.

I'm thinking there would be a switch from use of the Velociraptor to a
raptor bird logo, with a new logo competition, emphasizing smallness,
evolutionary fitness, speed etc, but perhaps I'm now weighing in with
3p instead of 2p and that might be a tad too rich.

(Perl) Rakudo
===

If jnthn and pmichaud and larry can warm to this idea, then:

This is my proposal for 6e+ (My sense is we'd be better off letting
P6 mature for another couple years, avoid unduly undercutting the
wave of books with Perl 6 in their title, and wait till after we get a
round of Perl Raptor branding impact / marketing, and instead hold
the noisy push till 6e around the time Python folk EOL Python 2.x.)

The 'Perl' could be dropped from Rakudo specific propaganda,
calling the language just Rakudo instead, to reinforce that it refers
to 6e and beyond. But the Perl could be retained in any material
covering both Raptor and Rakudo as a reunified tech / community.

-

^1 I've just arrived back in Britain after 25 years in the US.

^2 Excerpts from https://en.wikipedia.org/wiki/Rapture intro:

The Rapture is an eschatological term used by certain Christians ...

... meaning to snatch away or seize
[from what?]

... used by certain believers ... viewing it as preceding the Second
Coming and followed by a thousand year millennial kingdom
[cf 100 year language]

... there are differing viewpoints about the exact timing of the purported event
[at official Python 2.x EOL?]

... There are differing views ... whether it will occur in one event or two
[Raptor relaunch of P5... Rakudo relaunch of P6...]

... the term "rapture" is derived from the text of the Latin ... —"we
will be caught up"
[It's going to be fascinating to see what happens in 2020s re Python vs Perl in
particular and Hindley Milner static typing vs nominal static/dynamic typing]

^3 http://news.perlfoundation.org/2012/12/the-first-twenty-five-years.html

love to all, raiph


Re: Problem using a module containing a grammar

2013-03-25 Thread raiph mellor
On Mon, Mar 25, 2013 at 11:01 AM,   wrote:
> I have created a file called SalesReport.mp6, which contains a grammar
>
> module SalesReport;
> grammar SalesExportGram is export {

Aiui you can now use this module to introduce SalesReport as
a module name and SalesExportGram as a grammar name.

> which I would like to use in the following PERL 6 script:
>
> use SalesReport;
> my $parsed = SalesReportGram.parsefile('sales_report.txt');

As Brandon noted, SalesReportGram is misspelled in this case.
Aiui SalesExportGram ought to work.

> If I give the module (SalesReport.pm6) and the grammar
> declared in it (grammar SalesReport) the same name, I get
> "no such method 'parsefile' for invocant of type 'SalesReport'":
>
> my $parsed = SalesReport.parsefile('sales_report.txt');

Is SalesReport resolving to the module (which does not have
a method 'parsefile')? To see if this is so, try:

say SalesReport.HOW  # how is SalesReport handled?

What version of Perl 6 are you using? If I correctly understand
what I just checked, SalesReport.parsefile() should work.

> Any suggestions?

The best place to get answers to these sorts of questions is
the freenode IRC channel #perl6. Feel free to email me if you
would like help getting going with IRC.

If you really want/need to use a mailing list, consider posting
to the perl6-users list. This perl6-language list is intended for
posts related to language design. (Which is why just about
the only traffic is the slow trickle of updates to the language
specification, which is relatively stable, and a very occasional
burst of discussion about some topic. It may get noisier in the
second half of this year when concurrency starts to get a work
through, but I think most of that will be on #perl6 too.)

Hth,

--
raiph


Re: Licensing: Perl 6 specification and test suite

2013-11-05 Thread raiph mellor
Perhaps these help?

http://pugs.blogs.com/pugs/2005/02/day_28_609.html

https://www.google.com/#q=site:http%3A%2F%2Fpugs.blogs.com%2F+licensing

--
raiph



On Tue, Nov 5, 2013 at 9:36 AM, Moritz Lenz  wrote:

> Hi,
>
>
> On 11/05/2013 03:16 PM, Jan Ingvoldstad wrote:
>
>> On Tue, Nov 5, 2013 at 3:09 PM, Kalinni Gorzkis
>> mailto:musicdenotat...@gmail.com>> wrote:
>>
>> Can I distribute and modify the Perl 6 specification documents and
>> test suite under which conditions? If not, I propose that they
>> should be distributed under the Artistic License 2.0.
>>
>>
>> That is an excellent question.
>>
>> I've checked the git sources, and from what I can see, the examples
>> repository is under AL 2.0, as is STD.pm, but the synopses are not.
>>
>> I'm unsure as to whether this is an artifact of how things got added to
>> the git repository or not, perhaps someone else can clarify.
>>
>
> historically the test suite comes from the 'Pugs' SVN repository, which I
> later migrated to git (when the SVN server failed, and nobody wanted to
> maintain it), and split it up into multiple repositorys. At that time, I
> didn't consider license questions, just getting the technical details
> worked out.
>
> The remainder of the Pugs SVN, which hasn't been split out into different
> repositories, now lives on github as perl6/mu, and it doesn't seem to have
> a catch-all license.
>
> Somehow I have always worked under the assumption that it is under the
> Artistic License 2, just as Rakudo and NQP, and community concensus seem to
> agree with me. Therefor I've added an AL2 LICENSE file to the perl6/roast
> repository, and I hope that any former or current contributor that
> disagrees with the choice of license speaks up soon.
>
> I have no idea if the AL2 is well suited for sets of documents, as the
> specification is. I'll leave that decision to Larry.
>
> Cheers,
> Moritz
>



-- 
raiph


Re: question - languages with set/foo as only base data type

2013-11-17 Thread raiph mellor
On Sun, Nov 17, 2013 at 5:43 PM, Andrew Suffield
wrote:

> While mathematics as a field has mostly settled on set theory as its
> basis,

type theory is equally expressive and is usually preferred in language
> design.


Aiui there is now optimism in some circles that the set theory foundation
will
be replaced by a "homotopical interpretation of type theory".

I have about zero understanding of what this stuff is or if it will have any
impact on programming language type systems, but thought I'd speak up. :)

-- 
raiph


Re: [perl6/specs] 89cc32: Spec Bag.kxxv

2014-04-14 Thread raiph mellor
Hi Damian,

The .kxxv method name is a placeholder.

The brief discussion that motivated introducing it is at:
http://irclog.perlgeek.de/perl6/2014-04-13#i_8582049

Larry has chimed in at:
http://irclog.perlgeek.de/perl6/2014-04-14#i_8582684

---

Another discussion that's unfolding right now and could do with your
attention imo is:
https://github.com/perl6/specs/commit/9213b1382078fee890ab9d74223f3c7e95942837

---

All of the above illustrates an issue that we ought to address, namely
where we best discuss this stuff to make the best use of your time:

1. For the last few years almost all discussion is entirely on #perl6.

There's a real time log of this #perl6 discussion (as per the irclog links
above).
(There's also a representative subset of lines I hand select after the fact,
often days later, at eg http://irclog.perlgeek.de/perl6/2014-04-13/summary )

Sometimes there's discussion on #perl6 that involves Larry, followed by
commits that generally stick.

Or there's discussion without Larry followed by commits which are reverted
if he doesn't like it.

Or there's discussion followed by a message asking for Larry's input.
This is done either by just saying so in the log or, more reliably, by
leaving a message with an IRC bot. He will see the message by
A) reading it in the log and/or B) receiving a message from the bot
the next time he says something on #perl6.

Or there's discussion that leads to nothing being decided (but which
can be read later via the logs).

Larry is on #perl6 for at least a while most days including weekends.
Also, he catches up on what has been said by reading the entire backlog
each time he returns. (Almost no regulars use the "summary" I create;
for one thing it's often hours or days behind.)

The above arrangement works for us and $Larry. But I'm thinking we might
want to go back to @Larry with both you and him and figure out how we
make that work for you.

2. Sometimes a discussion arises on github in response to a commit
(eg the discussion that I said above could do with your attention).

Anyone can follow whatever P6 repos they want. They'll then get
emails alerting them to such discussions with a link back to github
comments. We could add you to the github/perl6 org, and maybe others.

3. And then there's these mailing lists. Almost no discussion occurs on
these lists these days. That said, we do respond if someone posts.



It's great to see you back.

Did you see that lizmat has taken a stab at implementing 'is cached' --
because she saw that that's the one unimplemented thing in some code
you recently published?

How confident are you that your all-in-one CS teaching platform concept
will be taken up by some educational institutions? What timeframe are
you thinking is involved here? Are you thinking P6 is already ready for it?

I don't think we're there yet but it seems like the perfect initial goal for
P6-as-a-product.

--
raiph




On Mon, Apr 14, 2014 at 1:03 AM, Damian Conway  wrote:

> >   Spec Bag.kxxv
>
> It's a clever name...but maybe too clever?
>
> I find it unfortunate that a method that only returns keys has a 'v'
> in its name.
> Up to now, we've had a more predictable pattern to naming these accessors.
>
> How about one of:
>
>  .weighted-keys
>  .distribution
>
> instead???
>
> And what is the use-case for this?
> I can see that I might want:
>
> $bag.kxxv.pick;
>
> but:
>
> $bag.pick
>
> already does that.
>
> I guess you might want to separate out the steps for some reason:
>
> my $selection = median_value_from( $bag.kxxv );
>
> but that would be far more readable/maintainable as:
>
> my $selection = median_value_from( $bag.distribution );
>
>
> Damian
>



-- 
raiph


Re: Rukudo-Star => Rakudo-lite?

2009-08-10 Thread raiph mellor
> Rakudo Zengi would be the most (in)appropriate, I think.

Why do I get the sense that some in the community are suffering siege
mentality? ;)

I had thought of things like Zen, Zero, Catalyst, etc.

But I love * | Star | Whatever. I love:
  o  The word Star, regardless of its connection with Perl 6.
  o  Insider reference to a cool feature of Perl 6.
  o  Rakudo* as an alternate that invites footnote-fu.
  o  Evoking "whatever works" instead of all of Perl 6.0.0.
  o  Evoking "whatever" to invite ongoing definition of what it is.

This latter point is the most exciting for me. "What is Rakudo Star?
Well, it's..."

I would love to see this meme encouraged, the notion that we all get
to continuously (re)define just what Rakudo Star is.

-- 
love, raiph


Re: Embedded comments: two proposed solutions to the comment-whole-lines problem

2009-08-11 Thread raiph mellor
> for the latest spec changes regarding this item, see
> http://perlcabal.org/svn/pugs/revision/?rev=27959.
>
> is everyone equally miserable now? ;)
> ~jerry

Ha! :)

I do indeed feel underwhelmed. I'll surely get over it but I may as
well post why, even though Larry's presumably trying to stop the
discussion. Sorry Larry.

First, I had liked some of the ideas that had been posted in this
thread. Quite a lot more than Larry's pick. Of course, I may well be
missing complications he can see.

Second, I had been mulling backtick, but was thinking on more radical
lines than the one Larry's gone for. Again, perhaps he's got more up
his sleeve that builds on what he's just committed.

For a quick backgrounder, Larry had talked of reserving backtick for
use as a user defined operator [1], Mark had suggested its use as a
(tightly bound) comment [2], and James et al had suggested using it to
declare units [3].

I've long been in Mark's camp about a lightweight and attractive
docstring syntax being likely to be helpful for encouraging habits
that would likely contribute to improved long term maintainability of
code with comments, and was mulling that.

-- 
love, raiph

[1] http://markmail.org/message/zvn2hul6irggtrde
[2] 
http://groups.google.com/group/perl.perl6.language/msg/7d10c6bc5d66288e?hl=en
[3] http://www.mail-archive.com/perl6-langu...@perl.org/msg20819.html

-- 
love, raiph


Re: comments as preserved meta-data (was Re: Embedded comments ...)

2009-08-13 Thread raiph mellor
On Thu, Aug 13, 2009 at 1:00 AM, Darren Duncan wrote:
> Timothy, you raise a good point...
> [discussion]
> I think this can be made to work without much fuss

I'm curious about these sorts of conversations, and the way the
community works in relation to them.

I'm also curious about this specific conversation, and the ability (or
otherwise) to get a facsimile of what we want by using existing P6
specc'd features, especially morphing the grammar, and macros.



First, about this conversation and the way the community works...

We just had a bunch of threads touching on this stuff. Larry++ then
made a change to the spec. Notably, @/Larry didn't post within the
discussions I read and made the spec change while discussions were
still going strong, with ingenious, fresh, thinking.

(That suggests to me that he/they were trying to shut down debate,
presumably due to viewing it as bike shedding, at a time when such
could be considered ever more dangerous, perception- and productivity-
wise. Leadership in an anarchist context is a tough role!)

Despite @/Larry's move, you have continued, and I appreciate that, and
hope @Larry are still paying some attention.



Second, I'm hoping that @Larry are confident we'll get more or less
what we want in the end, due to POD power and/or grammar morphing
and/or macros and/or some other features we haven't thought about. I'm
hoping that, rather than that what's happening is that @Larry are
running out of time and patience (although that would be quite
understandable!).

There have been many of these comments discussions over the years. In
particular, a notable multi year long exchange, best represented by
Mark Overmeer and Damian Conway, about how best to weave documentation
and code. Indeed, this issue goes way back and way deep; I recall Ward
Cunningham's promotion of 'literate programming' in the mid 90s, in
which, iirc, he talked of Donald Knuth's promotion in the 70s of the
idea of code and comments being woven extremely closely together such
that neither is dominant, and one can actually turn things inside out
and have code embedded in commentary rather than the other way around.
A radical paradigm indeed!

Anyhoo, I'd love to see a session of brainstorming, with nitty gritty
detail, about possible ways to get what you guys and Mark and I and
perhaps others think we would like to see in the way of super tightly
woven together comments and code, where said brainstorming initially
works within the creative constraint of leveraging the P6 spec as is,
plus reasonable extrapolation of unspecced bits. Think grammar
morphing, aspects of macros, the existing unfinished POD6 spec, and
any other relevant existing bits I'm forgetting.

Did that make sense? Anyone interested? ;)

-- 
love, raiph


Re: comments as preserved meta-data (was Re: Embedded comments ...)

2009-08-13 Thread raiph mellor
> Excellent idea. But may I suggest you perhaps might like to hold off
> that discussion until next week?
>
> @Larry had some very fruitful discussions about the long-overdue Pod
> spec during YAPC::EU last week and, as a result, I plan to (finally!!!)
> release a new version of S26 this week-end. I very much hope that this
> new revision will satisfy The Overmeer Desiderata [1] too.
>
> Damian
>
>
> [1] Sounds like a Robert Ludlum novel, eh?

With this whiny man exchange ultimately having bourne supreme fruit,
the apocalypse watch for the post damian weekend begins...

-- 
love, raiph


Re: S26 - The Next Generation

2009-08-17 Thread raiph mellor
On Sun, Aug 16, 2009 at 3:26 PM, Damian Conway wrote:
> It's Sunday evening and, as promised, here's the new draft of S26.

Thanks!

After an initial read thru the summary and spec my overall reaction to
the new pod is "whirled peas!". :)


> * Hence it must always parsed using full Perl 6 grammar: perl6 -doc

Couldn't the pod processing be encapsulated, perhaps in PGE/NQP, so
that it could be reused in a different Parrot language, provided that
said language supports declarators and comments, or even just comments
(if one downgrades the impact of encountering an "attached" comment
that has no declarator to a warning). The latter would fully restore
the generic applicability of the POD 5 parser, right?


> Hopefully this is something close to the final draft...and something that 
> every
> stakeholder and faction in this long discussion can dislike equally. ;-)

While I like the design, and I think it's near enough complete, and I
think a reader who knows perl and pod well could understand your
current description of that design, I think it could do with a major
rewrite to make it less confusing to work out what you really mean as
against what's currently written. ;) However, I think it's too early
to attempt such a rewrite, or even to comment on specific problems; I
plan to wait another couple weeks for some list back-and-forth before
commenting further about clarity and/or proposing edits and/or
providing patches.

The two design questions/comments I have for now are:

You don't say whether attached pod allows for configuration info or
formatting codes. I'm guessing your intent is no on both accounts.
However, presumably the pod parser could process config at the start
of attached pod and attach just the text after the config to the .WHY.
(Incidentally, .WHY seems a bit too cute; what about .DOC or .POD?
Same with .WHEREFORE; my boring suggestion is .CODE.) And formatting
codes could presumably be interpreted by renderers that chose to do
so.

Declarator aliases, as specced, seem to me the weakest part of the
design. Declarator aliases seem to only allow one my, one has, etc. in
a given context. Having to use non-attached pod syntax to do an
attached thing seems very weird. Having to use aliases at all to refer
to things that the Perl 6 compiler already has a name for seems like
an ugly/heavyweight/suboptimal approach.

Anyhoo, thanks for the time spent and great design skills that are so
evident in this new spec. :)

-- 
love, raiph


Re: S26 - The Next Generation

2009-08-17 Thread raiph mellor
> However it seems we have to pay a price: each act of rendering a Pod
> file actually means executing the program that's being documented (at
> least the BEGIN blocks and other stuff that happens at compile time),
> with all the security risks implied. So we'll need a *very* good
> sandbox. Is that worth it?

>From the spec:

   However, during parsing and initialization under K<-doc>, the
   interpreter only executes those C, C, and
   C blocks (and equivalents, such as C statements
   and subroutine declarations) that are preceded by the special
   prefix: C

-- 
love, raiph


Re: S26 - The Next Generation

2009-08-17 Thread raiph mellor
> Nonetheless, DOC INIT { system "rm -rf ." } (or etc.) would be unfortunate.

Gotcha. Perhaps something like perl6 -DOC is needed to execute DOC
blocks in the file passed on the command line and files it use's,
whereas perl6 -doc only processes DOC blocks in the Setting or its
use'd files, and merely parses but does not execute DOC blocks in the
file passed on the command line and files it use's.

-- 
love, raiph


Re: S26 - The Next Generation

2009-09-04 Thread raiph mellor
Damian:
> While I'm all in favour of other languages using Pod as a documentation 
> format,
> I think that's unlikely. Pod says that anything of the form:
>
>                       =identfiier
>
> *anywhere* as the first non-whitespace of a line, is considered a Pod 
> directive.
> I can't see many other language designers being willing to limit their
> assignment statements that way.

Hmm. I was thinking Pod would be parsed by a P6/PGE grammar, one that
could be relatively easily edited/extended to suit another context, because,
I thought, it could then be made available as a stock --doc subsystem that
all PCT based languages get more or less for free.


>> Having to use aliases at all to refer
>> to things that the Perl 6 compiler already has a name for seems like
>> an ugly/heavyweight/suboptimal approach.
>
> I think aliases are essential.

Ok.


> We need a way of referring to ambient code within Pod, without the
> Podder having to write more code to get it.

I was thinking it would be possible to reference (compiler) variables
representing eg. the name and sig of a block being parsed, or a block
or declaration which has just been parsed, or which is just about to be
parsed, and that simply referencing these variables would be ok and
would save the need to create explicit named anchors.

-- 
love, raiph