Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-04-21

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 TimToady pmichaud: pongongongong
00:01 * pmichaud wanders back
00:01 TimToady just committed new S05
00:01 pmichaud ooh, good timing
00:02 pmichaud two questions (hopefuly quick)
00:02 pmichaud first, p6l had opined from time to time that :w(&my_ws) would use a custom rule for whitespace -- is this blessed or speculative?
00:03 TimToady I'd say speculative for the moment.
00:03 pmichaud okay, so thus far we allow :w as a boolean adverb that enables/disables <?ws>
00:03 TimToady Maybe less speculative with "use rule :w" and such.
00:04 pmichaud second question -- not quite as quick.  How much room do we want to leave the rules compiler for optimization? (more)
00:04 TimToady but I'm inclined to think you just redefine the ws rule.
00:04 pmichaud for example:   rule myrule { hello world }
00:04 TimToady well, that's part of the motivation for defaulting to not backtracking...
00:04 pmichaud then later    myrule("hello world", :w(1))
00:04 pmichaud do we allow such a thing?
00:06 TimToady I wouldn't mind disallowing it by default.  could always put a "use pessimize" at the top. :)
00:06 pmichaud how about something like   rx :w($foo) / ... /
00:06 TimToady you willing to compile it both ways?
00:07 pmichaud I'm willing to do whatever the language designer(s) say it should do :-)
00:07 pmichaud but of course, we also have other adverbs...
00:07 TimToady The language designer is unwilling to say things that it shouldn't do. :)
00:07 TimToady the question is whether those are instructions to the rule compiler or the eventual sub?
00:08 pmichaud yes
00:08 pmichaud that is the question
00:08 TimToady I'd say they're compile time instructions to the rule parser.
00:08 pmichaud so, $foo is evaluated at compile time?
00:08 TimToady yes, I think.
00:09 TimToady same is true of qq:foo($x)
00:09 pmichaud yes, that makes sense
00:09 pmichaud if someone needs a really dynamic rule, they can call the rule compiler directly at runtime, or use an eval
00:09 TimToady basically, arguments to the macro, not the produced code.
00:09 pmichaud okay, I buy all of that -- makes me happy
00:09 TimToady or write their rule as a method, or use $^a in their rule...
00:09 cognominal_ what is this coerce call mentionned in S05?
00:10 TimToady Just like @() only different.
00:10 pmichaud of course, :keepall is special in that each rule has to be ready for it regardless of how it was compiled
00:10 pmichaud :parse is the same way
00:10 TimToady right.
00:10 TimToady :parse?
00:10 pmichaud sorry, :panic
00:11 TimToady you had me parsing there for a bit...
00:11 buu Are $^foo fariables still the block arugment.. magical.. variable thingies?
00:11 pmichaud okay, that's what I needed to know
00:11 buu Heh, variables.
00:11 pmichaud many thanks
00:12 TimToady I'd say more likely is "rule foo ($a, $b) :w {...}
00:12 TimToady and then you could use them from inside closures, where $^a wouldn't work.
00:13 pmichaud and if someone wants a runtime adverb, it's put in the rule signature
00:13 pmichaud ?
00:13 TimToady right, it's just a named parameter  :a($x)
00:13 pmichaud poifect
00:14 TimToady that also presumably gives you <foo($x,$y)> and <foo mumble> stuff.
00:14 TimToady for appropriate sigs.
00:14 pmichaud some of these S05 changes will require redoing parts of PGE, but they're parts that needed bringing up to date anyway.  Plus the parrot team finally has things far enough along that I can do better integration of PGE with other languages
00:15 TimToady hopefully they'll be viewed as improvements...
00:15 pmichaud yes, I've been planning <foo($x,$y)>.  PGE currently also supports the speculated <foo: mumble> form (which is really convenient for parsing and passing a string arg, btw)
00:16 TimToady that's partly why I put in <<<foo: mumble>>>
00:16 TimToady in case mumble has angles
00:16 pmichaud oh, yes.  So, does this mean that <foo: mumble> is official?
00:17 pmichaud or still just conjectural?
00:17 TimToady slightly less conjectural, let's say. :)
00:17 pmichaud (I think conjectural is still fine)
00:17 pmichaud it's not hard to change if/when we get there
00:17 TimToady It doesn't really buy much over <foo('mumble')>
00:18 pmichaud it buys a bit from the rule parser end :-)
00:18 pmichaud but I could go ahead and get the rule parser to easily handled single-argument forms for now
00:18 pmichaud *handle
00:18 TimToady you can leave it in for now.
00:19 pmichaud ah -- when it comes to implementation shortcuts, that's where I feel I get to impose my perogative over the language designers'  :-)
00:19 TimToady go for the gusto
00:19 weinig joined perl6
00:20 pmichaud so, we're now to  regex / rule / token  .  Nice.
00:20 pmichaud S05 no longer seems to summarize A05 (first sentence :-)
00:21 pmichaud I was wondering if  <@abc|@def|@ghi>  would end up with "longest-match" semantics like a hash?  ;-)
00:22 pmichaud then I told myself I shouldn't mention such things to anyone :-)
00:22 pmichaud (oops)
00:23 TimToady do you hear a buzzing in here?
00:23 pmichaud a small one, yes
00:23 TimToady I suppose it's entirely possible such a feature could happen by accident.
00:23 pmichaud could happen.  Not happening now.  :-)
00:24 TimToady and if a test for it snuck into the right place, it'd be official.
00:24 pmichaud okay, that's all the questions I had for the moment.  Long night of (re-)coding ahead :-)
00:24 TimToady kinda sorry, kinda not...
00:24 pmichaud I'm not sorry -- I like the new formulations a lot
00:25 TimToady yeah, but you said that last time, and the time before.  :)
00:25 * PerlJam doesn't like "regex", but who am I?  :)
00:25 pmichaud and much of the stuff was going to be redone internally anyway (to bring PGE up to speed with Parrot lexicals and namespace changes), so it's extremely timely
00:26 pmichaud yeah, I feel a bit like Scott McClellan, since I've been telling everyone for a couple of years now that "regexes are now called 'rules'"
00:26 pmichaud "Oh, they're really called 'regex'"
00:26 TimToady We'll have to refer it to the Damage Control Committee, I guess...
00:26 pmichaud np
00:27 pmichaud kids are calling me to "Lego Star Wars", so bbl
00:27 theorbtwo Have fun.
00:27 TimToady nap &
00:33 lisppaste3 joined perl6
00:34 Khisanth but "rules rule!" sounds awkward :)
00:36 amnesiac joined perl6
00:48 * buu rules Khisanth with a whip
00:49 weinig joined perl6
01:02 KingDiamond joined perl6
01:28 Coke joined perl6
01:34 beppu joined perl6
01:41 drbean left perl6
01:47 frederico joined perl6
01:51 KingDiamond joined perl6
01:55 YetAnotherEric joined perl6
02:00 vel joined perl6
02:12 dbrock joined perl6
02:23 weinig joined perl6
02:25 geoffb audreyt: I explicitely give permission to relicense as you see fit any of my code that still remains in the pugs tree.
02:26 geoffb (In reference to your blog entry)
02:29 avar "However, if people who have contributed to the src/ tree before feel uncomfortable about this change, that will necessitate a rewrite of those parts, so please voice your concerns."
02:29 avar almost anything is better than some stupid rewrite of code due to stupid legal issues;)
02:48 dbrock what is the goal of -Ofun?
02:55 Coke ...to have fun?
03:00 FurnaceBoy_ joined perl6
03:00 SamB it means "optimizing for fun"
03:05 saorge_ joined perl6
03:55 fglock joined perl6
04:05 KingDiamond joined perl6
04:10 cognominal joined perl6
04:31 drbean joined perl6
04:41 fglock left perl6
04:56 pdcawley joined perl6
05:04 justatheory joined perl6
06:02 joelbryan joined perl6
06:36 arcady joined perl6
06:44 iblechbot joined perl6
06:55 pdcawley joined perl6
07:03 mjk joined perl6
07:03 joelbryan left perl6
07:09 marmic joined perl6
07:13 Aankhen`` joined perl6
07:16 pdcawley joined perl6
07:28 svnbot6 r10049 | audreyt++ | * Disclaim my copyright over compilation of any Pugs releases as well
07:28 svnbot6 r10049 | audreyt++ |   as for compilation of this repisitory.
07:28 svnbot6 r10049 | audreyt++ | * Per Allison's suggestion, create a demonstratably legally separate
07:28 svnbot6 r10049 | audreyt++ |   third-party/ directory to put all code derived form upstream projects.
07:28 svnbot6 r10049 | audreyt++ |   All third-party parts under src/ will be moved here.
07:28 svnbot6 r10049 | audreyt++ | * Check in the first member of third-party: Text.Regex.Lazy, a full
07:28 svnbot6 r10049 | audreyt++ |   Rule engine with .*+ and .*? control (modulo named captures and <ws>); we
07:28 svnbot6 r10049 | audreyt++ |   just need a surface syntax for it to run Perl 6 rules. :)
07:28 svnbot6 r10049 | audreyt++ |   (The PArrows approach I used before did not handle lazy streams
07:28 svnbot6 r10049 | audreyt++ |    and wouldn't allow piecemeal conversion from our Parsec rules
07:28 svnbot6 r10049 | audreyt++ |    into Rule rules.)
07:28 Southen_ joined perl6
07:29 Southen_ joined perl6
07:29 azuroth joined perl6
07:29 Southen joined perl6
07:31 arcady joined perl6
07:41 ayrnieu joined perl6
07:45 rgs wow, now that's a commit
07:48 arcady_ joined perl6
07:52 pdcawley joined perl6
08:05 Cerial^Killer joined perl6
08:06 Cerial^Killer having an issue with a while statement running off any help would be apprechiated http://pastebin/672860
08:09 xinming Cerial^Killer: I don't think you should ask here. :-)
08:14 iblechbot joined perl6
08:22 pdcawley joined perl6
08:25 pdcawley joined perl6
08:33 fordinal joined perl6
08:41 ghenry joined perl6
08:44 macroron joined perl6
08:57 dakkar joined perl6
08:58 arcady_ is now known as arcady
08:59 macroron joined perl6
09:01 macroron joined perl6
09:13 macroron joined perl6
09:31 marmic joined perl6
09:51 kakos joined perl6
10:06 Aragone is now known as Arathorn
10:13 igorsutton joined perl6
10:40 macroron joined perl6
10:44 lidden joined perl6
10:51 elmex joined perl6
11:03 * dakkar is away: pranzo
11:19 nothingmuch EARTLSCTOOLNG
11:20 nothingmuch i like the mit licensr
11:20 nothingmuch short and sweet
11:37 froh-doh joined perl6
11:57 macroron joined perl6
11:58 pawel joined perl6
11:58 pawel hi
11:58 pawel is now known as pmurias
11:59 azuroth hey
12:01 KingDiamond joined perl6
12:02 Arathorn distinct deadness in here today
12:02 pmurias on which term can things in the pugs tree which have no copyright or legal info be distributed?
12:02 pmurias s{pugs}{misc/pX}
12:03 pmurias or is it undefined
12:04 pmurias ?
12:05 iblechbot joined perl6
12:09 ruoso joined perl6
12:11 Toaster joined perl6
12:12 merlyn joined perl6
12:14 ruoso merlyn, heya...
12:14 kolibrie joined perl6
12:15 merlyn hi
12:15 ruoso merlyn, are you in brazil?
12:15 merlyn yes
12:18 Limbic_Region joined perl6
12:18 merlyn joined perl6
12:21 Coke joined perl6
12:41 xerox_ joined perl6
12:41 fglock joined perl6
12:43 * dakkar is back (gone 01:39:45)
12:52 fglock merlyn: hi!
12:53 merlyn hey
12:54 pmurias ruoso,fglock: hi
12:57 fglock ruoso: we've got a sponsor for YAPC::SA
12:58 ruoso wow... that's good
12:58 ruoso who?
12:58 ruoso pmurias, hi
12:59 ruoso fglock, YAPC::SA will be inside CONISLI, right?
13:00 fglock yes - but we are in the organization committee - so we can add more Perl to it  :)
13:02 ruoso that's really nice
13:10 xinming    May you do good and not evil.
13:10 xinming    May you find forgiveness for yourself and forgive others.
13:10 xinming    May you share freely, never taking more than you give.
13:11 xinming People out the world won't take these 3 if there is no license... :-)
13:12 theorbtwo xinming: "May you" doesn't force terms upon you, which was the point.
13:12 theorbtwo (I'm having problems parsing your last line.)
13:14 xinming hmm, This is from audreyt's blog...  I mean, there are many people which will get the source, and rename it and become his "own"
13:14 audreyt and I... welcome that.
13:14 * xinming feels sorry about his poor English.... Xinming should practise...
13:14 fglock audreyt: ping
13:15 audreyt fglock: pong
13:15 fglock audreyt: we've got a sponsor for YAPC::SA in november - would you come?
13:15 Qiang joined perl6
13:15 theorbtwo audreyt: You should probably collect URLs to people's copyright dedications/disclaimers.
13:15 ingy seen bsb
13:15 jabbot ingy: bsb was seen 21 hours 19 minutes 40 seconds ago
13:16 audreyt theorbtwo: yes, doing that.
13:16 xinming audreyt: hmm, won't you blame about that? I mean, even erase the copyright and all other things, and become their own.... :-/
13:16 audreyt theorbtwo++ # thanks a lot :)
13:16 audreyt xinming: I... welcome that. really :)
13:16 theorbtwo That's one reason I kept track of AUTHORS -- to make things a bit easier when this day came.
13:16 xinming audreyt: If you don't, then, I should help you on blaming that... :-)
13:16 audreyt theorbtwo: yup, and I have a set of contact data in openfoundry db
13:17 xinming theorbtwo: do you mean vi AUTHORS d G ?
13:17 audreyt theorbtwo: for people actually committing code ("svk annotate" on src will show all involved parties)
13:17 beppu joined perl6
13:18 theorbtwo I don't know what d G does in vi.  (I'm an emacser.)
13:18 audreyt xinming: no no, not that.
13:18 audreyt dG erases the whole file.
13:18 xinming :-)
13:18 audreyt AUTHORS is wonderful; it's a social construct
13:18 xinming theorbtwo: how about C-x h C-w ? :-)
13:18 beppu dG erases from the current cursor line to the end of the file.
13:18 azuroth left perl6
13:18 audreyt it's just the (revokable at any time) legal construct part of the Artistic and of the GPL that I'm trying to do without
13:19 azuroth joined perl6
13:19 azuroth I was pondering how hard C-x h C-w might be to type, and...
13:19 xinming azuroth: It's as easy as drinking. :-)
13:19 theorbtwo Ah, in that case, you should certianly use a public domain dedication, and not the license you're using, which /is/ revokeable.
13:20 pmurias GPL is revokable?
13:20 audreyt pmurias: yeah, according to Eben
13:20 audreyt it's a popular myth that it is not, but it really is
13:20 beppu what does it mean to "revoke" the gpl?
13:21 audreyt beppu: to cease to allow people to use your software under GPL.
13:21 xinming beppu: your previous part belongs to public domain, and you can folk the one yourself
13:21 particle_ joined perl6
13:21 audreyt beppu: legally it _may_ be possible that earlier fork survives
13:21 audreyt but even that is controversial.
13:21 theorbtwo However, dedications of copyright interest to third parties or to the public domain are /not/ revokable (if done properly).
13:22 audreyt right, with creative commons's phrasing of Certifier
13:22 beppu so something that's gpl'd now is not necessarily free in perpetuity.
13:22 beppu (...if the author decides to change his mind and un-gpl his work)
13:22 pmurias so if a past core developer of a project revokes the gpl, all his code needs to be rewritten
13:22 pmurias ?
13:23 theorbtwo Assuming he hasn't given away his right to do that, yes.
13:23 audreyt pmurias: yes.
13:23 beppu is that a bug or a feature?
13:23 audreyt FSF thinks it's a bug I think
13:23 pmurias a bug
13:24 pmurias if you use someones could he could blackmail you
13:24 jserv-- joined perl6
13:24 pmurias bbiab&
13:24 beppu I imagine that this doesn't happen very much in practice.
13:24 ruoso audreyt, do you have some docs/links about the gpl revokability?
13:24 xinming while we are talking about this, It reminds me about the x-chat. :-)
13:25 xinming x-chat is great... but the author added the bomb in the source, and release the binary... which made many people angry... :-)
13:25 xinming I mean for windows people
13:25 audreyt ruoso: sure... http://www.wired.com/news/business/1,35258-0.html
13:26 theorbtwo ruoso: http://en.wikipedia.org/wiki/Public_domain
13:26 audreyt http://en.wikipedia.org/wiki/Public_Domain - grep for "http://en.wikipedia.org/wiki/Public_Domain"
13:26 audreyt er
13:26 audreyt grep for "Revocability where no consideration"
13:26 xinming not Linux, In Linux, there is always people compiling the source.  for Windows version, the author added a bomb and just release the binary...  IMO, There is nothing to say...  But I don't know what the deals is in GPL. :-)
13:27 beppu He must really hate Microsoft.
13:27 xinming beppu: I don't think so... :-)
13:27 lumi Bomb?
13:28 merlyn "somebody set us up the bomb!"
13:28 lumi YM "set up us"
13:28 theorbtwo No, he must really hate people who run binary version.
13:28 merlyn oops. :)
13:28 merlyn I can never remember it literally.
13:28 xinming lumi: hmm, I mean the software will become unusable after 30 days without regiesteration.
13:28 merlyn I paraphrase the badly translated to autocorrect it.
13:29 merlyn most microsoft software doesn't wait 30 days. :)
13:29 lumi It's thoroughly engraved in my brain
13:29 xinming http://www.xchat.org/windows/
13:29 merlyn "born unusable!"
13:29 xinming here, It's still there. :-)
13:30 xinming merlyn: MS windows shouldn't be used much... eg: if Xp is running on a spaceship... the problem is, while it asks you for activation.... :-)
13:31 lumi Oh, well gee. Make it simpler to build?
13:31 merlyn <dalekvoice>"activate - EXTERMINATE"</dalekvoice>
13:33 xinming lumi: that's not I'm aware of, after I can work with Linux, Windows is a bit like an advanced "gameboy" in software area.
13:33 theorbtwo It seems more or less reasonable to me.  Do users of the win32 binary version help the community?  They obviously aren't going to be sending back patches any time soon.
13:34 lumi Give them the source and a compiler, they might
13:34 lumi Anyway they can certainly write scripts etc
13:34 theorbtwo lumi: They're certianly free to get the source and the compiler, and stop using the version with the time bomb.
13:34 lumi I don't know X-Chat that well, but ISTR it had a scripting arch
13:34 audreyt oh. hm. interestingly, GPLv3 now explicitly states that it is irrevocable
13:34 audreyt in the current draft
13:34 xinming lumi: do you mean distribute it with perl or a bash, or cygwin?
13:34 merlyn but what could that mean?
13:35 theorbtwo audreyt: Note that the wired article says that they're revocable even if they say otherwise.
13:35 audreyt (GPLv2 didn't do that; neither does Artistic[12])
13:35 audreyt theorbtwo: right, but opinions differ on that
13:35 merlyn I can certainly release version 3 under one license, and version 4 under another one
13:35 merlyn if I'm the copyright holder
13:35 theorbtwo OTOH, the WP article says that you might be able to make a promisory estoppel claim.
13:35 lumi No, most IRC clients have embeddeds scripting, I think X-Chat does as well... (Or does it use perl?)
13:35 * xinming feels confused by Licenses... :-/
13:35 audreyt merlyn: sure, this has more to do of whether you can go back and say version 3 cannot be used under that license anymore
13:35 * merlyn has the same feeling about lawyers in general
13:35 theorbtwo merlyn: You can, but the question is if you can make the old license no longer apply to version 3.
13:36 * audreyt thinks it's a Very Good Reason to avoid licenses altogether and simply disclaim copyright
13:36 merlyn that would already make sense
13:36 merlyn if I got software from you under a certain license, you shouldn't have unilateral rights to terminate that license
13:36 merlyn that's a biased agreement
13:36 audreyt merlyn: sure, but for future users
13:36 Limbic_Region only question I have with disclaiming copyright is if someone is then able to copyright it themselves?
13:37 merlyn you should have rights to terminate *if* I fail to meet certain clauses
13:37 xinming lumi: It doesn't need the full perl, and also, Do you need x-chat to install with the perl distribution?
13:37 stevan joined perl6
13:37 audreyt Limbic_Region: no, copyright cannot be obtained like that
13:37 audreyt Limbic_Region: but you can combine it with other copyrighted work of yours
13:37 audreyt and claim that the whole, or the derived product, or the compilation, is copyrighted by you
13:37 merlyn Oh.  that's how irrevocable could mean.  once put out there, it would be forever under that license to all future users.
13:37 lumi xinming: You mean, would I require X-Chat to come with a full perl?
13:37 audreyt and set whatever term.
13:37 merlyn interesting
13:37 ruoso I think the problem is: "The GPL purports to grant a new license from the original grantor, rather than each succeeding author of a program granting a sub-license to the next"
13:38 audreyt ruoso: right, that's the crux of the problem
13:38 merlyn Oooh.  how could that work?
13:38 merlyn especially if it's a derived work
13:38 ruoso I don't have a clue
13:38 merlyn it means I would own your work if you derive.
13:38 ruoso no
13:38 lumi Doesn't it licence you to licence it under the same or compatible terms?
13:38 merlyn if I have the right to control its license, then I own it
13:38 ruoso because a second agreement is needed to transfer the proprierty
13:39 theorbtwo http://en.wikipedia.org/wi​ki/Public_Domain#Case_law
13:39 merlyn in any case, this is confusing
13:39 merlyn the gplv3 track at FISL is today
13:39 xinming hmm, eg, someone ever wrote a software. and the authoer(someone) doesn't maintain it, and another one wants to maintain that, after a period, the whole software is rewritten, Can that author(maintainer) redistribute his version in different license?
13:39 merlyn I imagine RMS will have a lot to stay
13:39 xinming lumi: thanks...
13:39 merlyn to say
13:39 audreyt Limbic_Region: so, in practice, a copyright disclaimer (SQLite) versus a BSD/MIT license is that
13:39 * Limbic_Region listens closely
13:40 audreyt the former no longer requires attribution for derived works, and may not be revoked.
13:40 audreyt that's it.
13:40 * Limbic_Region would rather not copyright/license any of his code other than I wouldn't want anyone else to be able to prevent others from using/enjoying it
13:41 audreyt Limbic_Region: right... so if I take SQLite, derive from it, claim it mine
13:41 lumi But it doesn't keep free
13:41 audreyt that's entirely OK
13:41 audreyt but it doesn't prevent you from grabbing the same SQLite I took.
13:41 audreyt in that regard it's exactly the same as BSD.
13:41 * Limbic_Region is fine with that
13:41 * Limbic_Region is even fine with someone taking my work and selling it
13:41 merlyn although BSD requires a tip-o-the-hat to the originator
13:41 merlyn sqlite disclaims that
13:41 audreyt yup
13:41 xinming lumi: that's what I mean...  In fact, Windows isn't for people who wish to compile something, even in VC... It's a pain if the system crashed....  In Gnu/Linux, at least, If the X window doesn't work, you can switch to console go on working while your repairing(or upgrade) the system...
13:41 merlyn the BSD license is very close to the artistic license
13:42 theorbtwo It does, yes.  That makes it a license, and one without consideration for the author, and thus revokable.
13:42 merlyn except for the "don't call your thing Perl" part
13:42 ruoso so... if you say "public domain" and put on sourceforge... no way to revoke...
13:42 audreyt merlyn: right, but Artistic 2.0b14 added some more bits
13:42 audreyt merlyn: patent retaliation, more prominiently.
13:42 merlyn Ugh.  I didn't get the memo. :)
13:42 * ruoso is getting back to the case_law
13:42 * merlyn will have to go read now
13:42 audreyt and also that TPF retains the right to update the terms for Artistic2
13:43 lumi xinming: Although making a further buck on the backs of people who are already stuck in Windows (usually because they don't even know about an alternative).. A bit mean
13:43 audreyt which seems to apply automatically, but that worries me, so I wrote to allison (but havn't got a reply yet)
13:43 merlyn so the license is legally held by TPF rather than Larry now?
13:43 merlyn that's good
13:43 audreyt yup
13:43 audreyt it's in general much better than A1 :)
13:43 merlyn TPF has automatic survivorship
13:43 audreyt allison++ # Artistic2
13:43 merlyn Larry, on the other hand, is not bus-compatible. :)
13:44 theorbtwo Bus-compatable?
13:44 merlyn big bus hitting larry
13:44 audreyt theorbtwo: TimToady is suspectible to bus errors
13:44 merlyn the classic "oops" scenario in software design
13:44 theorbtwo Aaah!
13:44 merlyn and organization design
13:44 particle_ bus error: passengers dumped
13:45 lumi The ol' exploding bus trick
13:45 theorbtwo But what happens if TPF goes bankrupt, and is forced to sell the right to change the terms of the Artistic 2?
13:45 merlyn "sorry about that, chief"?
13:45 audreyt theorbtwo: then... well, we're screwed.
13:46 merlyn purchased by Guido. :)
13:46 xinming hi, by the way, Do you here believe perl 6 will change the world, and becoming popular quickly rather than scaring people to learn perl 6 programming language? :-)
13:46 audreyt (which is why I find the new clause worrisome)
13:46 audreyt xinming: Perl6 already changed my world... :)
13:46 xinming As for now, there are too many things to learn in perl 6 even if you are from perl 5. :-/
13:46 theorbtwo This is one reason that the GPL doesn't allow switcheroo, but rather "any later version, at your option".
13:46 audreyt theorbtwo: Arttistic up to 2.0b5 at least does that as well
13:46 audreyt it's a new feature in b14
13:46 xinming audreyt: well, I mean the world. If that is what you mean, I should say, you and pugs changed my world... :-)
13:47 audreyt xinming: yeah. work on docs/Perl6/ in the pugs tree!
13:47 audreyt read the overviews, see if it makes sense, report quesions, etc
13:47 merlyn Flavio wants me to bring up the sin/time/divide/regex issue in this channel when both audreyt and pmichaud are around
13:47 xinming :-)
13:47 merlyn just to see how the current implementations deal with the issue
13:48 merlyn I've already discussed the problem with both Larry and Damian earlier in life, but that was before implementations were as far along
13:48 fglock yup - like how the parser will tell things like 'func / ...' from 'func / rx /'
13:48 theorbtwo Um, what sin/time/divide/regex issue?  I know a divide/regex issue, but what do sin and time have to do with it?
13:48 merlyn sin and time were my examples for prototypes
13:48 merlyn sin / vs time /
13:48 theorbtwo Ah.
13:49 merlyn and userfunc1 / vs userfunc2 /
13:49 merlyn in the face of prototypes
13:49 audreyt fglock: circumfix // versus infix / ?
13:49 audreyt merlyn: thank god perl6 has only three prototypes
13:49 audreyt nullary, (optional) unary, and listop
13:49 merlyn but that still triggers the problem
13:49 merlyn nullary vs listop
13:50 merlyn so that means that you *must* execute code that defines prototypes during *compile* time
13:50 merlyn and if so, the state of the symbol table has changed, and is that packaged alongside the P6AST for use in later stages?
13:50 merlyn that's my current curiousity
13:51 merlyn since the code that defines the prototype for userfunc1 can also set the variable $foo to "bar", and then append "x" to it, is "barx" included in the P6AST
13:51 audreyt oh ok, that
13:52 audreyt that's a solved problem :)
13:52 audreyt as you observed, the parser must keep an execution environment
13:52 audreyt known as a "object space"
13:53 audreyt anything that may be referred to from runtime, including the symbol table
13:53 audreyt needs to be serialized and stored as part of the AST
13:53 audreyt (more like, alongside the AST)
13:54 audreyt each .pm file is separatedly compiled that way
13:54 audreyt when we say the "main AST" we really mean
13:54 audreyt "the AST structure accessible from the &Main::MAIN object in the serialized object space"
13:55 theorbtwo Seperately compiled?  What happens when A.pm sets something in Main, then B.pm looks at it during compiletime, and compiles differently based on if it's set or clear?
13:55 audreyt theorbtwo: the doctrine of separate compilation says
13:55 audreyt each .pm file must be compiled without access to other compilation unit's object space
13:55 audreyt the only thing allowed is explicit import via "use"
13:55 audreyt and it's a clone, not a shallow shared copy.
13:56 beppu just out of curiosity, has anyone written a tutorial on perl 6 for people coming from perl 5?
13:56 theorbtwo Hm, that places a limit on dynamicasim, but I don't think that's a big problem.
13:56 audreyt so, that means the compiler has to work as-if each .pm file is compiled in a different process
13:56 particle_ beppu: i think that's called the pugs test suite :)
13:56 audreyt and effectively makes macros (and other language-changing things) lexically scoped.
13:57 audreyt (because you can't redefine what "if" means and affect other modules that does not import you.)
13:57 audreyt we came up with this in the Toronto hackathon, and it's a good doctrine :)
13:57 beppu I figured it was too early for a tutorial.  ;)
13:57 audreyt beppu: it's not - see docs/articles/tpr.pod
13:58 beppu thanks
13:58 audreyt also, docs/Perl6/Overview/*
13:58 audreyt there are also various other tutorials available on the web
13:58 audreyt probably they belong to docs/Perl6/Tutorial/.
13:58 xinming beppu: read synopsis. :-) since perl 6 changed much in grammar  :-)
13:58 theorbtwo Oh.  I probably knew that doctorine then, then.
13:59 audreyt it might be even you who raised this discussion (or was it nothingmuch.)
13:59 merlyn joined perl6
13:59 merlyn bleh.  my screen emacs went sour
13:59 merlyn But what I saw, looked like it addresssed the issue
14:00 audreyt cool :)
14:00 merlyn this also means that every compiler has to have an execution context
14:00 audreyt there's no longer action-at-a-distance
14:00 audreyt if your main.p6 says
14:00 merlyn is that the case?
14:00 audreyt use foo;
14:00 audreyt use bar;
14:00 audreyt foo cannot ever affect how bar is compiled.
14:00 audreyt (unlike in p5)
14:00 merlyn Oh.  that's cooler
14:00 merlyn except that I've used that to work around bugs. :)
14:00 audreyt merlyn: it's called "doctrine of separate compilation"
14:00 merlyn so now I will have to have other hooks to do that.
14:01 audreyt yeah, you can use
14:01 merlyn after use bar, I can poke into bar's space, right?
14:01 beppu xinming: The synopses look useful.  thanks.
14:01 audreyt module bar; use foo; class foo:::moose is extended { ... }
14:01 audreyt and even override their symbols etc, or itnroduce pre/post hooks
14:01 xinming beppu: yw. :-)  I'd say most people read synopsis as a start of learning perl 6. :-)
14:02 audreyt so all the dynamic klugability is still there
14:02 audreyt it's just not allowed to affect the static (compile time) part.
14:03 audreyt merlyn: also larry ruled (during OSDC.il) that if you say
14:03 audreyt ./pugs -O moose.p6
14:03 xinming audreyt: in docs/Perl6/ Is the document mirrored from @Larry's synopsis?
14:03 xinming audreyt: hmm, in docs/Perl/Spec/
14:03 xinming as the doc in Spec isn't up-to-date
14:03 audreyt then the dynamic extension can be forbidden by the optimizer
14:04 audreyt xinming: it is, and clkao is supposed to help keeping the mirror current by fixing the merge process...
14:04 audreyt clkao: got any luck adjusting the merge ticket?
14:04 audreyt xinming: it's temporarily out of sync. thanks for the reminder
14:05 FurnaceBoy joined perl6
14:06 xinming audreyt: hmm, IMO, why should spec in docs? as we can create a small script to dynamically download it, and rename it. :-/
14:07 audreyt xinming: oh, I have that script
14:07 justatheory joined perl6
14:07 audreyt xinming: you think it makes more sense that way?
14:08 audreyt xinming: can you fix Makefile.PL in docs/Perl6/Makefile.PL so it does that?
14:08 audreyt the renaming table is
14:08 audreyt        01 Overview 02 Syntax       03 Operator     04 Block
14:08 audreyt        05 Rule     06 Subroutine   09 Structure    10 Package
14:08 audreyt        11 Module   12 Object       13 Overload
14:09 xinming audreyt: No, what I think is, we don't need the Spec dir in Perl6 yet, as every time we need it, eg, call make install and no need for people to maintain it...  Since all of us like laziness. :-)
14:09 merlyn now we just need to get some complete end-to-end solutions that work fast, and get people using perl6. :)
14:09 audreyt the upstream is http://svn.perl.org/perl6/doc/trunk/design/syn
14:09 audreyt merlyn: working on that! :)
14:09 merlyn Yup
14:09 merlyn fglock's work sounds exciting
14:10 audreyt it is very exciting, as I suspect people don't only want end-to-end
14:10 merlyn now we just need either ponie or larry's p5-to-p6 working, and life is good
14:10 audreyt they want end-to-end-that-hooks-to-existing-end
14:10 audreyt unfortunately, p5-to-p6 has no champion
14:10 audreyt (neither does ponie at this point)
14:11 merlyn well - if the p6 rules can be subclassed to provide a p5 translater, that'd be interesting. :)
14:11 merlyn given that p5 is a semantic subset...
14:12 merlyn so once we get the p6 compiler written in rules, then the rules can also be tweaked to parse p5
14:12 audreyt (afk, bbiab)
14:12 rgs sounds doubtful
14:13 * theorbtwo wonders if you could convert perly.y to p6 rules.
14:13 theorbtwo Even better, if you can generically convert yacc grammars to p6 rules.
14:13 merlyn the interesting parts of perl5 parsing is not the perly.y, but the interaction between that and the lexer.
14:13 theorbtwo ...and how hard it is to do the insanity that perl5 does to yacc's output after that.
14:14 merlyn so it might be faster to come at it from subclassing the p6 rules
14:14 theorbtwo Hm.
14:14 merlyn leveraging off the semantics already computed
14:15 theorbtwo You have to start somewhere, and I bet perly.y is closer then perl6.  I'm hardly an expert on perl5 internals, though.
14:15 theorbtwo RGS?
14:15 KingDiamond joined perl6
14:15 rgs perly.y might be clearer, but fear the dark side of toke.c
14:15 merlyn I bet perly.y and p6-rules will  be closer than most people realize
14:15 fglock theorbtwo: I've been experimenting with that - I think we could have a special "rule" that implemented bottom-up
14:16 particle_ theorbtwo: that seems to be a perl6 problem, not enough people with perl5 internals expertise
14:16 merlyn they have to have a common look, because the core semantics of Perl are still common
14:16 rgs "not enough people with perl5 internals expertise" is also a perl5 problem
14:16 rgs make babies !
14:16 particle_ this is true
14:16 theorbtwo Heck, it's a large part of the reason for the perl6 project in the first place, as I understand it.
14:24 xinming audreyt: is your svn script for Perl6/Spec in pugs tree? if it is in, where I can find it... If It's lost.. I think I have to write myown. :-/
14:30 beppu If I wanted to type a hyperoperator in emacs, you would I do it:  (For example, >>*<< with the >> and << turned into unicode chars.)
14:30 beppu s/you/how/
14:31 theorbtwo beppu: docs/Quicref/Unicode, or something like that...
14:31 beppu thanks
14:32 xinming it seems, we have to lookup up the character in unicode table many times... :-)
14:32 theorbtwo http://svn.openfoundry.org/​pugs/docs/quickref/unicode
14:35 beppu What's the difference between a logical && and a junctive & ?
14:38 particle_ a junctive like a set, one value that contains many.
14:39 particle_ & and | are used to create the junctions, eg. (42&7) creates a junction of two values, 42 and 7
14:39 particle_ using 'and' semantics
14:40 particle_ (5|3) creates a junction with 'or' semantics
14:40 particle_ see S03, 'Junctive operators' section for info on the ops
14:40 beppu my $junction = 42 | 7; # is something that stands for (42|7) ?
14:41 vel joined perl6
14:42 particle_ $junction would contain a junction of two values
14:42 particle_ $res = $junction + 4; # $res contains (46|11)
14:43 beppu that's a trip.
14:44 particle_ this came out of perl5's quantum::superpositions
14:46 beppu I like it.
14:47 beppu It seems like pugs has already implemented a lot of Perl 6.  What's left to implement?
14:49 particle_ there's a TASKS file in the root, for a start
14:50 beppu cool.  you've all documented this project well.
14:51 particle_ i'm just an observer. i got my commit bit at yapc::na last year, but haven't committed anything yet :)
14:55 theorbtwo Hm, is it the case that ?($x & $y) == ?($x && $y), always?
14:57 particle_ i don't know what a junction returns in boolean context
14:59 theorbtwo Nor do I.
15:02 xinming :-)  I think it might be...  1|2 --> true,  0|0 --> false,  0|1 --> true,   0&1 -> false, 1&2 -> true, :-)
15:02 xinming I'm not sure...
15:06 beppu I thought _ was going to be a string concatenation operator, but I don't see it mentioned in http://svn.openfoundry.org/pugs/​docs/Perl6/Overview/Operator.pod
15:07 beppu How is one supposed to concat strings together?
15:07 integral beppu: ~ now
15:07 beppu i see.
15:08 _bernhard joined perl6
15:09 beppu ~ seems to be the prefix for anything stringy..   although, I'm not sure I understand the concept of shifting strings.  I tried ~< and ~> in pugs, but I wasn't sure what to make of the results.
15:09 beppu What does it mean to shift a string left?
15:10 particle_ junctions in binary context aren't tested in t/junction/
15:10 theorbtwo beppu: We're still struggling with that a bit.
15:11 theorbtwo In general, you think of the string as a long binary number, shift that, then think of it as a string again.
15:11 beppu that's what it kinda looked like.
15:11 theorbtwo And yes, ~ is supposed to mean stringy, in general, just as + means numeric, and ? means boolean.
15:11 beppu kindof like a hyperoperator for chars...
15:12 theorbtwo Well, kind of, except for overflow.
15:12 theorbtwo ?eval "\x[80]" ~< 1
15:12 evalbot_10048 is now known as evalbot_10049
15:12 evalbot_10049 "\d[0]"
15:12 beppu no saturation
15:12 theorbtwo That should probably be "\d1\0".
15:13 theorbtwo That is, chr(1).chr(0)
15:14 beppu oh..  you think it should go so far as to prepend chr(1) on overflow?
15:15 particle_ chr(1) ~ chr(0)
15:15 theorbtwo Er, right, sorry.
15:15 theorbtwo I think in perl5.  It's a nasty habit, but when I write perl5 I still keep getting warnings about @foo[$bar].
15:15 beppu I'm trying to imagine how string shifting could be useful.
15:16 particle_ i think in perl5, and occasionally in pir. <barbie>perl6 is *hard*</barbie>
15:16 beppu Why would I want to do a bitwise shift on a whole lot of chars at once?
15:16 particle_ beppu: think vec()
15:16 particle_ dunno, but it's there
15:17 theorbtwo When parsing from bitty specifications.
15:17 theorbtwo It'd be lovely when I was messing with DVB a while back.
15:17 frederico joined perl6
15:18 theorbtwo Perhaps sometime when I'm feeling like going back to it, I'll clean up and release my automagical transcriber.
15:18 particle_ what's the name of the win pugs distro, pxpugs?
15:18 particle_ maybe pxperl
15:19 theorbtwo ...and bitty.pm.
15:19 xinming1983 joined perl6
15:20 xinming1983 joined perl6
15:21 aufrank joined perl6
15:22 xinming1983 is now known as xinming
15:35 turrepurre joined perl6
15:36 penk joined perl6
15:40 audreyt xinming: see my last commit
15:40 svnbot6 r10050 | yiyihu++ | Edit docs/Perl6/Makefile.PL. So that It will update docs/Perl6/Spec from "http://svn.perl.org/perl6/doc/trunk/design/syn" automatically.
15:40 svnbot6 r10050 | yiyihu++ | In docs/Perl6/Spec/, S17.pod(Threads.pod) and S29.pod(Functions.pod) isn't in Spec yet, Added...
15:40 svnbot6 r10050 | yiyihu++ | Update files in docs/Perl6/Spec too... :-)
15:42 svnbot6 r10051 | audreyt++ | * Perl6::Doc Makefile.PL: tweak it to use LWP::Simple
15:42 svnbot6 r10051 | audreyt++ |   instead of /usr/bin/svn to save bandwidth.
15:42 xinming :-)
15:42 xinming audreyt: thanks
15:43 audreyt also, that probably means we can rm the files from the repo and let people download it themselves
15:43 audreyt I'll do that
15:43 svnbot6 r10052 | audreyt++ | * Threads.pod => Concurrency.pod
15:43 svnbot6 r10052 | audreyt++ | * Functions.pod is a better name for Builtins.pod
15:46 audreyt done
15:46 Limbic_Region audreyt - is the Pugs release plan changing with all the new directions it is going?
15:46 svnbot6 r10053 | audreyt++ | * now that the Spec files can be fetched automatically by
15:46 svnbot6 r10053 | audreyt++ |   Makefile.PL, remove them from the repo to reduce out-of-sync
15:46 svnbot6 r10053 | audreyt++ |   errors.
15:46 xinming audreyt++
15:46 audreyt Limbic_Region: yeah, the 6.2 level spec has been effectively restructured
15:47 Limbic_Region is it updated anywhere?
15:47 audreyt you mean the release plan?
15:47 audreyt I mean the Synopses
15:47 audreyt the relevant part of synopses renders the once-complete 6.2-level features
15:48 audreyt incorrect
15:48 Limbic_Region I mean Pugs Apocryphon 1
15:48 audreyt oh. the milestones still stand
15:48 audreyt it's just we can't move toward 6.28.0 without getting the 6.2.0 milestone working again
15:48 audreyt namely, that binding, assignment and function calls
15:48 audreyt as well as hashes and arrays
15:48 audreyt works totally differently now
15:48 Limbic_Region ok - even though we are simultaneously working on future milestones too
15:49 audreyt that always happens anyway :)
15:49 audreyt but there is a logical dependency
15:49 Limbic_Region okie dokie -
15:49 audreyt and as such I'm not comfortable with declaring "full rules support"
15:49 audreyt without even supporting the new calling convention
15:49 audreyt ditto for objects.
15:50 audreyt on the other hand, it's much easier to implement now.
15:50 audreyt (compared to the pesudoreference autodereferncing passthru
15:50 audreyt morphing container hoops we had to jump through.)
15:52 * Limbic_Region waits for Xmas
15:52 TimToady audreyt: your ||= //= change did change the semantics, from "succeed once" to "try once".
15:53 TimToady ?...? in P5 is succeed once.
15:56 audreyt apologies. r8899.
15:58 audreyt TimToady: so, have you thought (or worked on) the idea of formulating the operator-table parser as rules?
15:58 SamB joined perl6
16:00 TimToady not much.  You'd have to capture the same info that the declarations currently capture
16:00 audreyt <%term|%prefix|%circumfix> ...
16:00 TimToady and you'd either have to not promise things you shouldn't promise
16:00 TimToady or mark it as "for bootstrap only" so allowed to recognize a subset.
16:01 audreyt elaborate on the capture-the-same-info part?
16:01 TimToady the hard part is capturing new precedence levels on the fly, I expect
16:01 saorge joined perl6
16:01 audreyt hm?
16:01 TimToady infix:<!!!> is tighter(*)
16:02 audreyt each precedence level is recursively the lower precedence level's "term"
16:02 audreyt so each new level recompiles the rule
16:02 TimToady yes, but you tend to get into static/dynamic issues.
16:02 TimToady it can probably be made to work
16:03 TimToady I just banged my head on it a long time a couple of years ago before I decided not to think about it for a while.
16:03 audreyt I mean, Parsec currently works like that, and granted it doesn't do circumfix
16:03 TimToady I have no problem is someone else wants to think about it.
16:03 TimToady *if
16:03 audreyt but if it does, then that makes operators->token much simpler
16:04 TimToady operators->token?
16:04 audreyt given a set of operators
16:04 audreyt with their fixity arity associativity info
16:04 audreyt generate a set of tokens
16:04 audreyt each represents a precedence level
16:04 audreyt "token" rules, sorry
16:05 TimToady gotcha.
16:05 audreyt currently the opp engine exists somewhat outside-the-system
16:05 audreyt conceptually
16:06 audreyt and it'd be cool if it can be exposed to the user under the match framework
16:06 TimToady what I was thinking about a long time ago was more on the order of how you use a fixed set of rules to interpret an optable
16:06 audreyt I'll try to code it up some more tomorrow; just want a sanity check :)
16:06 TimToady but if you're allowed to rewrite the "come from" rules then it works.
16:06 audreyt yeah, I think it's inevitable
16:07 audreyt of course we can always cheat
16:07 audreyt and have them recursively call a dynamically interpolating
16:07 audreyt "construct_the_next_level_from_here"
16:07 audreyt subrule
16:07 audreyt which takes a prec as argument
16:07 audreyt find the next currently existing prec
16:07 audreyt compile that recursively
16:07 TimToady what you run into while parsing is that then you can hit an intermediate level
16:07 audreyt and return the term rule.
16:07 TimToady between your current prec and the constructed
16:08 audreyt I think you always has to passthru.
16:08 audreyt (that's what parsec does)
16:08 audreyt (because otherwise it can't be made to work)
16:08 TimToady don't grok passthru while running a fever
16:08 audreyt aww. gesundheit
16:08 audreyt passthru means if you have three prec levels
16:09 audreyt * + err
16:09 audreyt and you see "1 err 3"
16:09 audreyt it always pass through the *-level and +-level <term> first.
16:09 TimToady you can theoretically construct another level while in the middle of all that.
16:10 audreyt but that level gets a number
16:10 TimToady 1 + do sub infix:<!!!> ...
16:10 audreyt so if it's lower than current, it works transparently
16:10 audreyt but if it's tighter... I see your point.
16:10 audreyt if it's tighter, we need to recompile.
16:11 TimToady yeah.  but again, it's fine for bootstrap or for error reporting.
16:11 xinming what does junction return in bool context and list context?
16:11 TimToady list context is easy--it's just a scalar.
16:11 audreyt it doesn't flatten, that is
16:12 TimToady in boolean context it just does whatever the junction specifies.
16:12 audreyt and returns a boolean
16:13 TimToady when you say "if any(@x) == 1" you're always evaluating an any() in boolean context, albeit after the == has transformed it to a different any().
16:14 audreyt TimToady: actually, now I think about it, a doubly linked list between level-tokens fixes that.
16:14 audreyt if you insert a new level that's looser when you are parsing one level
16:14 TimToady fine, you've just constructed an op table. :)
16:15 audreyt the reduce can find the newly compiled level by looking up that globally linked list :)
16:15 audreyt er, it's a list of compiled tokens for each prec level, but yeah, operationally it's equivalent :)
16:15 audreyt (wouldn't do what you expect it to do if it is not :))
16:16 TimToady how to specify precedence on a token?
16:16 pmichaud audreyt: btw, I'm currently reworking (and adding comments) to OPTable.pir
16:16 pmichaud audreyt: (but it's the OPTable.pir that is in the pge-pm branch of the parrot repo)
16:17 audreyt TimToady: each token when compiled gets a rational number
16:17 TimToady I prefer strings...
16:17 audreyt TimToady: it uses that number when entering "term" position
16:18 audreyt ok, a rational number serialized to ASCII
16:18 TimToady isomorphism++
16:18 audreyt when it enters "term", it calls interpolating-tighter-level
16:18 audreyt (which can be memoized)
16:19 audreyt which returns the next tighter token
16:19 audreyt or the original "term" if it's the currently highest prec.
16:19 audreyt that function gets the rational string as input
16:19 TimToady I just think strings are easier to diff than things with different divisors.
16:19 TimToady (for human visual diff, I mean)
16:19 audreyt ok :)
16:19 audreyt sure
16:20 audreyt anyway. when it finishes parsing
16:20 audreyt the "term"
16:20 TimToady plus you get surreal precedence for free, if you need to introduce infinities.
16:21 audreyt the term-token returns the match
16:21 audreyt as well as its rational string
16:21 audreyt now the upper-token can recheck if a new level as since been introduced
16:21 audreyt and redispatch to that
16:22 audreyt again that is suspectible to memoization
16:22 Juerd Results 1 - 2 of about 3 for "surreal precedence". (0.33 seconds)
16:22 TimToady lazy passthru you mean?
16:22 audreyt yes.
16:22 TimToady probably both of them me...
16:22 audreyt pmichaud: ooh, didn't know there's a branch
16:22 audreyt excellent, I'll sync up
16:22 Juerd Since Google only points to wall.org and a #perl6 log... What's surreal precedence?
16:23 audreyt Juerd: it's an encoding for "is tighter" levels
16:23 pmichaud audreyt: I just started the branch this morning -- there are a number of changes I want to introduce but I don't want to block punie/apl/pheme in the process
16:23 TimToady when you add new prec levels on the fly, it's done by lengthing the string to be le or gt shorter strings
16:24 TimToady basically every string ends with a sentinal that puts it in the middle of the next set of precedence levels.
16:24 Juerd So it's just implementation, not language?
16:24 TimToady yes
16:24 Juerd Pfew.
16:24 Juerd Thanks :)
16:24 TimToady In P6 everything is relative to existing prec level.
16:24 pmichaud juerd: want a detailed example?
16:25 Juerd pmichaud: Well, one might be useful in a somewhat more permanent place
16:25 audreyt Juerd: and I call them "rational string" because
16:25 audreyt    LooserThan {}   -> prec - 1 % (denominator prec * 2)
16:25 audreyt    TighterThan {}  -> prec + 1 % (denominator prec * 2)
16:25 pmichaud Juerd: okay, I can add one
16:25 Juerd Like, documentation, or a wiki
16:25 TimToady Except you don't get infinities with that.
16:25 audreyt TimToady: where is infinities used?
16:25 pmichaud in PGE, it's    looserthan:   ->  substr prec, -1, 0, "<"
16:25 audreyt and what does it mean anyway? :)
16:25 pmichaud              tighterthan:    -> substr prec, -1, 0, ">"
16:26 TimToady with string, you can add a character +1 or +1 for tigher/looser, or 0 or 255 for "infinity".
16:26 TimToady It probably isn't the way you want to do parens anyway...
16:27 audreyt it isn't...
16:27 * audreyt tries to think of a use case
16:27 audreyt but I can get that if I say *3 or *4 above.
16:27 TimToady I think anything with brackets should always switch to top-down.
16:27 audreyt but anyway, it's really trivia :)
16:27 TimToady yes.
16:27 TimToady it's more inspired by surreal numbers than isomorphic to them.
16:28 audreyt TimToady: uh, wait
16:28 audreyt 1 + ( 3 * 4 ) # top-down?
16:28 audreyt I believe both pmichaud and fglock uses circumfix:<( )> here
16:28 TimToady if you're doing op prec, the () is a term to the +.
16:29 audreyt circumfix can appear at term position...
16:29 pmichaud audreyt: yes; TimToady has suggested that bracketing things should be done top-down, I just haven't convinced myself of it yet
16:29 audreyt the parsec one does it with topdown
16:29 TimToady Let's you take the infinites out of op prec.
16:29 audreyt by redispatching anything in postcircumfix or circumfix back to the term table
16:29 TimToady basically anything inside () is infinite tighter than anything outside, so  might as well be top down.
16:30 TimToady It just becomes a rule parameterized by terminator.
16:30 TimToady or terminator set.
16:30 audreyt or terminator governors.
16:31 TimToady governators...
16:31 TimToady basically the subrule promises "I'll be bock."
16:31 FurnaceBoy joined perl6
16:31 audreyt proto 'circumfix:( )' is equiv('term:')
16:32 TimToady sure, on the outside.
16:32 TimToady inside/outside is the same surreal experience as left/right listops.
16:32 pmichaud maybe   proto 'circumfix:( )' is equiv('term:') is parsed(&subexpression)
16:32 TimToady only with a different governator.
16:33 audreyt pmichaud: how does it work with parrot opp?
16:33 audreyt when you drop into the :(, you get back to the toplevel?
16:33 pmichaud circumfix is in the opp table
16:33 audreyt (prec-wise)
16:33 audreyt s/toplevel/lowest-prec level/
16:33 pmichaud a circumfix open is considered lower precedence than any other op except the close
16:34 audreyt ah right.
16:34 audreyt ok, that's what TimToady meant by infinities
16:35 pmichaud how about ternary?  Currently PGE treats ternary as a special form of circumfix
16:35 TimToady maybe surreal rationals would work... :)
16:35 TimToady I think it's a special form of infix.
16:35 pmichaud that too :-)
16:36 audreyt ternOp pre post syn = (`Infix` AssocRight) $ do symbol pre y <- ?parseExpWithTightOps symbol post return $ \x z -> Syn syn [x, y, z]
16:36 audreyt translated:
16:36 TimToady where the is parsed just goes and looks for two expressions with :: between
16:36 pmichaud er, !!
16:36 pmichaud (or did you change that again?)
16:36 TimToady *!!
16:36 audreyt it's infix associated to the right, with a customized "is parsed" between them
16:36 TimToady I have to run, any questions hanging fire?
16:37 pmichaud PGE essentially does that as well
16:37 pmichaud I have no burning questions atm
16:37 audreyt that is, the custom "is parsed" makes the infix operator itself "fat"
16:37 audreyt in (1 ?? 2 !! 3), "??2!!" is a infixop
16:37 audreyt TimToady: fine here :)
16:37 pmichaud audreyt: right, I get it, np
16:37 audreyt only thing I don't understand is that where does it get the in-part
16:38 pmichaud right.  I think I'll stick with what I have for now :-)
16:38 audreyt I mean, currently I hardcode it so it parses one level looser than it
16:38 audreyt so
16:38 audreyt 1 ?? 2 => 3 !! 4
16:38 audreyt can work
16:38 audreyt but should it?
16:38 audreyt (=> is loower than ??!!)
16:39 TimToady not allowed in Perl 5.
16:39 audreyt but p5 allows
16:39 audreyt 1 ?? $x = 5 !! 6
16:39 audreyt and = is also one level lower.
16:39 TimToady = is tighter
16:39 audreyt it is?
16:39 pmichaud it is?
16:39 TimToady er...
16:39 audreyt no way
16:39 TimToady blame it on the fever
16:39 * audreyt blames the fever
16:40 audreyt so, anyway, that is the one inconsistency I've always wondered.
16:40 pmichaud isn't => the pair constructor?
16:40 pmichaud (in p6)
16:40 audreyt pmichaud: yup
16:40 audreyt same level as =
16:40 pmichaud so it's tighter than ?? !!
16:40 audreyt nope.
16:40 audreyt see S03
16:40 TimToady I don't know when that snuck into P5.  I distinctly remember deciding the other way...
16:40 pmichaud oh, that's new
16:40 audreyt so, we can "fix"this
16:41 audreyt by swapping ??!! with =
16:41 audreyt that's all
16:41 audreyt fg
16:41 audreyt for the next level is listfix
16:41 audreyt and that is surely bad.
16:41 audreyt $ print(1 ? $x += 4 : 5)
16:41 audreyt 4
16:42 pmichaud what's the rationale for => same as =?
16:42 TimToady ah, just cancelled my appointment, so don't have to run.
16:43 audreyt "blame" says
16:43 audreyt -----------------------------------​-----------------------------------
16:43 audreyt r8273 (orig r6653):  larry | 2005-11-24 00:07:44 +0800
16:43 audreyt -    nonchaining binary => but does cmp <=> .. ^.. ..^ ^..^ till
16:43 audreyt +    assignment         = := ::= += -= **= xx= etc. (and also =>)
16:43 TimToady primarily to make a => b => c => d right associative
16:43 audreyt ah. right. I remember that
16:43 TimToady because that's Lisp's '.'
16:43 audreyt "=> now reads "cons""
16:44 TimToady for some definition of "is"
16:44 pmurias pm: IMHO they both imply relationship
16:44 pmichaud I'm just thinking of autoquoting
16:45 audreyt TimToady: oh btw
16:45 pmurias pm: and they share 50% of the syntax :)
16:45 audreyt func( name => 42 )
16:45 audreyt vs
16:45 audreyt func( $flah ?? name => 42 !! foo => 10 )
16:45 TimToady speaking of autoquoting, yesterday I was thinking about BNF: <ident> ::= ...
16:45 audreyt there is no parens, and I wonder if it's a named form or a pair literal.
16:45 TimToady but it was an idle notion.
16:46 audreyt (current spec has it as pair literal)
16:46 audreyt but I guess you can always say
16:46 audreyt func( *($blah ?? name => 42 !! foo => 10) )
16:46 audreyt so pretend I never asked :)
16:46 masak uh, in languages/perl6/lib/grammar_optok.pge, should proto 'postfix:--' really be equiv('postfix:++')? seems strange
16:47 audreyt masak: same as p5 (and everyone else), no?
16:47 masak audreyt: I don't know
16:47 audreyt TimToady: so... I think allowing => inside ??!! is useful
16:47 theorbtwo masak: It's not saying that they have equivelent effects, just equivelent precidence levels.
16:48 audreyt and other assignments probably not that bad (p5 does it anyway)
16:48 masak theorbtwo: ah
16:48 masak thx
16:48 audreyt TimToady: so maybe juptaxose the levels?
16:48 TimToady except wouldn't that parse as
16:48 TimToady ($blah ?? name => 42 !! foo) => 10
16:48 audreyt not if => is tighter
16:48 audreyt both are rightassoc
16:49 TimToady juxtapose doesn't mean swap
16:49 rw-rw-r-- audreyt: Awesomest. Spelling of juxtapose. Ever.
16:49 audreyt ok. barter them, then
16:49 audreyt 1 + 2 * 3 # 2*3 first
16:50 TimToady I never make snap judgements about precedence...
16:50 audreyt 1 ??!! foo => 4 # foo=>$ first
16:50 audreyt (treating anything inside ??!! as invisible)
16:50 theorbtwo Oh!
16:50 * theorbtwo finally sees what you meant about it being infix.
16:51 audreyt sorry if I wasn't clear :)
16:51 theorbtwo You see the ??, and grab stuff until the !!, and parse it seperately.
16:51 pmichaud so, ternary really becomes more circumfix than infix, in that  $a = $x ?? $b = 5 !! 7       the ?? is tighter, but the = inside of ??!! is looser than ??
16:51 theorbtwo You were probably clear to everyone who has written a real compiler.
16:51 DaGo joined perl6
16:51 pmichaud s/looser/tighter
16:51 TimToady you're basically turning ??!! into () from the inside view
16:52 audreyt righ
16:52 audreyt t
16:52 TimToady but I don't think that helps the right side
16:52 theorbtwo No, sorry, that was me being distracting.
16:52 audreyt which is what the problem was
16:52 audreyt indeed
16:52 TimToady $w = $x ?? $y !! $z would break if we swapped prec
16:52 audreyt ?eval 1 ?? 2 => 3 !! 4 => 5
16:53 evalbot_10049 is now known as evalbot_10053
16:53 evalbot_10053 ((2 => 3) => 5)
16:53 TimToady and would definitely not be what a C programmer would expect.
16:53 audreyt how does p5 do that then
16:53 pmichaud right.  From a PGE perspective, I think I need to be able to offer the traditional semantics for other languages
16:53 audreyt it's as if the ? side and : side behave with two precs.
16:53 pmichaud even if Perl 6 does it differently
16:54 audreyt ok then...
16:54 audreyt so, the prec stays the same
16:54 TimToady I think I'd rather just get a syntax error on = inside ??!!
16:54 audreyt the evalbot behaviour above remains
16:55 lumi joined perl6
16:55 audreyt and the thing inside ??!! is by normal prec level
16:55 audreyt which makes = inside it an error.
16:55 TimToady and => inside ??!!
16:55 audreyt "normal" defined to mean "whatever ??!! does"
16:55 TimToady our conversation looks really exciting??!!
16:56 audreyt indeed??!!
16:56 pmichaud (btw, this is why PGE_OPTABLE_TERNARY appears just above PGE_OPTABLE_INFIX and just below PGE_OPTABLE_POSTCIRCUMFIX -- it has aspects of both)
16:57 TimToady to get a syntax error on $x ?? $y = 1 !! $z requires governator of both max precedence and !!
16:58 pmichaud PGE sees that as an unclosed ??
16:58 pmichaud (when it hits the '=')
16:58 elmex joined perl6
16:58 TimToady good, but I presume the precedence is currently hardwired rather than passed in as a parameter
16:58 Juerd Would $x ?? ($y = 1) !! $z still work?
16:59 TimToady sure
16:59 pmichaud juerd: yes
16:59 Juerd Ok
16:59 TimToady I don't mind forcing parens where people would misparse visually anyway.
16:59 pmichaud TimToady: depends on what you mean by "hardwired".  It's hardwired in the same sense that the circumfix operators are
17:00 pmichaud i.e., one can do   looser(ternary:?? !!)  or tighter(ternary:?? !!) and it does the right thing
17:01 TimToady okay, it's not top down on ??!! currently.
17:01 pmichaud right
17:01 TimToady I'm just saying if it were top down there, you'd have to parameterize with prec as well as !!
17:01 pmichaud right
17:01 audreyt right, that's what I do currently
17:01 audreyt and I had to arbitarily add 1 to it
17:02 audreyt and I'm happy it can be gone :)
17:02 TimToady we aim to please.
17:02 TimToady and sometimes that's fun. :)
17:02 audreyt :)
17:02 pmichaud back to updating the opp
17:03 TimToady I should probably whack some on S03 then.
17:03 TimToady never documented ()= stuff yet either.
17:03 TimToady 'cept on p6l
17:04 audreyt TimToady++
17:04 * audreyt goes looking at pmichaud's branch
17:04 pmichaud audreyt: no commits there yet -- look again in a couple of hours
17:04 TimToady then it makes it easy to look at. :)
17:07 audreyt perl5.004 has 1?$_=2:4 support
17:07 audreyt (perl1..4 doesn't it seems)
17:08 audreyt not sure about anything before 5.004.
17:09 kakos joined perl6
17:14 TimToady and there's always do if 1 { $_ = 2 } else { 4 } now, so that also says we probably shouldn't change the precedence of = vs ??!!
17:14 TimToady that is, if we have both low and high prec versions, they should stay apart.
17:16 audreyt right. the only wart is 1??2!!3=>4
17:17 audreyt but that's only because => was much tighte
17:17 audreyt r
17:17 pmichaud pge would currently parse that as  2 => 4
17:17 audreyt if it were thought as fat-comma (i.e. one level looser than it currently is)
17:17 audreyt ?eval 1??2!!3=>4
17:17 evalbot_10053 (2 => 4)
17:17 audreyt then the 2=>4 interpretation is natural.
17:23 TimToady the unnatural thing is 1 ?? "a" !! b => 4 autoquoting b and then throwing it away
17:23 TimToady since most pairs are autoquoters
17:23 particle_ ?eval $a = 1; $b = $c = $a; $b++; say $c;
17:23 TimToady maybe we could detect that and carp
17:23 evalbot_10053 Error: Undeclared variable: "$a"
17:25 particle_ how do i set $x and $y to the same initial value, but let them vary independently?
17:26 integral my $x = my $y = 1234; ?
17:27 TimToady ?eval my ($a,$b,$c) = 1234 xx Inf
17:27 evalbot_10053 (\1234, \1234, \1234)
17:27 TimToady cool
17:27 TimToady I wonder if postfix xxx is xx Inf?
17:30 particle_ ?eval my( $a, $b ) = ( 0 & 1 ) xxx; say 'false' unless ?($a & $b) == ?($a && $b);
17:30 TimToady ?eval my ($a,$b,$c) = 1234 ... :by(0)
17:31 evalbot_10053 Error:  unexpected "x" expecting comment, operator, ";" or end of input
17:31 particle_ no on xxx
17:31 particle_ ?eval my( $a, $b ) = ( 0 & 1 ) xx Inf; say 'false' unless ?($a & $b) == ?($a && $b);
17:31 evalbot_10053 Error:  unexpected ":" expecting operator, comment, ";" or end of input
17:31 TimToady that was "is" in the "have I discovered a missing feature" sense.
17:31 evalbot_10053 (no output)
17:32 particle_ ?eval my( $a, $b ) = ( 0 & 1 ) xx Inf; say 'true' if ?($a & $b) == ?($a && $b);
17:32 evalbot_10053 (no output)
17:32 particle_ is there a shortcut for postfix x Inf?
17:33 azuroth joined perl6
17:33 TimToady not that I know of
17:33 particle_ if xxx is short for xx Inf, one might suspect xx is short for x Inf
17:33 TimToady no, the analogy is the difference between .. and ...
17:34 TimToady not the difference between . and ..
17:34 particle_ that makes sense
17:34 TimToady but maybe that means Inf is just badly Huffman coded.
17:34 audreyt will that make perl programs not passing cyberpatrol?
17:35 particle_ ?eval my( $a, $b ) = ( 0 & 1 ) xx Inf; ?($a & $b) == ?($a && $b) ?? 1 !! 0;
17:35 evalbot_10053 (no output)
17:35 * audreyt ponders if evalbot should build optimized
17:36 particle_ well, i obviously need to work on my perl6 syntax
17:36 audreyt no, that means diverging
17:36 TimToady ?eval my ($a,$b,$c) = 1234 xx ∞
17:36 evalbot_10053 Error:  unexpected "\RS" expecting comment or term
17:36 audreyt as in, you run into the "we didn't know how lazy Array containers were supposed to work" situation.
17:39 TimToady ?eval my ($a,$b,$c) = 1234 xx
17:40 evalbot_10053 Error:  unexpected end of input expecting end of input, comment or term
17:40 TimToady ?eval my ($a,$b,$c) = 1234 ...
17:40 evalbot_10053 (\1234, \1235, \1236)
17:40 TimToady ?eval my ($a,$b,$c) = 1234 ..
17:40 evalbot_10053 Error:  unexpected end of input expecting end of input, comment or term
17:41 TimToady ?eval my ($a,$b,$c) = 1234 .. *
17:41 particle_ is there a hyper = ?
17:41 evalbot_10053 Error:  unexpected end of input expecting term
17:41 TimToady yes, but hyper isn't particularly lazy
17:41 audreyt autopromotion works though.
17:42 TimToady and my () = isn't a real = anyway...
17:42 audreyt ?eval (1,2,3) >>+<< 4
17:42 evalbot_10053 (5, 6, 7)
17:42 audreyt (for the xxx case)
17:42 TimToady which probably doesn't make differnce for "my", but
17:43 TimToady state ($a,$b,$c) >>= 1234
17:43 TimToady is likely to do the wrong thing at the wrong time.
17:43 TimToady >>=<< rather.
17:44 audreyt why?
17:44 audreyt = and := are "initializers" per S04
17:44 merlyn ahh, the docking ring for the spaceship operator. :)
17:44 audreyt and hyper forms can be considered initializers as well
17:45 TimToady well, maybe we can extend to hyper, but state ($a,$b,$c) += 2 is almost certainly bogus.
17:45 audreyt sure
17:45 audreyt but then, it's not as useful.
17:45 audreyt += wouldn't be an initializer
17:45 audreyt as it uses the lhs as rval.
17:46 TimToady ?eval my ($a,$b,$c) >>=<< 1234
17:46 evalbot_10053 Error:  unexpected ">" expecting comment, trait, "=", ".=", ":=", "::=", ";" or end of input
17:46 audreyt (currently = is special form not infix and is not hyperable nor foldable)
17:46 audreyt (which is a bug :))
17:47 audreyt now that we have my-declarator-sig ruling, I can go fix it.
17:47 TimToady well don't let the fact that it's the middle of the night slow you down... :)
17:48 audreyt actually I should sleep first, because I tend to produce erroneous code, like that //=, around this time...
17:48 TimToady there's a good girl
17:49 audreyt =)
17:52 particle_ ?eval my( $a, $b ) = (0 & 1, 0 & 1); ?($a & $b) == ?($a && $b)
17:53 evalbot_10053 bool::true
17:53 particle_ that's what i'm looking for.
17:54 TimToady though of course one has no clue whether it's actually doing what you think it's doing. :)
17:54 particle_ this is true
17:55 particle_ in fact, it's not
17:55 particle_ ?eval my( $a, $b ) = (0 & 1, 0 & 0); ?($a & $b) == ?($a && $b)
17:56 evalbot_10053 bool::true
17:56 particle_ wrong!
17:58 * Limbic_Region has no idea how audreyt is able to sleep
17:58 fglock joined perl6
17:58 * Limbic_Region is incapable of shutting brain down in less than 2-3 hours before sleep
17:59 fglock TimToady: ping
18:00 fglock TimToady: ping
18:00 Limbic_Region fglock - he's here but is probably looking at something other than the channel
18:00 fglock audreyt: ping
18:00 Limbic_Region [13:53] <TimToady> though of course one has no clue whether it's actually doing what you think it's doing.
18:00 Limbic_Region she just went to sleep
18:00 Limbic_Region [13:53] <TimToady> though of course one has no clue whether it's actually doing what you think it's doing.
18:00 Limbic_Region [13:47] <audreyt> actually I should sleep first, because I tend to produce erroneous code, like that //=, around this time..
18:01 fglock I've got a sponsor for bringing TimToady and audreyt to YAPC::SouthAmerica in november - I need to know if they can come (or at least if they will think about it)
18:01 * Limbic_Region is jealous
18:02 Limbic_Region when in November btw?
18:02 Limbic_Region they both backlog so I am sure they will get the message
18:02 fglock you may come too
18:02 Limbic_Region well - try convincing that to my wife
18:03 audreyt fglock: I can come.
18:03 fglock nov 7-11
18:03 audreyt (the yellow light in irssi woke me up. :))
18:03 fglock wow!
18:04 fglock sorry to wake you up
18:04 audreyt np
18:04 merlyn so YAPC::SA is the same as CONISLI, and that's nov 7-10?
18:05 fglock merlyn: yes - Brasil-PM is in the CONISLI organizing committee
18:06 merlyn 7-11.  ok. great, erasing my september dates reserved
18:06 Limbic_Region fglock - have a english info reference lying around?
18:08 audreyt but I really need to sleep now :)
18:08 audreyt &
18:09 fglock Limbic_Region: sorry, not yet - the link will be http://www.perl.org.br/yapc/
18:09 aufrank joined perl6
18:11 fglock Limbic_Region: DaWolf and Mago said they will try to get at least some partial sponsorship for you
18:12 Limbic_Region fglock - no, but I am flattered
18:12 Limbic_Region money wouldn't be an issue if I could go
18:12 Limbic_Region it is the fact that I would be leaving my wife home to take care of our recent addition to the family by herself
18:13 fglock yes, I understand
18:13 kolibrie Limbic_Region: does that mean no YAPC::NA either?
18:13 aufrank audreyt: have you done any work on adding pugs as a project for google SoC
18:13 aufrank ?
18:13 particle_ audrey's sleeping
18:14 Limbic_Region kolibrie - if it hadn't been during the week I would have come but yeah - no YAPC::NA either
18:14 fglock kolibrie: may I add the grammar compiler to PCR package? would you add the copyright text?
18:14 aufrank particle_: it had to happen some time, I guess
18:14 kolibrie Limbic_Region: I'll have to come visit you some time around here then
18:15 kolibrie fglock: you can add it to the PCR package,
18:15 kolibrie what kind of copyright notice do you want
18:15 aufrank what does PCR stand for?
18:16 fglock aufrank: I'm thinking about submitting the p6-p5 compiler modules to SoC
18:16 TimToady fglock: I don't see any reason I couldn't come offhand.
18:16 fglock Pugs::Compiler::Grammar
18:16 TimToady Polymerase Chain Reaction
18:16 fglock TimToady: cool - this will be the best YAPC::SA ever (the first one too)
18:16 TimToady my social secretary is checking... :)
18:17 aufrank fglock: sounds like a really good idea :)
18:17 Limbic_Region kolibrie - I am going to be sending my wife to the Philippines withour daughter next year so I will be more available to go to conferences and what not
18:17 Limbic_Region kolibrie - but if you (or anyone else) is ever around my way and wants to be taken out for dinner, drinks, and some decent conversation then let me know
18:18 aufrank which way is your way?
18:18 kolibrie Limbic_Region: do you or she have ties in the Philippines?
18:18 Limbic_Region Baltimore/DC area
18:18 Limbic_Region kolibrie - heh, yeah, she is filipino (having been in this country 2 years and 3 days)
18:19 theorbtwo Happy aniversery!
18:19 TimToady Glo says that time seems to be open.
18:20 Limbic_Region theorbtwo - anniversary is in June.  Actually, June 12th to be exact which is also filipino independence day - not much chance she is ever going to forget which really stinks for me
18:20 theorbtwo Well, happy aniversary of moving.
18:20 * Limbic_Region really really really wants to visit SA though and spending time with geeks is always fun
18:21 Limbic_Region thanks
18:21 theorbtwo Er, you were supposed to relay that -- you aren't the one that moved!
18:21 TimToady Is YAPC::SA in PA?
18:22 Limbic_Region brazil I think
18:22 fglock TimToady: Sao Paulo, Brazil
18:22 aufrank ooh, brazil
18:22 Limbic_Region yeah - now you know why I am jealous
18:22 aufrank I bet the crab is still better in B'more
18:23 fglock busy place, >10million people - so there must be some perl programmers among them
18:23 Limbic_Region yeah - and I am from Maine which definately has better lobster
18:23 aufrank yeah, who needs brazil anyway!
18:23 fglock :)
18:24 * Limbic_Region is waiting to win the lottery so he can retire, fund Perl/OS, and travel to all these exotic locale for geek meetings
18:24 * aufrank is betting that we'll standardize on emacs/OS long before perl/OS
18:24 TimToady s
18:24 TimToady SP is fine too.
18:25 Limbic_Region heh - OS = OpenSource in that case
18:25 TimToady Last time I flew into SP, the plane had two official languages, English and Japanese!?!
18:25 aufrank oh... I thought it sounded a little ambitious =P
18:26 theorbtwo TimToady: What was the carrier?
18:26 fglock TimToady: they have flights to Japan that go through the US
18:26 TimToady yes, LA is the stopover.
18:26 TimToady I think it was Varig, but I could be misremembering
18:27 theorbtwo OTOH, I took a KLM plane from the Netherlands to the US, and everything was in Dutch, German, and English.
18:27 pmurias nserver irc.freenode.org
18:27 pmurias sorry accidental enter press
18:27 TimToady In the SP airport I was conversing with a Brasilian family through a Japanese interpreter. :)
18:28 * Limbic_Region 's first time to Germany involved landing in Frankfurt, exiting the back of the plane where uniformed men with automatic rifles were pulling passengers aside
18:29 Limbic_Region don't think they were speaking english or german but I knew enough not to ask either
18:29 theorbtwo Blink.
18:30 theorbtwo What uniform?
18:30 TimToady I would guess the language contained pharyngials...
18:30 theorbtwo ...and was this a military flight or a civilian one?
18:30 Limbic_Region theorbtwo - military would be my guess - some shade of green
18:31 theorbtwo That describes german police too.
18:31 Limbic_Region I was connecting from Amsterdam so that might have had something to do with it
18:31 TimToady It's those Dutch terrorists...
18:32 fglock TimToady: portuguese seems to be difficult to english speakers - but there are a few success stories
18:32 TimToady It's actually quite similar in vowel structure.
18:32 kolibrie fglock: r10054
18:32 TimToady both have rather complicated vowel systems.
18:32 Limbic_Region heh - in the Philippines there is less punishment for trying to overthrow the government then there is for selling a joint
18:33 TimToady but of course it's a romance language, and I never got into any of those...
18:33 TimToady German and Greek and Japanese so far.  Maybe Mandarin next.
18:33 svnbot6 r10054 | kolibrie++ | added documentation and copyright notice
18:34 TimToady Or maybe I should go back and actually *learn* German and Greek...
18:35 Limbic_Region TimToady - what about ASL?  I remember talking with a Korean prostitute in ASL which would have otherwise made the conversation impossible
18:35 TimToady Ich habe meine Deutsch ganz vergessen...
18:35 TimToady ...
18:35 chris2 joined perl6
18:36 TimToady I think, if I ever had the inclination, which I hope I never will, that I would have no difficulty communicating with a Korean prostitute...
18:36 * theorbtwo shrugs.
18:36 theorbtwo I don't see what her profession has to do with it.
18:36 aufrank I'm about to meet with my advisor about plans for the summer
18:36 TimToady It's just that some things are easier to mime than others...
18:37 aufrank and would like to suggest doing a p6-related SoC project
18:37 Limbic_Region theorbtwo - striking up a conversation with a korean you met on the street isn't an easy task (if you are an american speaking english)
18:37 aufrank any ideas for a vaguely computational-linguistics SoC I could try to sell him on?
18:37 theorbtwo I wouldn't be at all surprised if prostitutes tend to be one of the more polylingual professions.
18:37 theorbtwo Especially ones that hang around airports.
18:37 Limbic_Region her profession led to an easier introduction
18:38 TimToady I don't think I've ever met someone in that line of work that had difficulty striking up conversations... :)
18:38 Limbic_Region but the only reason I was inclined to talk to her in the first place was that I was suprised to see her using ASL since SL is not universal
18:38 theorbtwo It's not even universal amongst people who would speak the same spoken language.
18:38 theorbtwo IE ASL != BSL.
18:38 TimToady but then, maybe it's only the ones I notice that I notice...
18:38 PerlJam Limbic_Region: I think SL is universal, just the signs are different ;)
18:39 Limbic_Region PerlJam - could be, I only ever bothered to learn ASL
18:39 aufrank one of our faculty members here is a native ASL speaker, and he tells us that when they have international conferences, a really robust pidgin forms almost immediately
18:39 Limbic_Region in any case - she is one of the few people in Korea that I ever talked to outside of work
18:39 Limbic_Region and I lived there for almost 2 years
18:39 aufrank people give talks in this sort of conference-sign rather than their native sign systems, and it all works somehow
18:39 Limbic_Region and it wasn't for a lack of trying either
18:40 theorbtwo Cool!
18:40 theorbtwo I wonder if this has to do with the... omnipedic nature of signing.  It doesn't seem that intuitive, then.
18:41 FurnaceBoy is now known as FB|afk
18:41 kolibrie fglock: oh, I changed the example to .pm -> .pmc, too
18:41 Limbic_Region oh, come to think of it - she was deaf and mute
18:42 fglock kolibrie: thanks!
18:42 kolibrie fglock: glad to do whatever I can
18:43 fglock kolibrie: I can't pay enough attention for actually programming now - too many people around here :)
18:45 fglock the conference site counts 5746 people
18:45 kolibrie fglock: for modifiers, can I convert every :something into { something => 1 } ?
18:46 fglock yes - that's what it means in p6, actually
18:46 kolibrie I was hoping to not change the meaning of the language
18:46 fglock and :something<param> is something=>"param"
18:47 kolibrie and :!something is something=>0
18:47 kolibrie if I understood yesterday's discussion correctly
18:48 fglock oh, I didn't see that
18:48 fglock bbiab
18:49 kolibrie http://colabti.de/irclogger/irclogger_log/​perl6?date=2006-04-20,Thu&amp;sel=481#l699
18:51 TimToady Actually, :something<a b> is something => ('a','b') or some such
18:59 kolibrie TimToady: fglock: hmm, so in Perl5 that would be something => ['a','b'] ?  Since I'm translating to PCR-syntax?
19:01 kolibrie fglock: or do you prefer that I leave it a string and you can figure out what it means?
19:03 Arathorn is now known as Aragone
19:03 Aragone exit
19:03 Aragone oops
19:03 rw-rw-r-- /
19:04 fglock kolibrie: a hashref is better
19:05 fglock the modifiers will be parsed by the p6 compiler (or by the "grammar" subset)
19:06 kolibrie fglock: so :i :p<25> :something<a b> becomes { i => 1, p => 25, something => 'a b' }
19:06 kolibrie or do you prefer: { i => 1, p =>
19:07 kolibrie                  25, something => ['a','b']
19:07 kolibrie }
19:07 fglock the second one
19:07 kolibrie fglock: ok
19:12 ZaphodBeeblebrox joined perl6
19:15 penk left perl6
19:26 KingDiamond joined perl6
19:29 TimToady kolibrie: yes, you have to maintain the distinction between :foo("foo bar") and :foo<foo bar>, which is more like :foo("foo","bar")
19:29 kolibrie TimToady: ah, yes.  Glad you're driving
19:31 Southen joined perl6
19:32 theorbtwo Bear is driving?
19:32 aufrank theorbtwo: clerks the cartoon?
19:33 theorbtwo Aye.
19:34 aufrank I didn't know that joke had stuck around
19:35 Juerd TimToady: Is it so that postfix <> always implies some other kind af brackets around it?
19:35 Juerd TimToady: Or is it its own postfix op?
19:38 larsen joined perl6
19:41 mago joined perl6
19:42 pmichaud juerd:  < > is its own "op" -- it's essentially qw/ ... /
19:43 Juerd Yes, but even postfix .<>?
19:43 pmichaud yes
19:43 hcarty joined perl6
19:43 Juerd Okay. So it could be something else than .(<>) or .{<>}, for other things?
19:43 pmichaud $foo.<a b c>    is essentially $foo('a', 'b', 'c')
19:43 pmichaud sorry, $foo{'a', 'b', 'c'}
19:44 Juerd That's what I mean by implying other brackets
19:44 pmichaud it's the angles
19:44 Juerd The As it's $foo{ <a b c> }
19:44 Juerd The {} are implied
19:44 Juerd s/The As/As/
19:44 pmichaud From S02:  The qw/foo bar/ quote operator now has a bracketed form: <foo bar>. When used as a subscript it performs a slice equivalent to {'foo','bar'}.
19:45 Juerd "As a subscript" is rather vague.
19:45 pmichaud "when used as a subscript"  is essentially  "when used as a postfix .< >"
19:45 Juerd Does this mean that :foo<a> is not really :foo('a'), but actually :foo{'a'}?
19:46 pmichaud ...looking...
19:47 pmichaud :foo<a>  is really foo => 'a'
19:48 Juerd Oh, of course, :foo is not a term by itself...
19:48 pmichaud as opposed to :foo($a) which is really foo => $a
19:48 TimToady :foo<a b c> is really :foo(<a b c>)
19:49 TimToady and :foo{ mumble } might be either a closure or a hash composer
19:49 Juerd TimToady: And how would that be written in fat arrow form?
19:49 theorbtwo But :foo is a unary function?
19:49 TimToady :foo isn't a function
19:49 TimToady It's the front half of a pair
19:49 * Juerd wonders what foo => <a b c> is
19:50 TimToady same as foo => ('a', 'b', 'c');
19:50 Juerd Is that foo => 'a', b => 'c'? Is it foo => [ 'a', 'b', 'c' ]? Maybe foo => ('a', 'b', 'c')?
19:50 Juerd I see
19:51 Juerd :foo<a>, is that foo => 'a' or foo => ('a',)?
19:51 Juerd i.e., list or not list?
19:51 Juerd (the other way around)
19:51 TimToady but say 1,<a b c>,5 prints 1abc5 because (...) autointerpolates into a list.
19:51 pmichaud that's  (foo => 'a', )
19:52 TimToady I think it's just foo => 'a'
19:53 TimToady via foo => ('a')
19:53 pmichaud I was taking the , as part of the question.  (I could still be wrong)
19:53 TimToady ok
19:58 theorbtwo I really hope that you can put commas between attributes without semantic.
19:58 theorbtwo There are some places where the lack of commas looks really wrong.
20:00 larsen_ joined perl6
20:00 larsen_ is now known as larsen
20:08 SamB joined perl6
20:15 justatheory joined perl6
20:28 TimToady theorbtwo: I presume you mean adverbs.
20:28 theorbtwo Er, yes.
20:29 TimToady basically, you can put commas between them where a term is expected, but not where an operator is expected.
20:29 theorbtwo Sounds lovely.
20:29 TimToady in term position, they're just named args in a list
20:29 theorbtwo Why aren't they normally written with commas, then?
20:29 TimToady but $x .. $y :by(2), :foo($bar) wouldn't parse
20:29 TimToady I normally write them with commas, but then I'm not terribly normal...
20:30 theorbtwo Well, unless you meant @x = (($x .. $y :by(2)), :foo($bar))
20:30 TimToady I would, however, tend to leave out the commas if they were the first thing a list and I wanted to emphasize that these are before the first positional arg.
20:30 TimToady yes, I meant it wouldn't parse the way you were expecting if you expected both to apply to ..
20:31 PerlJam If only there were a way to leave out the comma on a one element list ...   ;-)
20:31 theorbtwo Hm, can you write 3, as list(3)?
20:31 PerlJam ($foo,) reminds me so much of python
20:31 theorbtwo I'm not sure that's any better, though.
20:31 coumbes joined perl6
20:31 Juerd pmichaud: But that would mean that $pair.value would be a List if it was created with :foo<a b>, but not be a List if it was created with :foo<a>... That may be surprising.
20:32 PerlJam (which, even though the parens are only for grouping, I think I'd end up using them always anyway)
20:32 Juerd PerlJam: You have to anyway, because , has low precedence :)
20:33 TimToady I think adverb defs just have to be prepared to deal with that.
20:33 PerlJam Juerd: I don't *have* to, but yes, in most cases it would be needed.
20:33 Juerd Nobody's forcing you to :P
20:33 TimToady If you really mean a list, you can say :foo['a']
20:33 TimToady *array
20:33 Juerd TimToady: I'd expect an Array then.
20:34 Juerd And we established that there's an important difference between them. OTOH, defining a one-element list makes NO SENSE whatsoever :)
20:35 Juerd That is, I can't think of any good reason to use a single element list
20:35 TimToady sure it does, we just usually call it a scalar. :P
20:35 Juerd Yea.
20:35 TimToady $a is a lovely one-arg list...
20:36 Juerd But only in list context
20:36 TimToady lists don't mean anything outside of a context though.
20:37 TimToady you can perfectly well say it's a list in scalar context too, as long as you define what happens to a one-arg list in scalar context properly.
20:37 zgh joined perl6
20:37 Juerd Well, that's also the big difference with $foo being a list or a scalar
20:37 Juerd +$foo and $foo.elems will be different
20:38 TimToady $foo is never a list.
20:38 Juerd List.
20:38 TimToady except in the 1-arg sense
20:38 Juerd It can be a List object, I thought?
20:39 TimToady A List by definition hasn't had a context applied to it yet.
20:39 TimToady it's the + or the .elems that apply the context.
20:39 TimToady And List is just a component of Capture these days.
20:39 Juerd Yes, but if $a is a List, +$a will return the number of elements, while if it's a Str, +$a will numify the string... Or not?
20:39 TimToady so I think users are even less likely to see a List than a Capture.
20:40 TimToady If we define List to have Array semantics.  I don't see all that much reason to.
20:40 pmichaud do we have a really detailed spec for Capture somewhere?  I'll probably need a Parrot implementation soon
20:40 Juerd I'm incredibly lost.
20:41 Juerd I can't find a way to match this conversation to the Array/List one we had a few days ago...
20:41 Juerd Did things change in between?
20:41 Juerd (relevant things)
20:41 TimToady \($a,$b,$c) is a Capture, not a List
20:41 TimToady it happens to contain a List if you look hard enough.
20:41 Juerd But $a, after $a = (1, 2, 3), is a List.
20:42 Juerd Scalar comma would return a List, audreyt said, and you were there :)
20:42 Juerd Also, :foo<a b c> would be foo => ( a List object )
20:43 TimToady well, it's certainly possible that List still has its place in the pantheon, but I don't find it all that useful to think about these days...
20:43 TimToady that could just be my fever talking.
20:44 TimToady these days I think that a List is probably just a Capture that is missing its other bits.
20:44 pmichaud I like that idea
20:45 Juerd My questions have little to do with the implementation, though.
20:45 TimToady Don't use List in a real program.
20:46 * PerlJam can only think of one thing to pare away from Captures to get List.
20:46 PerlJam what are the others?
20:46 TimToady the invocant and the named args
20:46 TimToady and anything else anyone like Patrick has stuffed into it for various nefarious purposes
20:47 pmichaud I don't want to stuff things into Capture, I just want to inherit from it :-)
20:47 kanru joined perl6
20:47 TimToady I'm thinking of mixins as a form of "stuffing in"...
20:49 cognominal TimToady: will be able to explore our inner self like in Moose?  (inner as opposed to super).
20:49 TimToady anybody can look at .meta
20:49 cognominal I mean to call it.
20:50 KingDillyDilly joined perl6
20:50 TimToady Moose is just prototyping all the stuff that we intend to hide behind .meta
20:50 TimToady is how I think of it, anyway...
20:50 cognominal then we will use macro to mutate the langage to use all that meta stuff?
20:51 Juerd Nevermind.
20:51 Juerd I'll try again later
20:51 TimToady mostly not, unless you want to define your own declarators.
20:51 Juerd Thanks for trying to explain
20:52 TimToady any method not recognized by Object gets passed on to .meta, so you can usually just say .does instead of .meta.does for instance.
20:52 cognominal ho, I always forget that
20:54 cognominal btw, the list part of a Capture should translate pretty well in the javascript Argument.
20:56 KingDillyDilly Do you all think it's clear enough that this channel isn't about the current Perl? Should #perl be renamed #perl5?
20:56 KingDillyDilly Which it will have to be some day.
20:56 PerlJam er, what?
20:57 KingDillyDilly Now we're even, because I don't understand 90% of what's discussed here. :)
20:57 PerlJam KingDillyDilly: you just lack the proper context for understanding.  Gain the context and you will understand more.
20:58 cognominal KingDillyDilly: the default Perl is Perl5, if we get out of our way to name this channel #perl6, it is because there is somethin special about it.
20:58 KingDillyDilly I'll wait until I actually need Perl6. Kind of busy to learn it right now.
20:58 PerlJam KingDillyDilly: then there's no reason for you to be here :)
20:58 TimToady I'm too busy to *not* learn it. :)
20:59 PerlJam TimToady: learn it faster!  ;)
20:59 TimToady I is peddlin' as hard as might be...
20:59 KingDillyDilly I like to see how much I don't know sometimes.
20:59 Juerd Perl 6 isn't needed. But it'll be incredibly nice to have.
20:59 PerlJam KingDillyDilly: the scope is infinite.
20:59 TimToady No programming language is needed in that sense.
21:00 Juerd Indeed
21:00 TimToady bare turning machine for you!!!
21:00 Juerd But some are much nicer to have than others
21:00 justatheory joined perl6
21:00 TimToady *turing
21:00 Juerd A turning machine :)
21:00 Juerd They have that at the gym
21:00 TimToady lathe
21:00 cognominal ho, yes Perl6 is needed because now Perl5 looks comparatively so crummy
21:01 KingDillyDilly Behind the scenes, maybe. Perl is pretty good to use.
21:01 TimToady I just need Perl 6 to purge the image of flying mugs from my head...
21:02 TimToady I admit I have a fondness for Perl 5 myself.
21:02 Juerd The image will return when you announce Perl 7 in 2025
21:02 Juerd I like Perl 5 because I understand it.
21:02 TimToady Agh.  Where's a bus when I need one?
21:02 Juerd I like Perl 6 because it gives me a few more years of learning new stuff.
21:03 TimToady Perl 6 is a Capture that is slowly being bound to the Perl 5 Signature...
21:03 Juerd Maybe we should call Perl 5 "Perl, Novice Edition", and Perl 6 "Perl, Expert Edition"
21:03 TimToady Or maybe it's the other way around...
21:03 Juerd That'll automatically create extra reasons to migrate.
21:03 * Juerd can't call it upgrade.
21:04 TimToady Perl 6, Migraine Edition
21:04 PerlJam There are editions now?!?!?
21:04 PerlJam ;-)
21:04 KingDillyDilly Anyone here check up on Wikipedia's Perl6 article at http://en.wikipedia.org/wiki/​Perl6#Rules:_the_new_regexes? Will there be no regular expressions in Perl 6? They'll really be called rules?
21:04 PerlJam KingDillyDilly: well, they were.
21:04 TimToady we just change back to regex, actually
21:05 TimToady rules are now more specialized critters
21:05 KingDillyDilly Good.
21:05 TimToady we didn't do it for you :P
21:05 PerlJam I wonder how many people we'll confuse though.
21:05 KingDillyDilly Putting it on my resume anyway.
21:06 TimToady I don't care how many we confuse before 6.0.0 as long as we get it right.
21:06 PerlJam KingDillyDilly++ heh
21:09 pmurias TimToady: what do you think of audrey's rules-as-templates proposal?
21:10 hcarty left perl6
21:12 TimToady I agree with the concept of reversible declarations being very powerful concept right up to the point where my brain explodes
21:12 TimToady The trick, as always, will be to introduce reversibility in a way
21:13 TimToady that doesn't force people's heads to explode prematurely.
21:13 TimToady (see Haskell)
21:13 PerlJam where was this rules-as-templates proposal?  It sounds like using them as generators instead of matching.
21:14 TimToady basically
21:14 pmurias it's in misc/pX/audreyt
21:14 TimToady there's also the notion that you can take a corpus and derive a grammar from it automatically, much like humans learn their syntax.
21:15 PerlJam TimToady: that's about where *my* head explodes :)
21:15 TimToady To usefully reverse a pattern matcher, you have to add back in the ideas that were deleting upon pattern matching, of course...
21:16 TimToady Unless you just want to produce gibberish.
21:16 Juerd PerlJam: Nahh... rule document { .* }
21:17 hlen joined perl6
21:17 TimToady Of course, you do realize that that has to generate the longest document first?
21:18 Juerd Ehh... :)
21:18 TimToady Actually, now it can only produce the longest document.
21:18 PerlJam so I guess perl6 isn't always lazy
21:18 TimToady You'd need .*+ to backtrack.
21:19 TimToady or .*? to start with the shortest document.
21:19 Juerd Okay, this is where my head explodes.
21:19 Juerd I'm so glad your head can take a lot more than ours :)
21:20 cognominal juerd, hopefully you can backtrack to a place before you head exploded.
21:21 TimToady I just don't always notice when my head has exploded...
21:30 pmurias good night
21:33 KingDillyDilly Getting back to the channel names, I think Perl 6 will be referred to as just Perl eventually. The #perl might need to be renamed #perl5.
21:35 KingDillyDilly Actually, Perl 6 should have been named "Perl eventually" years ago.
21:36 aufrank joined perl6
21:41 PerlJam I don't think so.  #perl will stay #perl. and #perl6 may eventually go away, but in the mean time it'll still be #perl6.
21:45 Juerd Nah, people will just get used to [5] and [6] tags
21:46 Juerd :P
21:55 TimToady can create #perl5 and then #perl is only place where you'd need tags.
22:21 kanru2 joined perl6
22:35 Juerd #perl could aggregate #perl5 and #perl6, and add tags :P
22:43 buu Juerd: TAGS?!
22:43 buu KingDillyDilly: Not you again.
22:44 buu #perl (is|should be) a generic help channel for all versions of the perl.
22:44 buu Version is irrelevant. You will be helped.
22:45 Juerd Let's try that.
22:46 buu =]
22:46 buu Now they may not know the answer
22:46 buu But the logical course of action is for people who do know the answer to hang out there..
22:46 turrepurre joined perl6
22:47 buu But I don't think that diminishes my main point that p6 is just as ontopic as p5
22:48 Juerd The only help I'm getting is Yaakov trying to be funny...
22:49 mako132_ joined perl6
22:49 buu Juerd: Well, yes
22:49 buu But the same applies to p5 and p4 questions
22:54 pdcawley joined perl6
23:00 KingDillyDilly Yes, me again. There's nothing in the topic of #perl6 that explains that this channel isn't about the current version of Perl and that it isn't for support of the current version.
23:00 KingDillyDilly buu doesn't like Wassercrats. Everyone hate buu.
23:00 Juerd audreyt: My removal of Firefly apparently never happened; dozens of people have been able to enjoy it :)
23:00 Juerd audreyt: But it's gone now, fyi.
23:01 KingDillyDilly perlbot KingDillyDilly is Wassercrats
23:01 perlbot added KingDillyDilly to the database
23:02 KingDillyDilly perlbot Barry is Wassercrats
23:02 perlbot added Barry to the database
23:03 Juerd Why is perlbot here?
23:03 * Juerd doesn't like perlbot here, to be honest.
23:04 Juerd It adds immensely to the noise-to-signal ratio, and its factoids are Perl 5 based. Factoids added here will be useless to most other channels. A similar bot might be useful, but then still I don't think this channel (which is not a help channel, but mostly a channel for discussion) should have such a bot yet.
23:05 Juerd s/It adds/It could add/  # It's the first time I see it here. I don't know how long it has been around.
23:06 KingDillyDilly I'd like a bot with a "last x" feature to pvt msg you with previous posts. I know about http://colabti.de/irclogger//irclogger_logs/perl6 though.
23:09 KingDillyDilly perlbot has lots of useful features, like "phone"
23:09 KingDillyDilly perlbot phone 1-800-555-5555
23:09 perlbot Bad number: 1-800-555-5555
23:10 KingDillyDilly perlbot phone 1234567890
23:10 perlbot That function is broken for now, try back later
23:13 buu Juerd: Why do you think it adds to the noise-to-signal ratio?
23:14 Juerd See your current scrollbuffer.
23:14 Juerd Good night
23:14 Juerd z
23:14 buu Juerd: I've found that KingDillyDilly manages that all by himself.
23:15 Juerd Let's hope that KingDillyDilly stops all by himself too.
23:18 KingDillyDilly I've had thoughts of creating a log of #perl and comparing it with a log of #python to see which has the higher noise-to-signal ratio and to deter those most responsible for it.
23:18 SamB well, PERL itself is said to have a lower signal-to-noise ratio
23:22 ZaphodBeeblebrox joined perl6
23:22 KingDillyDilly Would anyone really leave one language for another because they prefer short symbols to words or shorter words? I prefer extra readability. I'm anti-elsif, for example. Not sure if that relates to what you're saying, SamB.
23:23 SamB I was talking about all punctuation
23:23 buu SamB: What is PERL?
23:23 SamB you know when they curse in the comics?
23:23 buu No?
23:24 SamB oh, sorry, I guess it is called Perl.
23:24 buu Yes it is.
23:24 SamB thats what I get for reading the headings in manpages...
23:24 buu I suspect perl actually has the highest signal to noise ratio of almost any language
23:25 buu For some value of signal and noise of course
23:25 KingDillyDilly I read a debate on whether it's an acronym. I'm still not sure, but somehow it was decided it's not.
23:26 SamB so it doesn't stand for Pattern Extraction and Reporting Language?
23:26 KingDillyDilly Kinda no.
23:26 arcady Pathologically Eclectic Rubbish Lister?
23:28 buu SamB: It does not.
23:28 buu SamB: The name is Perl, not an acronym. You are of course free to make up any words you want to fit it however.
23:31 Juerd SamB: Read perlfaq1
23:32 Juerd SamB: Unix tradition is to have manpage headlines in allcaps. The manpage of ls(1) has LS(1) in the first line.
23:32 SamB Juerd: yeah, I know about that
23:32 SamB I honestly am unsure why I thought it was PERL
23:33 buu Long standing rumour.
23:33 SamB if I call it perl, nobody will bother me ;-)
23:33 buu This is true.
23:34 mako132_ joined perl6
23:34 KingDillyDilly Unless you're writing for something that matters. In chat, many people don't capitalize even the first letter of sentences.
23:36 Limbic_Region joined perl6
23:36 KingDillyDilly Or of their handles. Someone told me that's because it's not a real name. Doesn't make sense to me.
23:46 weinig joined perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo