Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-12-03

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:00 masak yeah.
00:00 masak one gets too used to idioms sometimes.
00:02 masak yay! 1080 views on the blog yesterday! :)
00:02 * diakopter turns off ab :)
00:03 masak only 4x left for my estimate to hold. :) that's no problem at all.
00:04 diakopter RT @luqui
00:04 diakopter Oct 31 = Dec 25. When is the 19th of Hexember?
00:04 diakopter oh wait; this isn't twitter
00:04 frettled masak: ooh, that's a nice improvement already
00:05 frettled diakopter: or dodecember?
00:05 masak diakopter: I want to know when binember is.
00:06 masak wow! the schedule is full of people! \o/
00:07 * Wolfman2000 takes another look at the schedule
00:07 masak I bet we'll feel, as we near the end of the advent calendar, that Advent doesn't have enough days for Perl 6. :)
00:07 Wolfman2000 That also reminds me. I think my post is coming in 20 minutes
00:08 pugs_svn r29244 | masak++ | [perl6advent-2009] changed my scheduled topics a bit
00:08 frettled masak: in that case, we can extend it until the orthodox Christmas Eve, January 6th.
00:08 masak frettled: that would be highly unorthodox.
00:08 frettled masak: and if that's not enough, until Great Id.
00:08 frettled masak: hihi
00:09 frettled masak: http://en.wikipedia.org/wiki/Eid_ul-Adha
00:10 masak I agree with Lewis Black. Abraham shouldn't be celebrated, he should be recognized as the psycopath he was. :/
00:10 masak but this is not the time and place for that discussion.
00:10 frettled We could celebrate psycopaths and sociopaths in general?
00:11 masak no, we should help them. unless they lived thousands of years ago.
00:11 SirKay Abraham who?
00:11 masak SirKay: the one in the Old Testament.
00:11 SirKay I like the theory that when Abraham tried to sacrifice his son, he was making a pact with a fallen angel, and not the true God
00:12 masak that is consistent with the theory that he was a psycopath.
00:12 frettled I think I like not to discuss religion.  :)
00:13 masak agreed.
00:13 TimToady I think I am glad that God sometimes allows psychopaths and sociopaths to do his work, or not much would get done.   :)
00:13 phenny TimToady: 02 Dec 23:34Z <masak> tell TimToady look at this comment: http://perl6advent.wordpress.com/2009/12/02/day-2-the-beauty-of-formatting/#comments -- there's something missing before the '?', probably a <huey dewey louie> which was eaten by the HTML comment sanitizer. would adding an extra parameter :last-separator to .fmt for arrays (and hashes) be worth its weight, you think?
00:13 masak TimToady: that's a new way of seeing it. I'll think about that. :)
00:15 SirKay Tim: that reminds me of my view on sociopaths, that perhaps it is like from Lord of the Rings
00:16 SirKay when Frodo says that Gollum deserves to die, and Gandalf says that he does, but we shouldn't be so quick to kill, and that even Gollum might have a role in things
00:17 SirKay that's not to say that Gollum is a textbook sociopath, but he was definitely nuts
00:17 TimToady btw, my name is not Tim, but Toady, as in a Toady of Tims
00:18 SirKay fair enough.
00:18 SirKay and my name isn't SirKay at all, it was kind of a mistake to be honest :p
00:18 TimToady yes sir!
00:18 SirKay Melchior and Balthazar were taken, so I started going into Arthurian names.
00:19 TimToady I always had a soft spot for Pelennor myself...
00:20 frettled TimToady: I thought the Dead Marshes were a soft spot.  ;)
00:21 TimToady I keep chasing the questing beast, but mostly only find fewmets...
00:22 frettled That's such a lovely word.
00:22 TimToady frettled: you're confusing it with Pelanor, which is across the river
00:23 TimToady SirPelennor is not a where, but a who.
00:24 TimToady but maybe that was a conspiracy between T.H. White and J.R.R. Tolkien; they did live relatively close to each other, in the overall scheme of things...
00:25 colomon TimToady: is that how White spelled it?  It looks wrong to my eye.  (And I'm too lazy to go downstairs to the bookshelves to check.)
00:26 colomon wikipedia says Pellinore under Once and Future.
00:27 TimToady I guess if I can't even remember how to spell the guys name, my soft spot can't be all that soft...
00:28 * colomon must really getting around to listening to the audiobook of Malory...
00:28 TimToady that won't help you with the spelling much either :)
00:28 TimToady in fact, that's part of my problem; I had TOaFK read to me out loud by my wife.
00:29 TimToady I know how to spell fewmets though (I think)
00:29 colomon awwww.... closest we've come is Gawain and the Greent Knight.
00:29 colomon TimToady: fewmets looks right to me.  :)
00:29 SirKay I think I also tried Gareth.
00:29 colomon s/Greent/Green/
00:30 frettled TimToady: Tolkien's spelling was, in fact, Pelennor, as in Pelennor Fields :)
00:31 TimToady and it's not like Pellinore spelled anything consistently either... :)
00:31 TimToady well, Tolkien, he thinks he can just wrap/warp English around his little finger.  :P
00:31 frettled And «fewmet(s)» is correct, it literally comes from the words «few» and «met».
00:31 colomon TimToady: but I'm willing to consider White authoritative.
00:31 frettled TimToady: yeah, cheeky bastard
00:31 TimToady durn lingrists...
00:33 frettled One of these days, I tell you, one of these days, one of them is going to try to do something other than study dead languages.
00:35 Wolfman2000 ...and my post is published
00:35 TimToady don't trust 'em, they're all sociopaths...
00:35 Wolfman2000 so...why didn't the bot report it?
00:35 Wolfman2000 ...alright, I'll do it
00:35 TimToady um, cuz it's not running?
00:36 Wolfman2000 lolperl6adventhazblogged! Day 3: static types and multi subs! http://perl6advent.wordpress.com/2009/12/03/day-3-static-types-and-multi-subs/
00:36 frettled But it's not on the front page for some reason.  Hmm.
00:36 masak Wolfman2000++
00:36 frettled TimToady: We had to kick zaslon out because it got itself into trouble over my latest blog post.
00:36 sjohnson Q:  does perl 6 have a special way to reduce redunancy, if doing something like:  if (defined(%goose.noise)) { print %goose.noise }  ?
00:36 masak frettled: I see it on the front page.
00:37 frettled masak: ah, now it's there.
00:37 Wolfman2000 frettled: we're talking within 6 minutes
00:37 masak sjohnson: do an assignment inside defined() ?
00:37 frettled Wolfman2000++, oh yes!
00:37 sjohnson masak: i should be doing that more in p5 too, i will see how it works out
00:38 sjohnson though not quite sure how to write it.  if (defined($m = something()) ?
00:38 masak sjohnson: also, I tend to use this idiom sometimes: `if interesting-computation -> $result { ... }`
00:38 sjohnson will experiment thanks masak++
00:38 TimToady er, second identify sez Str is an integer
00:38 masak sjohnson: yes, like that.
00:39 masak sjohnson: likely 'my $m', though.
00:39 sjohnson masak: "my" hero
00:39 sjohnson :)
00:39 * masak bows
00:40 frettled sjohnson: given(%goose.noise) { …?
00:40 TimToady what's with the parens?
00:40 frettled TimToady: bad habit
00:40 frettled I type them even when I don't use them.
00:41 masak bad frettled :)
00:41 frettled my example code didn't use them.
00:41 * frettled whacks itself.
00:41 Wolfman2000 ...and I already got a reply
00:41 Wolfman2000 or a pingback
00:41 TimToady Wolfman2000: did you see my comment above about cut-n-paste
00:41 TimToady er, copy/paste error
00:41 Wolfman2000 TimToady: zaslon is gone, saw that
00:41 TimToady no second def of identify is wrong
00:42 TimToady sez a Str is an integer
00:42 Wolfman2000 ...typo
00:42 sjohnson frettled like me probably enjoys and is used to the p5 given/when stuff
00:42 Wolfman2000 I'm surprised that wasn't picked up
00:43 TimToady What, you didn't write the tests first?  tsk, tsk...  :)
00:43 frettled sjohnson: oh, no, I started with given/when before it was backported.
00:43 sjohnson frettled: oic
00:43 Wolfman2000 TimToady: blame finals, alright?
00:43 TimToady don't look a gift feature in the function? :)
00:43 sjohnson cause even i do it
00:43 Wolfman2000 anyway, fixed
00:43 Wolfman2000 finals--
00:43 TimToady finals works for me :)
00:44 frettled @karma finals
00:44 lambdabot finals has a karma of -1
00:44 frettled finals+=1000
00:44 frettled ;)
00:44 sjohnson heh
00:44 Wolfman2000 @karma finals
00:44 lambdabot finals has a karma of -1
00:44 TimToady so semifinals should have a karma of half of finals
00:44 Wolfman2000 fail
00:44 frettled finals--
00:44 frettled semifinals--
00:44 frettled @karma semifinals
00:44 lambdabot semifinals has a karma of -1
00:44 Wolfman2000 TimToady: usually those are called midterms
00:45 frettled can we come to terms with that?
00:45 sjohnson masak: yep, this defined trick you mentioned definitely makes my code look sexier
00:45 masak sjohnson: good to hear.
00:45 frettled Wolfman2000: zaslon will probably be back once it doesn't barf every 150 seconds on my blog post ;)
00:46 TimToady also, it uses qw, which means it's gonna say: "This rules"isastring.
00:46 Wolfman2000 frettled: noted
00:47 TimToady you probably meant qq there?
00:47 Wolfman2000 ...yep
00:48 Wolfman2000 I did ask for feedback from my posts...wonder how we all missed these
00:50 sjohnson rakudo:  say 3;
00:51 frettled p6eval isn't on the channel, hrm.
00:51 sjohnson i wonder if carlin's bot is kicking around
00:51 sjohnson or was it colomon? i was getting them mixed up :[
00:52 frettled I wonder if it responds to invites
00:52 colomon I've not made a bot, if that's what you're asking about.
00:52 sjohnson sorry colomon mixed u up
00:52 colomon Pretty sure you're thinking of carlin++, he of the p6 bots.
00:53 colomon sjohnson: no worries.
00:53 sjohnson carlin ++ botmaster
00:53 sjohnson oops, ==
00:56 sjohnson someone told me in #perl that use v5.10.0 is incorrect because of warnings.  i think it's BS.  i see moritz_ though uses v5.010 however
01:01 Wolfman2000 okay, homework time. These finals are going down...
01:02 diakopter moritz_:
01:02 colomon masak: in your .fmt code on github, why "for self.list" instead of just "for self"?
01:03 TimToady self probably doesn't flatten in list context, like $x
01:03 masak colomon: because I don't believe self would represent the items of the list, only the list in scalar context.
01:03 masak colomon: what TimToady said; our intuitions agree there. :)
01:03 leedo joined #perl6
01:04 colomon So if you just said "for self", you'd "loop" over a list with the single element self?
01:04 TimToady either we're both wrong or we're both right  :)
01:04 TimToady nod
01:05 TimToady if self were a function that returned a list derived from self, you couldn't get back to the original container
01:07 TimToady if masak and I both change our mind simultaneously, you may suspect we got quantumly entangled somehow.
01:07 masak hate when that happens.
01:07 TimToady me too
01:07 masak naturally :)
01:08 colomon Makes sense, I guess.  I just never saw the .list method until working on ng's Range, and assumed that List.list just returned self.
01:11 colomon Spent too much time working with scalar types, I guess.  :)
01:12 s1n joined #perl6
01:17 brrant joined #perl6
01:19 gfx joined #perl6
01:21 agentzh joined #perl6
01:33 * Wolfman2000 is no longer a fan of Chuquet.
01:37 sjohnson Wolfman2000: how come?
01:38 Wolfman2000 sjohnson: when will I ever have to approximate square roots outside of a history of math class?
01:38 sjohnson true
01:38 quantumEd approximate square roots????
01:38 quantumEd that's how calcuuators work
01:39 Wolfman2000 ...wait a second...
01:39 quantumEd anytime you compute a square root of anything you're doing an approximation algorithm
01:39 Wolfman2000 now I wonder if such a program could be made in Perl.
01:39 Wolfman2000 specifically, Perl 6.
01:39 quantumEd millions of square roots are happening every moment!
01:39 * Wolfman2000 better finish his homework first BEFORE playing around.
01:40 masak Wolfman2000: it can, but on Rakudo you'll likely run into the Rats bug.
01:40 Wolfman2000 masak: and which bug is that again?
01:40 masak Wolfman2000: Rats which get larger and larger numerators and denominators until they explode.
01:41 colomon masak: I fixed that.
01:41 colomon now the magically turn into Nums.
01:41 masak oh! colomon++
01:41 masak excellent.
01:42 Wolfman2000 But Nums aren't as fun...
01:42 JimmyZ joined #perl6
01:42 colomon there may still be a few edge cases that eluded me, but I added a bunch of tests.
01:43 Wolfman2000 that reminds me...isn't moritz_'s gift for tomorrow about testing in Perl 6?
01:44 pugs_svn r29245 | duff++ | [perl6advent] No, there doesn't need to be a Dec 25 entry
01:45 masak Wolfman2000: it is.
01:45 Wolfman2000 I will look forward to seeing how this works. I wonder how much of the code will be "borrowed" from Perl 5's Test::More...
01:46 colomon okay, now that my fingers aren't covered in melted honey from slices of fresh sourdough, I can explain more.
01:47 Wolfman2000 sounds delicious
01:47 colomon All the tests for correct results I wrote pass.
01:47 colomon Wolfman2000: was.
01:48 colomon There are additional tests that we don't punt to Nums in cases where it's possible to keep thing in Rat precision -- those we do not pass yet.
01:48 Wolfman2000 colomon: why not make those extra tests and punt to Nums anyway?
01:49 colomon Let me demonstrate:
01:49 colomon rakudo: say ((1/60000) * (1/60000)).WHAT
01:49 colomon ack.
01:49 Wolfman2000 ...the bots gone
01:50 colomon nooooooo......
01:50 colomon actually, that was a bad test anyway.
01:51 colomon The point is, look at 1/60000 + 1/60000.
01:51 colomon The answer is obviously 2/60000 == 1/30000 -- no problem keeping in Rat.
01:51 Wolfman2000 3.33333333333333e-05 <-- that's no Rat
01:52 colomon But Rat's infix:<+> calculates that by multiplying 60000 by 60000 to get the new numerator.
01:52 colomon That overflows the Int32 denominator.  That was the bug we had last week.
01:52 arnsholt colomon: Why doesn't it compute the LCM first?
01:52 Wolfman2000 colomon: how hard would it be to add a...what arnsholt said.
01:52 colomon (s/numerator/denomiator/ two back.)
01:53 colomon I fixed it so if that overflow happens, we switch to Num math and still get a numerically valid result.
01:53 colomon That's needed for the general case: something like 1/60000 + 1/60001.
01:54 Wolfman2000 I've already "stolen" a GCD function for the use of my rsa.pl code
01:54 colomon But we've specced it to stick with Rat when it is possible.
01:54 Wolfman2000 hang on while I pull it up
01:54 colomon We've already got a GCD function for Rat.
01:54 Wolfman2000 ...umm...did I...accidentally...remove my own directory?
01:54 colomon I just haven't had a chance to add it to the math functions, that's all.
01:55 Wolfman2000 ...no, I just moved it
01:55 colomon I've been busy doing $work and getting the Advent calendar set up and hacking on ng.
01:55 arnsholt Ah, right. But now that I think about it, the naive way of computing the LCM involves multiplying the two numbers anyways =)
01:55 arnsholt But there are ways to get around that
01:55 japhb joined #perl6
01:56 Wolfman2000 sub gcd(Int $x, Int $y) { return $y ?? gcd($y, $x % $y) !! $x; };
01:56 colomon and there's no pressing need to get it working.
01:56 Wolfman2000 sub lcm(Int $x, Int $y) { return ($x * $y)/ gcd($x, $y); };
01:57 Wolfman2000 If anyone is concerned about $x * $y overflowing, this can easily be re-written
01:58 colomon certainly it will overflow in this case -- if it didn't the gcd stuff in Rat.new would take care of the issue already.  :)
01:58 Wolfman2000 colomon: so do $x / gcd($x, $y) * $y and you get the same result
01:58 arnsholt Add some parens and it'll even work I think (* binds tighter than /)
01:59 Wolfman2000 arnsholt: I believe * and / should be equal
01:59 Wolfman2000 or equiv
01:59 colomon actually, needs to be div instead of /, else we will get a Rat there, and that would be bad.
01:59 Wolfman2000 colomon: the point is, you know the basics
01:59 Wolfman2000 I'm not touching ng at this point with an 11 foot pole.
02:00 colomon Oh, this stuff can't go in ng yet -- ng's operator overloading is all messed up.
02:00 Wolfman2000 ...can't the subs?
02:00 Wolfman2000 or rather, can the subs go in?
02:02 colomon the problem is, the best solution I've found depends heavily on calling the correct operator version, and ng doesn't do that correctly yet.
02:03 colomon I have hacked in versions of the old broken master versions in ng, but the fancy new ones won't work.
02:03 colomon I'll port it all over once ng gets fixed.
02:03 Wolfman2000 and when ng gets fixed, perhaps then the subs I pasted will be of use?
02:05 colomon We already have a gcd algorithm in Rat.pm which is less elegant than yours but probably more efficient (not recursive).
02:05 colomon Your lcm ought to be useful.
02:05 Wolfman2000 I took the lcm from the internet somewhere
02:08 vamped joined #perl6
02:09 ShaneC1 joined #perl6
02:17 nihiliad joined #perl6
02:25 envi^office joined #perl6
02:25 orafu joined #perl6
02:33 mikehh_ joined #perl6
02:33 justatheory joined #perl6
02:34 astrojp joined #perl6
02:36 masak rakudo: my Int $a = Inf
02:36 Wolfman2000 <rakudo> I'm MIA
02:36 masak locally, I get "Assignment type check failed; expected Int, but got Num".
02:37 Wolfman2000 I did too on Master Branch
02:37 masak that seems less than reasonable to me.
02:37 Wolfman2000 Infinity is a Num
02:37 masak infinity, as we all know, is an integer. :)
02:37 Wolfman2000 masak: is it?
02:37 Wolfman2000 TimToady: straighten us out please
02:38 masak Wolfman2000: sure. if not, can you name its decimal expansion? :P
02:38 p6eval joined #perl6
02:38 Wolfman2000 the bot's back!
02:38 diakopter rakudo: my Int $a = Inf
02:38 p6eval rakudo 7ce13d: Assignment type check failed; expected Int, but got Num␤in Main (file <unknown>, line <unknown>)␤
02:38 diakopter i dunno why it left
02:39 diakopter i signalled hangup
02:39 * masak submits rakudobug
02:40 masak Wolfman2000: S02:649 says that Int vars should be able to hold Inf and NaN values.
02:43 ShaneC joined #perl6
02:50 colomon joined #perl6
02:57 diakopter rakudo: my Int $a = $a.WHAT; say $a
02:57 p6eval rakudo 7ce13d: Int()␤
02:57 diakopter ng: my Int $a = $a.WHAT; say $a
02:57 p6eval ng 460d99: Mu()␤
02:58 masak WHAT?
02:58 masak ng: my Int $a = Mu; say $a
02:58 p6eval ng 460d99: Mu()␤
02:59 masak ng: my Int $a = "OH HAI IM NOT AN INT"
02:59 p6eval ng 460d99:  ( no output )
02:59 masak guess ng doesn't check types yet.
03:02 Wolfman2000 ng: my Int $a = "Invalid"; say $a;
03:02 p6eval ng 460d99: Invalid␤
03:02 Wolfman2000 apparently not
03:07 colomon definitely not.
03:07 colomon BTW, just checked smarter Rat math into master.
03:07 colomon > say (1/60000 + 1/60000).perl
03:07 colomon 1/30000
03:07 lambdabot Not in scope: `say'Not in scope: `perl'
03:08 colomon only works for + and -, * and / are trickier and I need to go to bed now.
03:12 masak colomon++
03:13 Wolfman2000 so src/setting/Rat.pm is where I should check his code...got it
03:14 colomon The tricky bit here is we froze master's spectest at a version before I added the new tests to rat.t.
03:14 masak we froze master's spectest? I missed when that happened.
03:14 colomon It's really late in the day to be adding patches to master, I fear.  But this stuff should drop into ng with no issues once ng works.
03:14 colomon masak: jnthn and I had a coup.  :)
03:15 masak I should backlog more carefully :)
03:15 colomon We wanted ng's spectests to reflect the current specs, and the current specs are rapidly drifting away from master.
03:16 colomon instead of branching spectest, just hardcoded master to use an older version of the spectests.
03:16 colomon off to bed...
03:17 Wolfman2000 masak: I assume you have commit priviledges to rakudo, right?
03:18 masak Wolfman2000: yes.
03:18 masak don't use it as often as I'd like, but... :)
03:18 Wolfman2000 well, I don't want to risk being the goat here.
03:19 lisppaste3 wolfman2000 pasted "Would this work for returning purposes, or would I have to explicitly declare return first?" at http://paste.lisp.org/display/91489
03:20 Wolfman2000 masak: ^
03:20 masak Wolfman2000: are you sure it's 'eq', string equivalence?
03:20 Wolfman2000 ...I meant ==
03:20 masak Wolfman2000: and yes, you need to have 'return' first.
03:20 Wolfman2000 ...well, do you think such code would work out just as well, and avoid requiring the GCD?
03:21 masak yes, it seems a sane idea.
03:21 Wolfman2000 I don't know if I have commit access to parrot. I'm a little afraid to try honestly.
03:21 masak of course, it's a premature optimisation, but as those go, it looks OK. :)
03:21 Wolfman2000 ...how is it premature?
03:21 masak Wolfman2000: Rakudo doesn't sit in Parrot anymore.
03:21 masak Wolfman2000: well, have you profiled it?
03:22 Wolfman2000 masak: most likely not, since I don't recall what is meant by profiling here
03:22 masak Wolfman2000: maybe the GCD routine is really quick when $a.denominator == $b.denominator?
03:23 masak Wolfman2000: profiling means 'checking how fast it runs before and after a given change'.
03:23 Wolfman2000 ah
03:23 Wolfman2000 masak: ...don't know of any good scientific ways of checking that, honestly.
03:23 Wolfman2000 Plus, still bogged down in homework to check effectively.
03:23 Wolfman2000 I'm only chatting because I needed a break.
03:23 masak sure.
03:23 Wolfman2000 Still...I honestly think this will be faster.
03:23 masak it seems likely.
03:24 Wolfman2000 the big concern is the major calculation at the end of infix:<+>
03:24 Wolfman2000 8 operators in use if I counted right
03:24 Wolfman2000 and that's not even counting the while checks in GCD
03:25 Wolfman2000 now, do that versus...3/4 operations with my early return
03:25 Wolfman2000 only one complicated one, division. The rest are simple.
03:27 colomon actually, just remembered that TimToady has written even more complicated rules for what + and - are supposed to do.  but off to bed for real now...
03:40 masak colomon: 'night
03:45 mikehh__ joined #perl6
03:46 vamped left #perl6
04:21 diakopter ng: say 0.00000000000000000000000000000001
04:21 p6eval ng 460d99: Nominal type check failed for parameter '$b'; expected Int but got Num instead␤current instr.: 'perl6;Rat;&gcd' pc 221894 (src/gen/core.pir:16671)␤
04:22 beggars joined #perl6
04:22 diakopter MASAK
04:22 diakopter :)
04:22 masak DIAKOPTER
04:22 diakopter ^^
04:22 masak diakopter: ng.
04:22 masak I don't submit ng bugs.
04:22 diakopter oh.
04:23 masak come back when it's master. :)
04:23 diakopter yeah but
04:23 diakopter why is gcd getting called
04:23 diakopter on 0.00000000001
04:23 diakopter oh, duh, to reduce the Rat
04:23 masak :)
04:24 diakopter ng: 0.00000000000000000000000001
04:24 p6eval ng 460d99: Nominal type check failed for parameter '$b'; expected Int but got Num instead␤current instr.: 'perl6;Rat;&gcd' pc 221894 (src/gen/core.pir:16671)␤
04:24 diakopter ng: 0.0000000000000000000000001
04:24 p6eval ng 460d99:  ( no output )
04:25 mikehh joined #perl6
04:25 diakopter ng: say 1e1.perl
04:25 p6eval ng 460d99: Method 'perl' not found for invocant of class 'Num'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
04:26 diakopter ng: say 1e999999999999999999999999
04:26 p6eval ng 460d99: undefined identifier 'Inf'␤␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 924 (src/PCT/HLLCompiler.pir:519)␤
04:27 Wolfman2000 ...so ng is now broken. nice.
04:27 diakopter ng: say 1e9999999999999999999999999999999999999999999999999
04:27 p6eval ng 460d99: 0␤
04:27 sjohnson oh noees
04:28 diakopter Wolfman2000: what do you mean 'broken'?
04:28 diakopter as opposed to....?
04:28 Wolfman2000 ng: say 1;
04:28 p6eval ng 460d99: 1␤
04:28 Wolfman2000 ...okay, it can say 1
04:28 Wolfman2000 ng: say 1.perl
04:28 p6eval ng 460d99: 1␤
04:28 Wolfman2000 ng: say 1.2.perl
04:28 p6eval ng 460d99: 6/5␤
04:28 Wolfman2000 ng: say 1e1.perl
04:28 p6eval ng 460d99: Method 'perl' not found for invocant of class 'Num'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
04:28 Wolfman2000 ...nevermind diakopter
04:29 diakopter rakudo: say 1e1.perl
04:29 p6eval rakudo 7914ca: 10␤
04:29 Wolfman2000 ...anyway, it's time for me to do something I should have done awhile ago.
04:29 * Wolfman2000 goes to remove his Windows 7 RC from VirtualBox.
04:41 Wolfman2000 okay, that's enough homework, and the trash will take awhile to empty.
04:41 Wolfman2000 masak: ...what time do you go to bed again? It's strange seeing you up this late.
04:42 masak Wolfman2000: your observation is correct. my waking hours have been corrupted.
04:42 masak by my watch, I should have been sound asleep six hours ago.
04:42 masak I expect to start to feel tired in two or three hours.
04:42 masak that's when the sun rises here.
04:43 * Wolfman2000 takes a look at his Pastebin for the first time in a few days...no contributions? :(
04:43 masak Wolfman2000: haven't gotten that far, sorry.
04:43 Wolfman2000 how hard is it to get people to contribute when I've already added people?
04:43 Wolfman2000 masak: I was expecting...well, more frew to help
04:44 masak Wolfman2000: from experience, people contribute both more often and less often than one would expect :)
04:44 Wolfman2000 masak: that's an oxymoron. Please make sense.
04:45 masak well, people do surprise me by contributing stuff that I didn't expect them to. and sometimes when I'm expecting contributions, there are none.
04:46 felipe joined #perl6
04:46 Wolfman2000 I'd have contributed more to November, but I don't know how you want me to handle the adding of users.
04:46 Wolfman2000 That...is up to you
04:48 masak hm.
04:48 masak haven't thought much about it.
04:49 masak just adding a new hash to the list of users, and saving it back to file -- should be enough.
04:49 Wolfman2000 ...if I knew how to do that, I wouldn't be in my predicament.
04:50 masak I see.
04:50 masak I might throw together a patch tomorrow, and then we can discuss it.
04:50 masak if that helps.
04:51 Wolfman2000 Nothing wrong with the discussion. Just unsure if I'll have the time.
04:51 Wolfman2000 I basically got...2/4 assignments done.
04:51 Wolfman2000 But everything is due Monday
04:51 Wolfman2000 I may need those 4 days
04:51 masak absolutely.
04:51 masak I wish you few distractions.
04:52 Wolfman2000 Thanks. For now, I'm letting myself be distracted with the pastebin...logging in and out is the last thing, and I want to at least get something up.
04:55 masak nod.
04:57 PerlJam Wolfman2000: to what would you like contributions?
04:58 Wolfman2000 PerlJam: If I understood your slightly broken english correctly...cleanup, improvements, etc.
04:58 * PerlJam looks at his english.
04:58 PerlJam It doesn't appear broken.
04:58 PerlJam :)
04:59 pointme joined #perl6
05:00 zaslon joined #perl6
05:00 zaslon lolfrettledhazblogged! frettled++ 'Oslo.pm Past and Future': http:
05:00 Wolfman2000 frettled: Your bot is back!
05:00 Wolfman2000 PerlJam: I'm still slightly out of it here
05:01 carlin umm, zaslon, where's the rest of the URI?
05:03 zaslon lolfrettledhazblogged! frettled++ 'Oslo.pm Past and Future': http:
05:03 carlin Argh
05:04 Wolfman2000 3 minute gap...
05:04 carlin 3 minute crontab
05:05 hercynium joined #perl6
05:06 zaslon lolfrettledhazblogged! frettled++ 'Oslo.pm Past and Future': http:
05:06 masak well, this will be fun.
05:06 masak thanks a lot, frettled :P
05:07 Wolfman2000 ...hold on a second.
05:07 Wolfman2000 I think there is a way to shut zaslon out WITHOUT kicking him out
05:07 carlin Remove frettled's blog?
05:07 Wolfman2000 ...yeah, found it
05:08 Wolfman2000 /mode #perl6 +B ~q:zaslon!n=zaslon@phoenix.theintersect.org    <-- that should do it.
05:08 Wolfman2000 err, +b
05:08 Wolfman2000 masak: give it a shot before 45 seconds
05:09 zaslon lolfrettledhazblogged! frettled++ 'Oslo.pm Past and Future': http:
05:10 masak ...too late. :)
05:10 carlin I have no idea why it's doing that
05:10 carlin I'll have to look at it later
05:10 Wolfman2000 Well, that command may be useful for the future.
05:10 Wolfman2000 @karma frettled
05:10 lambdabot frettled has a karma of 21
05:10 Wolfman2000 frettled-- to fix some bot issues.
05:14 scp1 joined #perl6
05:14 masak scp1: welcome :)
05:14 scp1 thanks ;)
05:15 masak scp1: have you seen the Perl 6 Advent calendar? http://perl6advent.wordpress.com/
05:15 scp1 masak, heh, nice, I'll have  a look
05:16 Tene I need to figure out what I'm going to post on RSN...
05:16 scp1 "There’s only one risk in all of this: Perl 6 might soil the reputation of the Perl family of languages by simply being too darn readable."
05:16 scp1 ;o
05:16 PerlJam scp1: be sure to check back for new  posts every day  :)
05:18 Tene going to spend some time with the gf, and then maybe I'll have an hour to spend on ng tonight.
05:19 masak \o/
05:37 masak I've spent the whole night building a miniature model of regex backtracking. I've almost got it working now.
05:47 diakopter masak: oh hi
05:47 diakopter a physical modeL/
05:47 diakopter ?
05:47 masak diakopter: hi; I was just leaving to go have some sleep :)
05:47 diakopter oh
05:47 diakopter a physical model?
05:47 masak diakopter: no, a tree traversal engine.
05:47 diakopter in Perl 6?
05:48 masak yes.
05:48 masak but for just a small subset of regexp node types.
05:48 masak diakopter: want me to nopaste my partial result so you can play with it?
05:48 diakopter sure
05:49 masak it's uncommented so far.
05:49 masak http://gist.github.com/247924
05:49 Wolfman2000 PerlJam: before I head off to bed...what time zone are you in?
05:49 masak diakopter: what this program does (incorrectly, so far) is to match /[a b*? c]+ ac/ against 'abbcabcac'.
05:50 Tene What?  No blog posts for me to read in my rss feed?  Hmm... I have an idea...
05:50 masak diakopter: it does so using no callstack recursion or continuations at all.
05:50 Tene Hey, masak, did you hear that it's actually November again?  Yeah, they decided to have two Novembers this year.
05:50 masak Tene: nice try. :P
05:50 Tene Cwap. :P
05:51 masak :P
05:51 masak diakopter: the underlying idea is that the tree spider handles the traversal, and talks to the regex nodes about what they want to do.
05:51 Tene Maybe if I /nick TimT0ady first then you'll believe me...
05:51 masak diakopter: the regex nodes may answer DESCEND, MATCH or FAIL, depending on their mood.
05:52 masak Tene: we'll never know now, will we? :)
05:52 diakopter no continuations?
05:52 masak nope.
05:52 Tene I should have taken a continuation first...
05:52 masak and based on my current progress, I believe it's very possible to do it this way.
05:52 diakopter so it can't backtrack?
05:52 masak yes, it can.
05:52 masak it stores 'savepoints' to where it might backtrack later.
05:53 masak but that's no problem, since there's no recursion involved anymore.
05:53 masak so there's no call stack to unroll and re-roll.
05:53 masak just the spider chugging along through the tree, talking to the nodes.
05:54 diakopter what is stored in a savepoint?
05:54 masak diakopter: an emulated call stack, along with a small environment for each node in it.
05:55 diakopter hm
05:55 * diakopter impressed
05:56 masak hold that thought till I get it working properly. :)
05:56 diakopter does this run in ng or rakudo
05:56 masak rakudo master.
05:56 * diakopter tries it on p6eval machine
05:56 diakopter how speedy is it
05:56 masak but as I said, it currently botches up the string position.
05:56 masak so it doesn't quite work.
05:57 diakopter for backtracking, yeah, each node needs to keep its start... but... oh
05:57 diakopter oh
05:57 masak that sounds like the oh of realization.
05:57 diakopter this is very very similar to my conception a few generations ago
05:57 masak uh oh :)
05:58 diakopter I don't mean to be rude/condescending
05:58 masak not at all.
05:58 masak why did you abandon it?
05:58 diakopter I struggled with simulating the stack
05:58 diakopter (and keeping all the states so backtracking would work properly)_
05:58 masak tell me about it. :)
05:59 diakopter ended up with jsmeta...
05:59 masak what's that?
05:59 diakopter http://code.google.com/p/jsmeta/source/browse/trunk/src/ojs-mgrammar-grammar.js
05:59 diakopter that's the grammar for Microsoft's MGrammar
06:00 diakopter in the jsmeta regex engine
06:00 masak ok.
06:00 diakopter I call the automata "continuations"
06:01 masak is it anything like STD.pm's model?
06:01 diakopter here are the parser/automata primitives: http://code.google.com/p/jsmeta/source/browse/trunk/src/ojs-parser.js
06:01 diakopter MGrammar's not much like STD
06:01 diakopter but the jsmeta engine is dynamic enough to emulate STD's capabilities
06:01 masak ok.
06:02 diakopter esp. since yesterday/today I figured out LTM
06:02 masak oooh!
06:02 diakopter finally
06:02 masak I'd be happy to talk more about it... but now I'll head home and go to bed. :)
06:02 diakopter took me a year or three
06:02 diakopter ok' nite
06:03 masak diakopter: good, then you can help me grok it. :)
06:03 masak 'night
06:31 kaare joined #perl6
06:35 envi^home joined #perl6
07:01 gfx joined #perl6
07:04 quantumEd joined #perl6
07:10 justatheory joined #perl6
07:14 reid06 joined #perl6
07:15 pure1111_ joined #perl6
07:17 reid06 joined #perl6
07:19 Minthe joined #perl6
07:20 moritz_ good morning
07:22 envi_office2 joined #perl6
07:23 JimmyZ good morning
07:27 brrant joined #perl6
07:40 moritz_ sjohnson: (backlog) I don't use v5.010 but 5.010
07:40 mberends joined #perl6
07:41 p6eval joined #perl6
07:42 moritz_ rakudo: say 'test'
07:42 p6eval rakudo 7914ca: test␤
07:42 mberends Wolfman2000++ # clear and to the point Advent blog post, very nice
07:45 JimmyZ oh http://perlcabal.org/svn/pugs is down?
07:46 moritz_ works for me
07:47 JimmyZ Internal Server Error
07:54 mikehh joined #perl6
07:58 pnate2 joined #perl6
08:17 ihrd joined #perl6
08:19 iblechbot joined #perl6
08:20 rfordinal joined #perl6
08:49 felipe joined #perl6
08:52 Su-Shee joined #perl6
08:52 Su-Shee good morning.
08:53 dukeleto good localtime()
09:06 diakopter moritz_: I noticed you hadn't fixed the & in /en/article/longest-token-matching
09:08 am0c joined #perl6
09:26 constant joined #perl6
09:27 moritz_ diakopter: I'll change a to \w so that it has a chance to match
09:35 fridim_ joined #perl6
09:59 pnate joined #perl6
10:01 diakopter moritz_: cool
10:02 diakopter TimToady: thanks for ltm discussion earlier
10:02 frettled Ooh, p6eval is back!
10:02 frettled hugme: hug p6eval
10:02 * hugme hugs p6eval
10:02 diakopter moritz_: yes, I signalled hangup to p6eval and it returned
10:02 scp1 left #perl6
10:15 JimmyZ_ joined #perl6
10:22 pnate2 joined #perl6
10:22 mikehh joined #perl6
10:29 mikehh joined #perl6
10:47 beggars joined #perl6
10:56 pnate joined #perl6
11:09 pnate2 joined #perl6
11:11 alexn_org joined #perl6
11:15 jaldhar joined #perl6
11:16 sjohnson howdy guys
11:16 sjohnson rakudo:  say "hi"
11:16 p6eval rakudo 7914ca: hi␤
11:21 pnate joined #perl6
11:27 PZt joined #perl6
11:43 pmurias joined #perl6
11:44 pmurias diakopter: hi
11:45 pnate2 joined #perl6
11:51 envi^home joined #perl6
11:51 Khisanth joined #perl6
11:51 pnate2 joined #perl6
11:51 pmurias joined #perl6
11:51 alexn_org joined #perl6
11:51 fridim_ joined #perl6
11:51 brrant joined #perl6
11:51 quantumEd joined #perl6
11:51 astrojp joined #perl6
11:51 IllvilJa joined #perl6
11:51 RonOreck joined #perl6
11:51 dukelet0 joined #perl6
11:51 perigrin_ joined #perl6
11:51 synth joined #perl6
11:51 arthur-_ joined #perl6
11:51 amackera joined #perl6
11:51 allbery_b joined #perl6
11:51 KatrinaTheLamia joined #perl6
11:51 Exodist joined #perl6
11:51 PacoLinux joined #perl6
11:51 cotto joined #perl6
11:51 drbean_ joined #perl6
11:51 mj41_ joined #perl6
11:51 ruz joined #perl6
11:51 obra joined #perl6
11:51 d^_^b joined #perl6
11:51 lest_away joined #perl6
11:51 Juerd_ joined #perl6
11:51 yves joined #perl6
11:51 solarion joined #perl6
11:51 pnu joined #perl6
11:51 Helios joined #perl6
11:51 kolibrie joined #perl6
11:51 dj_goku joined #perl6
11:51 nothingmuch joined #perl6
11:51 estrabd_ joined #perl6
11:51 ssm joined #perl6
11:51 sunnavy joined #perl6
11:51 krakan joined #perl6
11:51 wolverian joined #perl6
11:51 carlin joined #perl6
11:51 idemal joined #perl6
11:51 stepnem joined #perl6
11:51 avuserow joined #perl6
11:51 bloonix joined #perl6
11:51 mofino joined #perl6
11:51 omega__ joined #perl6
11:51 awwaiid joined #perl6
11:51 moritz_ joined #perl6
11:51 mathw joined #perl6
11:51 draxil42 joined #perl6
11:51 LionMadeOfLions joined #perl6
11:51 sjn joined #perl6
11:51 yahooooo joined #perl6
11:51 pmichaud joined #perl6
11:52 dukelet0 joined #perl6
11:52 nothingmuch joined #perl6
11:52 mj41 joined #perl6
11:52 arthur-- joined #perl6
11:53 payload joined #perl6
11:54 Khisanth joined #perl6
11:54 pnate2 joined #perl6
11:54 pmurias joined #perl6
11:54 alexn_org joined #perl6
11:54 fridim_ joined #perl6
11:54 brrant joined #perl6
11:54 quantumEd joined #perl6
11:54 IllvilJa joined #perl6
11:54 RonOreck joined #perl6
11:54 perigrin_ joined #perl6
11:54 allbery_b joined #perl6
11:54 Exodist joined #perl6
11:54 PacoLinux joined #perl6
11:54 cotto joined #perl6
11:54 drbean_ joined #perl6
11:54 mj41_ joined #perl6
11:54 d^_^b joined #perl6
11:54 lest_away joined #perl6
11:54 Juerd_ joined #perl6
11:54 estrabd_ joined #perl6
11:54 dj_goku joined #perl6
11:54 pnu joined #perl6
11:54 solarion joined #perl6
11:54 PacoLinux_ joined #perl6
11:54 KatrinaTheLamia joined #perl6
11:55 Helios joined #perl6
11:55 pmurias_ joined #perl6
11:56 drbean joined #perl6
11:56 colomon rakudo: say (1/60000 + 1/60000).perl
11:56 p6eval rakudo 7914ca: 1/30000␤
11:56 ssm joined #perl6
11:56 colomon yay, p6eval is completely up-to-date.
11:57 frettled c/wii Khisanth
11:57 frettled oups.
11:58 allbery_b joined #perl6
11:58 estrabd joined #perl6
11:58 IllvilJa Hello!  Does parrot yet support statements like
11:58 IllvilJa use Term::ANSIColor <color>;
11:58 IllvilJa to ensure that I explicitly export the function Term::ANSIColor::color() to my program's main scope?
11:59 IllvilJa (Hm... a freenode breakdown... not what I needed now..)
11:59 moritz_ s/parrot/rakudo/
11:59 moritz_ no, not yet
11:59 moritz_ but export tags are implemented, iirc
11:59 pnate2 joined #perl6
11:59 moritz_ sub foo() is export(:BLAH) { ... }
12:00 moritz_ use Term::ANSIColor :BLAH;
12:00 IllvilJa Yes.  That export tag is accepted.
12:00 IllvilJa Ok...
12:01 IllvilJa use Term::ANSIColor :functions;
12:01 IllvilJa works as expected!  Both that the 'use' statement does not emit an error, but also as I can now directly call $color.
12:01 SmokeMachine joined #perl6
12:02 IllvilJa Which means that I got a usable Term::ANSIColor for Perl 6 ready!  Very basic, only supports colors (and reset) and only supports the 'color' function found in the Perl 5 module, but still!
12:02 moritz_ cool
12:02 moritz_ IllvilJa++
12:03 IllvilJa Wait with the increment until I h
12:03 IllvilJa ...until I got the stuff up on github ;-)
12:03 moritz_ push it!
12:03 IllvilJa I will. Just need to update the README file.
12:05 moritz_ IllvilJa: what's your github id?
12:06 IllvilJa 'illvilja' is the textual ID, but I suspect you mean some numerical ID?
12:06 moritz_ hugme: add illvilja to proto
12:06 * hugme hugs illvilja. Welcome to proto!
12:06 IllvilJa Thanks!
12:07 moritz_ IllvilJa: now you can add your project to projects.list in the proto repo
12:07 IllvilJa Um... exact what does that mean?
12:07 IllvilJa Aha.
12:07 ruoso joined #perl6
12:07 moritz_ http://github.com/masak/proto/
12:07 moritz_ then people can you proto to download/build/install it
12:09 meppl joined #perl6
12:10 athaba joined #perl6
12:13 pmichaud good morning, #perl6
12:14 moritz_ hi pmichaud
12:17 pnate joined #perl6
12:20 IllvilJa Hm... jEdit really needs a syntax mode for perl6.  Using the 'perl' syntax mode when editing perl6 code is slightly confusing (syntax highlighting, code indent etc get's a bit messy).
12:21 IllvilJa Anyone knows about what the status is for "syntax support" for perl6 in various editors? (vi, vim, emacs etc)
12:21 IllvilJa Just generally curious.
12:21 moritz_ vim and padre are well supported
12:21 frettled IIRC, [particle]++ has fixed that for vim.
12:21 Juerd_ There's a perl6.vim somewhere IIRC
12:21 IllvilJa Ok
12:21 frettled And he (if it was him) also fixed cperl-mode for Emacs, IIRC.
12:21 moritz_ emacs has a syntax file in the pugs repo too, but it's likely very much out of date
12:22 moritz_ literal++ did very good work on perl6.vim
12:22 frettled It's in one of the source trees (padre, pugs or rakudo)
12:22 frettled moritz_: ah, then it was literal++ and not [particle], ah well.
12:22 szabgab the vim this used to be in pugs/tools/
12:22 zloyrusskiy joined #perl6
12:22 moritz_ http://github.com/petdance/vim-perl
12:22 * frettled is lagging behind moritz_, haha.
12:22 moritz_ szabgab: that's not updated anymore
12:22 szabgab but apparently it is not there any more ;-)
12:22 IllvilJa Aha.  I'll perhaps have a look at that.  Hopefully the diff between a syntax mode for perl and one for perl6 isn't that huge (and thus I can use that to figure out how to express that difference in jEdit...)
12:23 IllvilJa Thanks for the input!
12:23 szabgab and we recently saw azawawi back on IRC
12:23 szabgab so maybe the Padre version will e update soon
12:23 moritz_ I guess IllvilJa doesn't yet know how difficult it is to parse Perl 6 :-)
12:23 payload1 joined #perl6
12:24 Juerd_ moritz_: Much easier than Perl 5, I've heard :)
12:24 moritz_ Juerd_: you have? well...
12:24 IllvilJa moritz_: Ignorance is strength ;-) (and worse is better, and failure is success... etc)
12:24 moritz_ both require predictive parsing
12:31 carlin pointme: pointme
12:32 carlin right, no memory :(
12:32 frettled carlin: Hiho!  Did you figure out what was wrong with zaslon's parsing of my blog's feed?
12:32 pnate2 joined #perl6
12:32 carlin frettled: no, haven't had a chance to look at it yet
12:33 pointme joined #perl6
12:33 carlin pointme: pointme
12:33 pointme Pointme is a suave, good-looking bot that links to proto projects, provides information about other bots and refers to itself in the third person
12:33 carlin What? WHy wasn't that working before?
12:34 moritz_ maybe an old version was running?
12:34 frettled pointme: carlin
12:34 pointme Sorry, I don't know anything about that project
12:34 frettled tsk tsk ;)
12:35 moritz_ carlin: maybe you could change 'that project' to $input
12:35 moritz_ so that "pointme: myself" results in "Sorry, I don't know anything about myself" :-)
12:39 carlin ah, good idea
12:39 pointme joined #perl6
12:39 carlin pointme: myself
12:39 pointme Sorry, I don't know anything about myself
12:40 frettled pointme: carlin
12:40 pointme Sorry, I don't know anything about carlin
12:40 frettled \o/
12:40 frettled carlin: and there is no way for input to do nasty stuff either?
12:42 carlin hmm, possibly
12:42 carlin pointme: foo \r\nPRIVMSG #perl6 :rakudo: say 1
12:42 pointme Sorry, I don't know anything about foo \r\nPRIVMSG #perl6 :rakudo: say 1
12:42 carlin maybe the unicode version of that would work
12:44 frettled Code interpolation?
12:45 carlin pointme: {say 'oh hai'}
12:45 pointme Sorry, I don't know anything about {say 'oh hai'}
12:49 alexn_org joined #perl6
12:50 pnate joined #perl6
12:55 payload joined #perl6
12:58 payload joined #perl6
13:00 kst joined #perl6
13:06 IllvilJa One step closer to world domination: Term::ANSIColor for Perl6 now pushed to github: http://github.com/illvilja/Perl6-Term--ANSIColor
13:06 IllvilJa Dangerous times lies ahead!
13:07 SimonAW joined #perl6
13:07 SimonAW Hai everyone!
13:07 moritz_ hi
13:11 arthur-_ joined #perl6
13:13 freefly joined #perl6
13:16 pnate2 joined #perl6
13:28 ihrd left #perl6
13:32 fridim_ left #perl6
13:38 pnate joined #perl6
13:38 lehler joined #perl6
13:38 jnthn oh hai...
13:38 pugs_svn r29246 | pmichaud++ | Add my topic for Dec 5.
13:38 * jnthn is back in family home in england.
13:42 lehler has perl6 active shell like python?
13:42 pmichaud It's not yet specced to provide one, no.
13:43 moritz_ but Rakudo provides a simple one
13:43 pmichaud Rakudo has an interactive mode, but it has a few problems yet (which we will fix soon)
13:43 moritz_ and it will be improved
13:43 pugs_svn r29247 | pmichaud++ | [pm.txt]:  Another question for TimToady.
13:43 pugs_svn r29247 |
13:43 pugs_svn r29247 | Pm-12: S05:2121 says that smartmatching against regex/token/rule
13:43 pugs_svn r29247 | automatically anchors the match at both ends.  What construct is
13:43 pugs_svn r29247 | actually responsible for performing the anchor checks?  Is it the
13:43 pugs_svn r29247 | smart match operator (infix:<~~>), the .ACCEPTS method on the
13:43 pugs_svn r29247 | regex/token/rule, an option/flag passed to the regex/token/rule,
13:43 pugs_svn r29247 | or something else?
13:44 jnthn Eww. Do we really want to anchor by defualt?
13:44 pmichaud jnthn: it's only for regex/token/rule
13:44 * jnthn had always assumed otherwise...
13:44 pmichaud i.e.:    'foo' ~~ regex { abc }
13:44 pmichaud note that this is different from
13:44 pmichaud 'foo' ~~ / abc /
13:45 pmichaud which doesn't anchor by default.
13:45 jnthn pmichaud: How do we differentiate between regex { abc } and /abc/ ?
13:45 pmichaud jnthn: that's essentially my question, yes.
13:45 jnthn OK, then good questin.
13:45 jnthn It can't be type I guess, since both are Regex, I guess...
13:45 pmichaud but it's not hard to differentiate at a number of levels.  regex { abc }   is a regex declarator, while /abc/  is a quoted form
13:45 pmichaud it *can* be type, if we have multiple types of Regex :-)
13:45 jnthn Well, yeah, syntactically is possible.
13:46 jnthn Well, yes, true. :-)
13:46 jnthn But a special AnonymousRegex time feels slightly clunky.
13:46 pmichaud in some sense having /abc/  do something special at compile time is not much different from the way that 'token' and 'rule' are specialized forms of 'regex'
13:47 pmichaud anyway, differentiating the various forms isn't a big issue... I just need to know TimToady's conception of where that differentiation takes place :)
13:48 moritz_ I thought that YourGrammar.parse($str) is implicitly anchoring too
13:48 moritz_ so make regex/token/rule are anchored too
13:48 jnthn pmichaud: aye.
13:48 moritz_ and $str ~~ token { bar } just calls (token { bar }).parse($str)
13:49 moritz_ or something
13:49 pmichaud except that   token { bar }   isn't a Gramamr.
13:49 moritz_ right. Tokens are only implicitly anchored to the start
13:49 pmichaud (and there doesn't appear to be anything in the spec that says that Grammar.parse enforces anchoring)
13:50 pmichaud We also don't have a .parse method on regexes (yet?)
13:50 moritz_ right
13:50 moritz_ I was just speculating, not answering :-)
13:50 pmichaud I'm just taking target practice on your speculations :)
13:51 moritz_ as if you needed some :-)
13:51 pmichaud technically,  $str ~~ token { bar }    calls  (token { bar }).ACCEPTS($str)
13:51 pmichaud which then may forward to some (as yet undeclared) method of Regex
13:51 * jnthn thought .match
13:52 pmichaud actually, .match is defined on Any
13:52 pmichaud as in   $x.match(/regex/)
13:55 moritz_ so one possible way would be to make /regex/ a different type than regex { ... }
13:55 moritz_ like RegexLiteral
13:55 pmichaud right.  I don't like that way much.
13:55 moritz_ and Regex and RegexLiteral have different .ACCEPT methods
13:55 pmichaud I'd prefer it to be a flag or something that happens at compilation, much like  'token'  is really   'regex :ratchet'
13:56 moritz_ regex :literal ?
13:56 pmichaud well, it's not just literalness
13:56 pmichaud for example, what happens with     'abc' ~~ token :c(0) { ... }
13:56 pmichaud does the :c flag override the anchoring?
13:57 moritz_ I'd expect though (from pure intution, not from spec)
13:58 moritz_ s/though/so/
13:58 pmichaud anyway,   /abc/  isn't much more "literal" than  token { abc }
13:58 takadonet joined #perl6
13:58 pmichaud /abc/  is really more of a shorthand for   rx { abc }
13:58 takadonet morning all
14:00 colomon joined #perl6
14:04 AzaTht joined #perl6
14:05 frettled carlin: I thought of a way to reduce spamminess from zaslon in case of error: 1) Retain a history of URLs that have been shared with the channel, and don't repeat a previous URL.  2) Simple syntax check for the URL, check that there is at least https?://(\w+\.?)+/  (or something like that)
14:07 ruoso joined #perl6
14:07 pnate2 joined #perl6
14:08 AzaTht will junctions allow code like "if defined all(...)"
14:08 JimmyZ joined #perl6
14:08 moritz_ yes
14:08 payload joined #perl6
14:08 moritz_ rakudo: say ?( defined all(undef, 3, 4))
14:09 p6eval rakudo 7914ca: 1␤
14:09 PerlJam Wolfman2000: US Central
14:09 moritz_ ouch
14:09 AzaTht ␤?
14:09 moritz_ AzaTht: that's a character indicating a newline
14:09 AzaTht ok
14:09 AzaTht see that now
14:09 AzaTht was really small
14:09 moritz_ anyway, it seems that defined() is doesn't autothread, which seems odd to me
14:09 AzaTht but it returned 1?
14:10 moritz_ yes, that looked wrong
14:10 pmichaud rakudo:  say defined all(undef, 3, 4)
14:10 moritz_ rakudo: say ?( all(undef, 3, 4) ~~ *.defined )
14:10 p6eval rakudo 7914ca: 1␤
14:10 p6eval rakudo 7914ca: set_integer_keyed() not implemented in class 'Sub'␤in Main (file <unknown>, line <unknown>)␤
14:10 AzaTht hehe
14:10 jnthn rakudo: say ?(all(undef, 3, 4).defined)
14:10 p6eval rakudo 7914ca: 1␤
14:10 pmichaud .defined is defined on Object
14:10 pmichaud so it won't autothread
14:10 moritz_ oh
14:11 jnthn pmichaud: Oh. I'd thought it was only things that junction defined directly.
14:11 jnthn But yes, you're probably right.
14:11 jnthn We could make it the first of those I guess.
14:12 jnthn That's almost certianly why it doesn't work, anyway.
14:13 carlin frettled: The problem is that when your feed is downloaded with HTTP::Client, the link is showing up as http://\r\nfef\r\n//howcaniexplainthis.blogspot.com/2009/12/oslopm-past-and-future.html -- some sort of encoding issue?
14:13 moritz_ rakudo: say ?( none(undef, 3, 4) ~~ undef )
14:13 p6eval rakudo 7914ca: 0␤
14:13 moritz_ rakudo: say ?( none(4, 3, 4) ~~ undef )
14:13 p6eval rakudo 7914ca: 1␤
14:13 frettled carlin: wtf?
14:13 moritz_ AzaTht: that works :-)
14:14 frettled carlin: that's just _weird_
14:16 moritz_ the link looks fine in the rss, so I guess it's an issue with HTTP::Client
14:16 carlin Yeah
14:17 frettled Oh, I think I know.  I tried to use that feedburner thing, maybe that has added something..
14:17 carlin No, I'd say it's some weird issue with HTTP::Client and it has been luck that we haven't struck it before now
14:18 AzaTht moritz_: hmm
14:19 AzaTht moritz_: so defined should/could be removed then
14:20 moritz_ AzaTht: not sure yet
14:20 kolibrie joined #perl6
14:20 moritz_ I'd like it to autothread on junctions, but I don't see how it can be made to work easily
14:21 jnthn ohto, the defined sub *call* perhaps should, even if the method form is a problem.
14:21 carlin Gotta sleep, 'night all
14:21 moritz_ if the signature is defined(Any), defined(Mu) won't work
14:21 frettled carlin: sleep tight
14:21 moritz_ and give you a dispatch error
14:21 moritz_ 'night carlin
14:22 Infinoid_ hrm.  what happened to dalek?
14:23 moritz_ no idea
14:24 hcchien joined #perl6
14:24 rgrau joined #perl6
14:24 * Infinoid_ restarts dalek
14:25 dalek joined #perl6
14:25 d4l3k_ joined #perl6
14:26 Infinoid_ oops, one moment
14:26 dalek joined #perl6
14:26 d4l3k_ joined #perl6
14:26 Infinoid_ (so THAT'S why it was running with --debug.)
14:28 dalek joined #perl6
14:31 colomon joined #perl6
14:46 Infinoid_ moritz_: I'm fiddling with dalek and github branches today
14:47 pnate joined #perl6
14:48 mariano__ joined #perl6
14:52 mariano__ joined #perl6
14:59 pnate2 joined #perl6
14:59 diakopter Infinoid_: why --debug :)
15:00 Infinoid_ diakopter: We don't care about all of the protocol dumps to the log, but daemontools does require it to be running in the foreground (which is a side effect of --debug)
15:01 Infinoid_ I would rather get the latter without the former.  But I have other things to fix first
15:02 diakopter ah :)
15:02 Wolfman2000 *yawn* morning
15:03 diakopter 'morn
15:10 diakopter Infinoid_: feel free to rm the old logs, imho
15:15 pnate joined #perl6
15:32 athaba joined #perl6
15:33 pugs_svn r29248 | duff++ | [perl6advent] Add XCF file for blog header
15:33 pugs_svn r29249 | duff++ | [perl6advent] claim regex topic; use ??? for unknown topics
15:36 payload joined #perl6
15:37 * colomon has been doing too much Perl 6 programming -- keep on trying to test my C++ code without recompiling....
15:38 jeremiah eh
15:38 jeremiah or heh rather. :)
15:41 moritz_ akshually I made the same error with Perl 6 too
15:41 moritz_ I compiled some modules to PIR
15:41 moritz_ and later on changed the .pm
15:41 frettled Oh, teh fail!
15:41 moritz_ and forgot that I had the .pir files around, and wondered why my updates didn't work
15:42 frettled That's like working with mod_perl in 2000 and not knowing how the caching works, I can still feel the lingering shame.
15:42 moritz_ that's when I put a die("OH NOEZ") in my code
15:42 moritz_ and if it doesn't die horribly, I know my code doesn't run
15:43 colomon moritz_: True, I may had that issue in Perl 6 a few times, too.  I've been wondering if there is any real point in compiling to PIR when you're in the midst of development.
15:43 colomon Who put the santa hat on Camelia for the Advent blog?  It's cute!
15:44 moritz_ the problem is more that I thought I had finished developing for a while, and worked on the tests
15:44 moritz_ and wanted them to run faster, so I precompiled
15:44 moritz_ and I also assumed (foolishly) that newer .pm files would be preferred over older .pir files
15:49 moritz_ hugme: tweet rakudoperl Perl 6 advent calendar day 3: Static types and multi subs http://perl6advent.wordpress.com/2009/12/03/day-3-static-types-and-multi-subs/
15:49 * hugme hugs moritz_; tweet delivered
15:49 moritz_ it's amazing how much fits into 140 chars :-)
15:52 colomon_ joined #perl6
15:52 Psyche^ joined #perl6
15:57 moritz_ :q
15:57 * hugme hugs moritz_, good vi(m) user!
15:58 frettled hehe
15:58 frettled :wq!
15:58 * hugme hugs frettled, good vi(m) user!
15:59 moritz_ I think it recognizes :(wq|w|q|x)!? or so
16:00 colomon :blah
16:02 arnsholt What does :x do?
16:02 arnsholt I use vim, but never seen :x
16:02 moritz_ :x is the same as :wq
16:02 * hugme hugs moritz_, good vi(m) user!
16:02 pmichaud can I get perl6/nqpbook added to hugme ?
16:03 moritz_ pmichaud: sure
16:03 pmichaud thanks
16:03 pmichaud off to lunch
16:07 moritz_ hugme: reload
16:07 hugme moritz_: reloaded successfully
16:07 moritz_ hugme: show nqpbook
16:07 hugme moritz_: the following people have power over 'nqpbook': PerlJam, TimToady, [particle], jnthn, masak, moritz_, pmichaud. URL: http://github.com/perl6/nqpbook/
16:08 pnate2 joined #perl6
16:11 masak joined #perl6
16:11 masak oh hai, #perl6
16:12 diakopter masak: yo
16:12 diakopter moritz_: what's nqpbook
16:12 Wolfman2000 ...I forgot. Is Perl 6 supposed to have a Complex type?
16:13 [particle] it's not quite a pbook
16:13 masak diakopter: I've ironed out a few remaining bugs in the tree spider. it does some of the backtracking correctly now.
16:13 moritz_ diakopter: I know as much as you: the name, and the location of the repo
16:13 diakopter oh :)
16:13 masak Wolfman2000: Rakudo has a Complex type. see S32/Num.
16:13 moritz_ and the spec too :-)
16:13 colomon And Perl 6 is supposed to have it, too.
16:13 diakopter masak: you slept only a couple hours??
16:14 colomon rakudo: say 1+3i
16:14 p6eval rakudo 7914ca: 1 + 3i␤
16:14 [particle] rakudo: my Complex $oedipus = 1 + 1i;
16:14 p6eval rakudo 7914ca:  ( no output )
16:14 masak diakopter: it was almost seven hours. I feel rested. :)
16:14 moritz_ [particle]++
16:14 nihiliad joined #perl6
16:14 colomon rakudo: say (-1 + 0i).sqrt
16:14 p6eval rakudo 7914ca: 0 + 1i␤
16:15 colomon rakudo: say 8.roots
16:15 masak diakopter: though I can probably make a blog post about how regex backtracking can cause ordinary programmers to lose sleep. :P
16:15 p6eval rakudo 7914ca: No applicable candidates found to dispatch to for 'roots'␤in Main (file <unknown>, line <unknown>)␤
16:16 colomon rakudo: say 8.Num.roots
16:16 p6eval rakudo 7914ca: No applicable candidates found to dispatch to for 'roots'␤in Main (file <unknown>, line <unknown>)␤
16:16 colomon rakudo: say 8.Num.roots(3)
16:16 p6eval rakudo 7914ca: 2 + 0i-1 + 1.73205080756888i-1 + -1.73205080756888i␤
16:16 diakopter rakudo: our Complex @Messiah = 0...Inf
16:17 p6eval rakudo 7914ca:  ( no output )
16:17 colomon rakudo: say 8.Num.roots(3).perl
16:17 p6eval rakudo 7914ca: [Complex.new(2, 0), Complex.new(-1, 1.73205080756888), Complex.new(-1, -1.73205080756888)]␤
16:18 moritz_ rakudo: say Complex.new(-1, -1.73205080756888)**3
16:18 p6eval rakudo 7914ca: 8.00000000000003 + 1.61702895938378e-14i␤
16:18 moritz_ close enough :-)
16:19 Wolfman2000 as a reminder, which bots report on the github projects?
16:19 moritz_ dalek does
16:20 Wolfman2000 ...well, dalek is here. I just added a branch to the book project, and I was wondering when it would report it
16:20 masak it might not report branch additions.
16:20 moritz_ nope, dalek only tracks master
16:20 Wolfman2000 ...bah
16:20 Wolfman2000 well, I didn't want to risk breaking master with my commit
16:21 Wolfman2000 I added quick documentation about the Complex type
16:22 masak Wolfman2000: trust the anarchy. if someone doesn't like the commit, they'll change or revert it.
16:23 masak Wolfman2000: whereas in a branch, it'll likely be forgotten despite being good.
16:23 Wolfman2000 masak: just did a merge and push
16:23 Wolfman2000 let's see if it gets reported
16:23 masak excellent.
16:23 frettled (kaboom!)
16:23 dalek book: 23e0b1a | (Jason Felds)++ | src/builtins.pod:
16:23 dalek book: Add basics for the complex type.
16:23 dalek book: review: http://github.com/perl6/book/commit/23e0b1a93878cbd6e37669f75b648efc7f69e2b6
16:24 Wolfman2000 frettled: won't be on for long to enjoy the ops, sorry
16:24 masak frettled: thanks. :) won't stick, though.
16:24 moritz_ that doesn't look like the branch :-)
16:24 frettled It's just in case crisis management becomes necessary.
16:24 Wolfman2000 moritz_: I did a fast forward merge
16:24 moritz_ ah
16:25 ejs joined #perl6
16:27 vamped joined #perl6
16:29 KyleHa joined #perl6
16:29 KyleHa left #perl6
16:32 vamped is there a changelog for the synopses?
16:32 TimToady svn log
16:33 vamped please spell it out - how I use it.
16:34 TimToady do you have svn on your system?
16:36 vamped i believe i do
16:36 TimToady I presume you haven't checked out a copy of pugs yet.
16:36 vamped correct
16:37 TimToady if not, say svn co http://svn.pugscode.org/pugs somewhere you don't mind it creating pugs/
16:37 vamped i'm browsing at svn.pugscode.org now trying to find something
16:37 TimToady it might or might not
16:38 vamped k. command is running.
16:38 moritz_ svn log http://svn.pugscode.org/pugs/docs/Perl6/Spec | less
16:38 moritz_ takes a while, but doesn't require a checkout
16:38 frettled checking out is nice, there's lots of code that's stable. :)
16:38 frettled i just takes a whiiiiiile
16:39 frettled s/i j/it j/
16:40 TimToady moritz_: shh, we're trying to trick vamped into accepting a commit bit :)
16:40 vamped lol @ TimToady :D
16:41 snearch joined #perl6
16:41 vamped baby steps here.
16:41 TimToady yes, well, everyone starts that way :)
16:42 Cyrus Except Chuck Norris of course.
16:42 masak naturally.
16:42 TimToady sprang fully formed from the forehead of Athena, was it?
16:42 Cyrus I believe so, yes.
16:43 masak swimming &
16:44 vamped ok. so I did 'snv co ...' and apparently have installed pugs.
16:44 moritz_ downloaded, not installed :-)
16:44 TimToady anyhoo, after a checkout, cd pugs/docs/Perl6/Spec, and then just svn log any file you're interested in
16:44 vamped TimToady: so I can browse around in there. anyplace specific I should look?
16:44 cdarroch joined #perl6
16:45 TimToady did I mention I'm a time traveler?
16:45 vamped beautiful. I think that's what I needed!
16:45 moritz_ somebody should hack up hugme to add people to pugs, too
16:46 moritz_ or maybe just convert it to git, and move it to github
16:46 moritz_ that would make things easier for me :-)
16:47 linkd_ joined #perl6
16:47 TimToady I'm still in the baby steps stage with git
16:47 Cyrus TimToady: How are you liking it?
16:48 Infinoid_ moritz_: You mean like I did with dalek? :)
16:48 TimToady it's fast, and the interface seems relatively opaque and ill-designed
16:48 justatheory joined #perl6
16:49 TimToady and people spend a lot of time asking questions about it, just like Perl 6 :)
16:49 moritz_ TimToady: there's nothing better for learning than being forced by a project to which you wish to contribute :-)
16:49 TimToady and it seems like a higher barrier to entry to noobies than svn is
16:50 moritz_ not sure about that - I think you just have a hard time with git if you're used to svn :-)
16:51 diakopter phenny: tell masak this is informative/instructive: http://code.google.com/p/v8/source/browse/trunk/src/jsregexp.cc
16:51 phenny diakopter: I'll pass that on when masak is around.
16:51 TimToady could be
16:51 moritz_ anyway, I think the time is not yet there for the big switch
16:52 avar TimToady: It's also hard to learn Perl 6 if you've only used BASIC :)
16:53 TimToady nah, just put the sigils on the other end, plus a few other minor details  :P
16:54 ruoso joined #perl6
16:55 diakopter phenny: tell masak the comments, I mean
16:55 phenny diakopter: I'll pass that on when masak is around.
16:55 dalek joined #perl6
16:55 TimToady but let me say that I wouldn't be surprised if 6PAN ends up just being a registry of git servers and version hashes :)
16:56 moritz_ oh my, it's been long since I've programmed in QBASIC
16:56 Infinoid_ @400000004b17ed961f2dc9e4 github: rakudo has branch ng with feed url http://github.com/feeds/rakudo/commits/rakudo/ng
16:56 lambdabot Unknown command, try @list
16:56 Infinoid_ @400000004b17ed961f2dcdcc github: rakudo/ng will output to freenode/#perl6
16:56 lambdabot Unknown command, try @list
16:56 Infinoid_ moritz_: can you test that? :)
16:57 moritz_ Infinoid_: test what? the feed URL?
16:57 Infinoid_ moritz_: Nah, commit something clever to the ng branch
16:57 Infinoid_ (either branches should work now, or I've broken all of the github feeds entirely)
16:57 moritz_ Infinoid_: ok
16:58 TimToady eitehr the leading @ goes, or lambdabot goes
16:59 Infinoid_ TimToady: That was a cutpaste from the local log file, the feed output won't have it.
16:59 TimToady darn, was hoping to have an excuse to shoot lambdabot
16:59 ng_feed rakudo-ng: moritz++
16:59 ng_feed rakudo-ng: remove SVN inherited $Id$
16:59 moritz_ TimToady: I plan to kickban lambdabot as soon as zaslon works reliably and tracks karma
16:59 moritz_ or mubot
17:00 moritz_ or any of those, forgot which :-)
17:00 Wolfman2000 moritz_: I assume that karma tracking includes nickname linking
17:00 TimToady I wish these logs would not put the ++ line spearately
17:00 moritz_ Wolfman2000: that's entirely optional
17:00 Infinoid nice ng_feed bot.  What's the polling interval?
17:00 TimToady *sep
17:00 moritz_ Infinoid: 60s or so
17:00 TimToady it more or less doubles the noise in # of lines
17:00 moritz_ TimToady: when dalek works, ng_feed can go
17:01 moritz_ s/when/if/ :-)
17:01 TimToady ah, I see dalek has improved in that regard
17:02 TimToady but I highlight dalek lines in blue, and some days #parrot has a little bit of info among all the logging
17:02 TimToady s/info/chat/ :)
17:02 moritz_ :-)
17:02 Infinoid TimToady: I am now accepting patches to http://github.com/Infinoid/dalek-plugins/blob/master/modules/local/karmalog.pm, if you want a smaller output format
17:02 Infinoid Ok.  Is dalek broken, or just slow?  It does use fairly long polling intervals...
17:03 moritz_ Infinoid++ # tricking TimToady into using git :-)
17:03 TimToady sorry, the "patches welcome" trick doesn't work well on me for some obscure reason...
17:04 PerlJam Infinoid: all you have to do is disable the pugs svn repo and provide a git repo in its place  :)
17:04 Infinoid I doubt I could dodge the lightning bolts from that... :)
17:04 * PerlJam encourages Infinoid to trick TimToady into using git
17:06 Wolfman2000 I'll be back after college stuff...but even when I get back, expect me to work on my finals instead of Perl.
17:06 Wolfman2000 moritz_: I'll look forward to your testing gift today.
17:10 stephenlb joined #perl6
17:10 Infinoid ok, dalek is obviously busted.  back to work I guess...
17:10 payload joined #perl6
17:11 moritz_ good thing that I can delete more $Id$ lines for testing :-)
17:12 diakopter Infinoid:  --debug :P
17:13 Tene http://blog.plover.com/2006/09/11/ -- old, but still a good read.
17:13 Infinoid diakopter: Unfortunately, --debug combined with the daemontools log rotation means the logs only have about a 15 minute lifespan.  Which is actually worse for debugging :)
17:14 dalek joined #perl6
17:15 Infinoid moritz_: that fixed an issue, hopefully the only one
17:20 dalek joined #perl6
17:20 Infinoid uh...
17:23 vamped left #perl6
17:25 pmichaud TimToady: (git)  maybe look quickly at http://www.pmichaud.com/2009/pres/pytx-git/slides/slide14.html ?  That presentation covers 98% of my git usage, and is aimed at svn folks.
17:27 pmichaud There's also https://trac.parrot.org/parrot/wiki/GitCookbook-Pm
17:27 dalek joined #perl6
17:54 mdxi i am really digging the advent calendar entries so far <3 <3 <3
17:56 moritz_ and thre's another one coming up in 6 hours :-)
17:56 takadonet mdxi: me too
17:56 * takadonet hates that he has to wait
17:59 moritz_ any objections to deleting the trackbacks that the updating of the first posting caused?
18:01 cognominal joined #perl6
18:05 meteorswarm joined #perl6
18:06 Intensity joined #perl6
18:08 moritz_ hugme: add moritz to nqpbook
18:08 * hugme hugs moritz. Welcome to nqpbook!
18:09 TimToady my current formulation of roles seems to have lost an important distinction
18:10 TimToady 0 but Bool should add a $.Bool attribute, while 0 but True should merely add a true .Bool method without adding an attribute
18:10 TimToady s/roles/enums/
18:30 colomon joined #perl6
18:31 Lorn joined #perl6
18:41 pnate joined #perl6
18:44 pmichaud currently Rakudo (ng and otherwise) have a build/ subdirectory that holds scripts used during the build process.  Should build/ instead be used for holding files generated during the build process...?
18:46 colomon why not generated/ or something like that?
18:47 pmichaud just wondering if there's a standard for such things
18:47 meppl joined #perl6
18:50 colomon for what it's worth, I've always used build/ in my projects for exactly what Rakudo uses it for currently.  no idea if that's a standard somewhere.
18:52 PerlJam if it ain't broke, don't fix it  :)
18:56 ShaneC joined #perl6
18:56 pmichaud I noticed that the book project is using build/ for the generated files
18:59 schnee joined #perl6
18:59 PerlJam beware the hobogoblin of foolish consistency
18:59 * PerlJam is a pithy saying generator today
19:00 pugs_svn r29250 | lwall++ | make pair values sequences both associative and positional
19:00 pugs_svn r29250 | revise enum mixins to distinguish attribute vs method mixin
19:01 pmichaud uh oh
19:01 * pmichaud runs off to read r29250
19:01 colomon pmichaud: does that uh oh imply work has been done in ng enums?  :)
19:02 pmichaud no, but I'm interested in that "pair values sequences" part
19:02 colomon what's a Seq?  I mean, I recognize the general intent, but not the specific class name.
19:02 TimToady I decided that PairSeq wasn't the same as Seq[Pair], since the latter doesn't imply associative
19:03 pmichaud it's basically a non-lazy list
19:03 pmichaud more precisely, a Seq is a list that doesn't have any lazy evaluation components
19:03 amackera left #perl6
19:03 pmichaud PairSeq wfm
19:03 TimToady I'm also thinking of fiddling with the name PairVal, which is ugly
19:04 schnee Hi folks. Are parrot questions (stupid newbie-ish ones, too) on-topic here, or does parrot have its own channel?
19:04 pmichaud TimToady: in case you didn't notice in backscroll, there's a new pm.txt question for you :)
19:04 colomon Hey, as long as I've got you guys here... are the hyper operators lazy?
19:04 pmichaud schnee: #parrot on irc.parrot.org
19:04 Tene schnee: There's a #parrot on irc.perl.org
19:04 schnee Thanks. :)
19:04 TimToady colomon: no
19:04 schnee left #perl6
19:04 TimToady they're hyper eager
19:05 TimToady laziness doesn't mean anything unless you order the operations
19:05 TimToady hyper specifically disorders them
19:05 colomon makes sense.  thank you!
19:06 TimToady though in theory a S<<op>> could be lazy
19:06 colomon oooooooo.... :)
19:07 colomon I can't imagine any use for lazy hyper, but thought it might be implied in the spec.  (I'm studying up for my next Advent entry.)
19:08 colomon .oO(Unless you consider "incredibly cool" an actual use case....)
19:08 mathw Evening
19:09 amackera joined #perl6
19:10 * TimToady is wondering whether, since named pairs are always mutable, we should make Pair immutable and Named mutable (in value)
19:10 TimToady that is PairVal --> Pair and Pair --> Named
19:10 TimToady and then we get PairSeq and NamedSeq
19:12 colomon re PairValSeq... should we start working on implementations of these things for ng?
19:12 colomon are roles well-supported enough yet?
19:12 * moritz_ wonders about the current type inflation, and if they are worth it
19:12 mikehh joined #perl6
19:12 mathw rakudo: (^4).perl.say
19:12 p6eval rakudo 7ef386: 0..^4␤
19:13 mathw rakudo: for ^4 -> { .say }
19:13 p6eval rakudo 7ef386: Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤
19:13 TimToady moritz_: wasn't till I made them both Associative and Positional
19:13 TimToady before, PairSeq was redundant with Seq[Pair]
19:14 TimToady perhaps PairMap and NamedMap, to avoid assumption of only Seq-ness
19:14 colomon mathw:  :O
19:14 mathw colomon: I was quite surprised by this on the train this morning, but I've only just got hold of a wifi connection
19:14 mathw This is also interesting
19:14 mathw rakudo: for ^4 -> $x { $x.say }
19:14 p6eval rakudo 7ef386: 0␤1␤2␤3␤
19:15 mathw oh
19:15 mathw mine didn't do that
19:15 mathw mine said 0 1 2 3 4
19:15 colomon oh!
19:15 colomon rakudo: for ^4 { .say }
19:15 p6eval rakudo 7ef386: 0␤1␤2␤3␤
19:15 colomon the problem is the ->
19:16 TimToady will think it over in the shower... &
19:16 pmichaud -> { ... }   is a block with zero parameters
19:16 mathw rakudo: for 1, 2, 3, 4 -> { .say }
19:16 p6eval rakudo 7ef386: Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤
19:16 mathw hmm
19:16 mathw okay
19:16 mathw this is not what I saw earlier
19:16 mathw I may be imagining things
19:16 pmichaud so the $_ in .say ends up being uninitialized
19:17 pmichaud rakudo:  $_ = 'xyz';  for ^4 -> { .say }
19:17 mathw That said, Google have drained out most of my brain today so I should perhaps just step back and leave it
19:17 p6eval rakudo 7ef386: xyz␤xyz␤xyz␤xyz␤
19:17 * colomon is just glad rakudo wasn't trying to make { .say } the variable name...
19:17 colomon mathw: interview?
19:18 mathw colomon: five of them
19:18 mathw utterly, utterly mad
19:18 mathw kind of fun though
19:18 colomon mathw: ugh
19:18 colomon mathw: hope it went well!
19:18 mathw two of them by videoconference
19:18 mathw I think it was okay
19:18 mathw we'll find out...
19:18 mathw ...some time
19:22 colomon ng: say defined(Nil)
19:22 p6eval ng 69ce77: 1␤
19:23 colomon Is Nil supposed to be defined?  3 of the 4 test failures in S32-scalar/defined.t are because the tests expect Nil.defined to be false.
19:24 PerlJam I thought Nil was supposed to be our universally undefined thing (like undef in Perl 5)
19:25 pmichaud PerlJam: that's Mu
19:25 moritz_ but Nil is meant to be undefined, yes
19:26 pmichaud ng:  say ().defined
19:26 PerlJam Mu is a type.  Nil is a value.
19:26 p6eval ng 69ce77: 1␤
19:26 * colomon is surfing the spectest again looking for ng LHF....
19:27 pmichaud I'm guessing an empty parcel in item context should become Mu
19:27 PerlJam I guess using Mu as a value gives us something that's undefined, but I thought that thing was Nil
19:27 PerlJam (or perhaps I just don't see the need for Mu *and* Nil)
19:27 pmichaud Nil is an empty list in list context
19:27 pmichaud Mu isn't
19:27 pmichaud that's why they're different
19:27 moritz_ PerlJam: both are rather undef, but they behave differently in li... what pmichaud said
19:28 pmichaud (Nil).elems   # 0
19:28 pmichaud (Mu).elems   # 1
19:28 PerlJam Hmm.
19:29 PerlJam (Nil,Nil,Nil) = ($a,$b,$c);   # what happens here?
19:29 moritz_ nothingmuch :-)
19:29 pmichaud my guess is that you end up with more values than containers warning
19:30 pmichaud also, Nil isn't a container
19:30 pmichaud (although it could be treated specially in assignment, yes, same as * is treated specially)
19:31 PerlJam rakudo: (Nil).elems.say
19:31 p6eval rakudo 7ef386: 0␤
19:31 PerlJam rakudo: (Nil,Nil,Nil).elems.say
19:31 p6eval rakudo 7ef386: 3␤
19:31 * PerlJam has trouble reconciling that.
19:31 pmichaud rakudo's implementation of Nil is known to be bogus.
19:31 pmichaud ng:  (Nil,Nil,Nil).elems.say
19:31 p6eval ng 69ce77: 0␤
19:31 moritz_ ng++
19:31 PerlJam So, Nil is the absence of something.  It is the ultimate nothing?
19:31 pmichaud ng:  (Mu, Mu, Mu).elems.say
19:31 p6eval ng 69ce77: 3␤
19:32 pmichaud Nil is an empty parcel in list context and Mu in item context
19:32 pmichaud actually, I can be more precise than that
19:32 pmichaud Nil is an empty parse
19:32 pmichaud arg
19:32 pmichaud Nil is an empty parcel.
19:33 pmichaud An empty parcel is a 0-element list in list context, and Mu in item context.
19:33 PerlJam pmichaud: for both rvalues and lvalues?
19:33 pmichaud afaik, yes.
19:34 PerlJam okay, I'm good then  (I hadn't considered Nil much)
19:35 PerlJam pmichaud: is it still snowing?
19:36 pmichaud no, it turned to rain yesterday late morning and all the snow washed away
19:36 pmichaud but there's a possibility of snow again tonight, I think
19:36 PerlJam I heard we might get snow down here.
19:37 pmichaud hmmm, weather.com seems to think we get no precipitation at all...
19:37 * pmichaud checks nws
19:38 pmichaud nws says flurries but no significant accumulation for our area
19:38 pmichaud most of the heavier snow will be south of us
19:39 moritz_ $here we had some snow in October, and none since
19:39 pmichaud PerlJam: I'm thinking you won't see snow, though -- at least not from the nws forecast
19:39 PerlJam moritz_: that's because it moved to Texas!  :)
19:39 PerlJam pmichaud: I was doubtful when I heard it  :)
19:41 PerlJam pmichaud: tomorrow we're doing another CBI BBQ and I got wrangled into being the pit master.  What a great time to be outdoors! The high is going to be in the low 40s
19:41 colomon Container::roundrobin  ?
19:42 colomon dang, no chance of passing any of the S32-container tests without working Ranges.
19:42 pmichaud colomon: it's still high on my list
19:42 pmichaud just waiting for the stars to align
19:43 moritz_ good answer :-)
19:43 PerlJam which stars?
19:43 PerlJam * * * *  <-- these are all aligned.
19:43 pmichaud the ones in my head
19:43 moritz_ what's the plan for the December release? having ng replace master at that point?
19:43 colomon "When the moon is in the Seventh House
19:43 colomon And Jupiter aligns with Mars"
19:43 pmichaud moritz:  that's my current plan/goal, yes.
19:44 pmichaud moritz_: even if it means we take a hit on spectest regression a bit
19:44 pmichaud (I'm hoping that won't happen)
19:44 colomon December release is two weeks from today?
19:45 pmichaud yes.
19:45 pmichaud I think it's do-able.
19:45 pmichaud I'll make a more final decision next Thursday.
19:46 pmichaud (that decision might be to wait another couple of days to decide, though :)
19:47 colomon I guess I can imagine getting it done in two weeks if a bunch of key stuff gets in place over this weekend....
19:47 pmichaud yes, that's also my expectation.
19:48 moritz_ like, lists and ranges :-)
19:48 colomon proper operator method dispatching.
19:49 colomon enums.
19:49 * colomon could hack around enums for trig, now that he thinks about it.  hacking around the lack of pi might be trickier.
19:50 pmichaud oh, we can probably cheat on pi
19:50 colomon ng: my %h = a => 'b', c => 'd'; say %h.invert.WHAT
19:50 p6eval ng 69ce77: Method 'invert' not found for invocant of class 'List'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
19:50 colomon whoops.  meant to say
19:51 colomon rakudo: my %h = a => 'b', c => 'd'; say %h.invert.WHAT
19:51 p6eval rakudo 7ef386:  ( no output )
19:51 * colomon hopes ng: continues working after ng becomes master, because it's easier to type....
19:51 PerlJam +1
19:52 colomon ng: say (3 4 1).sort
19:52 p6eval ng 69ce77: Confused at line 1, near "say (3 4 1"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
19:52 colomon ng: say (3, 4, 1).sort
19:52 p6eval ng 69ce77: Method 'sort' not found for invocant of class 'List'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
19:55 colomon Ugh.  I think porting sort to ng is a bit beyond my parrot-fu.
19:57 TimToady I think PairVal is turning into Enum, and PairValSeq is turning into EnumMap
19:57 iblechbot joined #perl6
19:58 PerlJam TimToady: +1
19:59 PerlJam colomon: Henry Ford (I think) used to say whether you think you can do something or think you can't do something, either way you'll be right.
20:05 brrant joined #perl6
20:10 rgrau joined #perl6
20:12 colomon TimToady: Would Enum's .mapping return an EnumMap then?  (Wow, I was all puzzled when I started this comment, but it looks so reasonable now....)
20:18 frettled You puzzled yourself beyond confusion, caused an overflow, and wrapped around to understanding?
20:26 moritz_ ng: say 1 cmp 2
20:26 p6eval ng 69ce77: Confused at line 1, near "say 1 cmp "␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
20:26 moritz_ oh wow
20:26 moritz_ that doesn't make List.sort exactly easier
20:26 pmichaud I'm guessing infix:<cmp> isn't defined yet...?
20:26 pmichaud ng:  1 cmp 2
20:26 p6eval ng 69ce77: Confused at line 1, near "1 cmp 2"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
20:29 moritz_ ng: 1 <=> 2
20:29 p6eval ng 69ce77: Confused at line 1, near "1 <=> 2"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
20:30 moritz_ pmichaud: where you like infix:«<=>» to live? Any-num.pm?
20:35 * moritz_ was surprised to read Rakudo Star in his play list, but it turned out to be just "Radio Star" (Video killed the...) :-)
20:35 frettled heh
20:38 sjohnson hey dudes
20:45 * colomon still intends to write "The Star of Rakudo" sometime before April....
20:47 PerlJam http://www.starregistry.com/
20:54 frew_ joined #perl6
20:57 lisppaste3 moritz_ pasted "This patch makes compilation of Test.pm barf" at http://paste.lisp.org/display/91542
20:57 diakopter Rakudo Star -> Roar At Dusk
20:57 moritz_ pmichaud, jnthn: it seems that ng doesn't like infix:«something» in the setting (see nopaste above)
21:01 pmichaud moritz_: noted, will fix.
21:01 pmichaud yes, should go in Any-num.pm
21:03 colomon moritz_: try cmp?
21:04 moritz_ colomon: cmp relies on <=> for numbers :(
21:04 moritz_ trying leg right now
21:04 pmichaud probably worth re-checking the specification there, too.  There were some updates since cmp/eqv/etc were implemented
21:05 moritz_ rakudo: say "a" leg "b"
21:05 p6eval rakudo 7ef386: -1␤
21:07 pmichaud 21:04 <moritz_> colomon: cmp relies on <=> for numbers :(
21:07 pmichaud that's backwards, I think.
21:07 moritz_ right
21:07 moritz_ but...
21:08 moritz_ the spec is *very* unclear about how cmp works
21:08 moritz_ The cmp is just like the eqv above except that instead of returning Bool::False or Bool::True values it always returns Order::Increase, Order::Same, or Order::Decrease (which numerify to -1, 0, or +1).
21:08 pmurias joined #perl6
21:08 moritz_ but eqv does equality test, not ordering test
21:09 pugs_svn r29251 | lwall++ | rename PairVal to Enum and PairValSeq to EnumMap, PairSeq to PairMap.
21:09 pugs_svn r29251 | rename .mapping to .enums and apply consistently to hashes and arrays too
21:09 pugs_svn r29251 | (.enums is now the readonly analog to .pairs)
21:09 pmichaud In other words, C<< $a <=> $b >>
21:09 pmichaud is now equivalent to C<+$a cmp +$b>.
21:09 pmichaud S03:3043
21:09 moritz_ found that too, yes
21:10 pmichaud so I think infix:«<=>»  should be written as  { +$a cmp +$b }   :-)
21:10 moritz_ For boolean comparison operators with non-coercive cmp semantics, use the generic before and after infix operators.
21:10 moritz_ so cmp is coercive
21:10 moritz_ to Str?
21:10 pmichaud no
21:10 moritz_ erm, Stringy?
21:10 pmichaud no
21:10 pmichaud leg is coercive
21:11 moritz_ so how does cmp compare a Foo and a Bar?
21:11 pmichaud I think it doesn't
21:11 pmichaud just like eqv doesn't compare a Foo and a Bar
21:11 IllvilJa moritz_: you said that the build stuff (Configure.pm and friends) used in your Perl 6 JSON::Tiny module on github were a bit outdated.  I tried to search for the latest version of that Configure stuff but it is a problematic word to search for on github.
21:11 moritz_ pmichaud: it does
21:11 moritz_ pmichaud: it just returns false
21:11 moritz_ (eqv, that is)
21:11 moritz_ by default
21:11 IllvilJa moritz_: do you know where the latest such Configure.pm can be downloaded?
21:11 pmichaud hey, I'm just reading what it says in the spec!  :-)
21:12 moritz_ IllvilJa: I think that's a good question for masak++
21:12 moritz_ or mberends++
21:12 pmichaud (yes, I agree, cmp seems problematic.  I wrote asking for clarification earlier in the year -- not sure what happened with it)
21:12 * pmichaud searches the logs
21:12 IllvilJa moritz_: I realized that my Perl 6 Term::ANSIColor is pushed without any installation scripts (which is an intresting variant of fail).
21:12 IllvilJa moritz_: thanks for the tip...
21:12 * pmichaud cannot search the log, as it doesn't search for 3-letter terms :-(
21:12 moritz_ IllvilJa: the master plan[tm] is to delegation installation work to proto
21:13 IllvilJa Is proto ready for this paramount taskL
21:13 pmichaud anyway, my guess is that   Bar cmp Foo returns a failure
21:13 Su-Shee left #perl6
21:13 IllvilJa s/taskL/task/
21:13 IllvilJa Actually, I'll have a look at proto myself...
21:14 moritz_ maybe guesswork from spec + perl 5 is this: cmp compares numerically if numbers are found, and stringy otherwise. And you're welcome to add more specific versions
21:14 moritz_ IllvilJa: there's a branch in proto called installed-modules
21:15 moritz_ or something like that
21:15 pmichaud moritz_: that sounds familiar-ish
21:15 pmichaud moritz_: I know there was something about getting cmp to be more dwimmy for sort
21:15 TimToady yes, I'm not sure we settled on a consistent set of semantics for non-type-match cmp
21:16 TimToady but we did discuss it at one point
21:16 IllvilJa moritz_: reading the proto docs, and realize that anyone running './proto Term::ANSIColor' is in for some disappointment ;-).
21:16 pmichaud I'm fine with moritz's formulation for the interim
21:16 IllvilJa moritz_: but I think I can fix that though.
21:16 moritz_ std: 1 after 2
21:16 p6eval std 29250: ok 00:01 105m␤
21:16 pmichaud or, perhaps better is
21:16 moritz_ std: 1 !after 2
21:16 p6eval std 29250: ok 00:01 104m␤
21:17 pmichaud sub infix:<cmp>(Numeric $a, Numeric $b) { ... }
21:17 pmichaud sub infix:<cmp>(Stringy $a, Stringy $b) { ... }
21:17 pmichaud and let everything else fail
21:17 pmichaud (multis on those subs)
21:17 * moritz_ is against failing
21:17 moritz_ that would imply that <foo 3>.sort would return nonesense
21:18 moritz_ because <3> is an Int
21:18 pmichaud you have that problem even with the formulation you give, though.
21:19 moritz_ well, in my formulation it would at least sort "foo" vs. 3 with string semantics
21:19 pmichaud would it?
21:19 pmichaud how about
21:19 pmichaud <foo 3 4 5 6 bar baz>.sort
21:19 pmichaud can you be sure that all of those will be string sorts?
21:19 pmichaud er, string comparisons?
21:20 frettled Perhaps we need a smart sort, just like we have smart match.
21:20 moritz_ frettled: that's what we're discussing right now
21:20 moritz_ pmichaud: they would be mixed, by both proposals
21:20 pmichaud (I'm not entirely comfortable with the idea that <3> is an Int, btw.  It feels like the dwimminess knob is a little too high there.)
21:20 IllvilJa Realized to my shock that ./proto were written in... Perl5!
21:21 frettled moritz_: I thought it looked like that.
21:21 IllvilJa No wonder it is claimed to be temporary...
21:21 moritz_ IllvilJa: but only a small part of proto is
21:21 jnthn I think at one time there was a suggestion that cmp would order by type first, and then sort within type.
21:21 masak joined #perl6
21:21 pmichaud jnthn: cmp is binary
21:21 jnthn I'm not sure that's a nice answer though.
21:21 masak o/
21:21 phenny masak: 16:51Z <diakopter> tell masak this is informative/instructive: http://code.google.com/p/v8/source/browse/trunk/src/jsregexp.cc
21:21 phenny masak: 16:55Z <diakopter> tell masak the comments, I mean
21:21 frettled jnthn: it's only a nice answer if that's how smart matching works ;)
21:21 * masak has a look
21:21 pmichaud jnthn: did you mean that "sort" would order by type?
21:22 IllvilJa masak: \o
21:22 jnthn pmichaud: Well, if consistent answers are given by some type ordering, I guess you could get those semantics to fall out of cmp.
21:22 pmurias joined #perl6
21:22 masak IllvilJa: oh hai. is it cold in Gothenburg too?
21:22 jnthn pmichaud: Defining a sane type ordering is kinda...well...weird though.
21:22 IllvilJa masak: I have no idea :-).  Stockholm is pretty much freezing though.
21:22 jnthn pmichaud: I don't really think it'll fly.
21:23 masak IllvilJa: :)
21:23 jnthn England is foggy and cold.
21:23 IllvilJa masak: I guess that Gothenburg is a bit warmer (that is, almost freezing) but having more drizzle and clouds...
21:23 pmichaud jnthn: I'm not sure what that type ordering would be.  This gets back to my shock when I discovered that Parrot's "cmp" opcode returns true for both  cmp "three", 3 and   cmp 3, "three"  :-)
21:23 IllvilJa jnthn: Gothenburg in Sweden is a bit like England, wheatherwise...
21:23 frettled pmichaud: oh, ouch
21:23 jnthn IllvilJa: Eww.
21:24 TimToady that's why I used the term "consistent" above :)
21:24 jnthn pmichaud: lol. Surprise!
21:24 jnthn pmichaud: It's kinda hard to spec a good answer though... :-)
21:24 TimToady cmp || leg has its own set of surprises
21:24 jnthn Or reason why one is better than the other. But yes, one should be false. :-)
21:24 IllvilJa masak: I pushed my Perl 6 Term::ANSIColor to github without including any sort of installation facilities.  I'm currently looking into proto and I wonder, is the Configure.pm found at proto/lib/Configure.pm the best one to use as a start?
21:25 masak IllvilJa: yes, I think it is.
21:25 IllvilJa masak: Good.  Another thing: what is the best practice when it comes to denoting versions of modules?
21:25 masak IllvilJa: there's a script called create-new-project...
21:25 IllvilJa masak: I'll look into that.
21:25 masak IllvilJa: the practice I've used so far is to ditch versions... :)
21:26 IllvilJa masak: doesn't that make proto and friends a bit... unhappy?
21:26 masak IllvilJa: no.
21:26 masak proto is too simple to mind.
21:26 masak and the whole ecosystem has not really "needed" versions yet.
21:26 pmichaud in general, anything that helps point out proto's deficiencies is considered to be a Win :-)
21:27 pmichaud since proto's goal is to self-terminat :)
21:27 IllvilJa masak: but how does it support "update" then?  Or will it "blindly" download and install the available version if it happens to be different from the installed?
21:27 pmichaud *self-terminate
21:27 masak IllvilJa: it blindly updates.
21:27 moritz_ Method 'set_candidates' not found for invocant of class 'MultiSub'
21:27 masak IllvilJa: not even 'if' :)
21:28 moritz_ again that *!$%$ error
21:28 moritz_ I wonder what I did wrong this time
21:28 IllvilJa masak: I see.  So "update" and "install" is essentially identical ;-)
21:28 japhb masak, any progress on merging the installed modules branch of proto back to master?
21:28 masak IllvilJa: under the hood, yes.
21:28 masak IllvilJa: the have wrappers which work slightly differently, though.
21:28 masak japhb: not lately, no.
21:29 japhb dang
21:29 masak japhb: there's still quite a bit of work to be done.
21:29 masak japhb: I would really like to have it merged before ng merges, though.
21:29 japhb I'd really like to finish getting plumage to be a proper superset of proto.
21:29 masak or rather, I would really like to have Emmentaler up and running in some form by then.
21:29 IllvilJa masak: Cool then.  I promise not to abuse the similarity between "update" and "install" just for amusement (but it is tempting in a sick way).
21:29 japhb Emmentaler?
21:30 masak japhb: why are you basing things on proto? :/
21:30 pmichaud .oO( ...fondue? )
21:30 masak japhb: Emmentaler is a cheese with big holes in it.
21:30 * IllvilJa note to myself: "ignore versions, or keep it to '0.0.0'"
21:30 masak japhb: it's also the name of a project I haven't started writing on, for monitoring the Perl 6 projects ecosystem.
21:30 japhb masak, I'm not.  I'm wanting there to be no reason preventing everyone from wholesale moving to plumage.  Including having all proto projects already have imported metadata in Plumage's repo.
21:31 masak japhb: I'm impressed by the energy both you and mberends++ put into creating non-bumpy transitions for people.
21:31 japhb And the metadata import script is stalled on the fact that proto currently doesn't do installed projects, so a lot of stuff doesn't make sense.
21:31 IllvilJa moritz_: did you notice that your "swearing" looked like potential perl code...
21:32 moritz_ IllvilJa: i chose it in a way that it's not valid Perl 6 code :-)
21:32 IllvilJa p6eval: *!$%$ error
21:32 IllvilJa Let's find out...
21:32 moritz_ std: *!$%$
21:32 p6eval std 29251: [31m===[0mSORRY![31m===[0m␤Obsolete use of $% variable; instead, in Perl 6 please use Form module at /tmp/EBI1yXtQVg line 1:␤------> [32m*!$%[33m⏏[31m$[0m␤FAILED 00:01 106m␤
21:33 IllvilJa Aha, that's the way to do it.
21:33 IllvilJa moritz_: std is better at swearing that we are.
21:33 moritz_ IllvilJa: hey, it was written by an US citizen :-)
21:34 masak diakopter: interesting reading indeed.
21:34 * moritz_ gets seriously frustrated with ng's obscure errors
21:34 TimToady std: *!$#$
21:34 p6eval std 29251: [31m===[0mSORRY![31m===[0m␤Obsolete use of $# variable; instead, in Perl 6 please use .fmt at /tmp/AGBdgpEmuO line 1:␤------> [32m*!$#[33m⏏[31m$[0m␤FAILED 00:01 104m␤
21:34 * [particle] hears the sound of motivation
21:35 TimToady std: *!$x$
21:35 p6eval std 29251: [31m===[0mSORRY![31m===[0m␤Confused at /tmp/5GHcQ8OuQ1 line 1:␤------> [32m*!$x[33m⏏[31m$[0m␤    expecting any of:␤  POST␤   infix or meta-infix␤        infix stopper␤    method arguments␤ postfix␤        postfix_prefix_meta_operator␤       standard stopper␤       statement
21:35 p6eval ..modifier loop␤    terminator␤     whitespace␤…
21:35 moritz_ adding infix:sym<cmp> to the grammar works
21:36 moritz_ adding our multi sub infix:<cmp>(Num $a, Num $b) { } to the setting leads to that strange error
21:36 moritz_ it couldn't possibly be related to the fact that there's a pirop with the same name?
21:36 pmichaud shouldn't be.
21:36 * jnthn missed the error?
21:36 TimToady most operators should eventually move back out of the grammar into the setting, but some operators are always going to be more basic than others, and dependency loops need a circularity saw
21:36 pmichaud especially because there's not a <=> pirop :-)
21:36 TimToady or to be broken into primitive vs advanced versions
21:37 moritz_ pmichaud: I'm trying cmp now
21:37 moritz_ jnthn: Method 'set_candidates' not found for invocant of class 'MultiSub'
21:37 moritz_ jnthn: while compiling Test.pm
21:37 pmichaud moritz_: right, but since you were getting the same error for <=>, I doubt it's related to the pirop of the same name.
21:37 jnthn moritz_: That means there's a PIR :multi definition somewhere too.
21:37 jnthn (usually)
21:37 jnthn ng: 1 cmp 2
21:37 p6eval ng 69ce77: Confused at line 1, near "1 cmp 2"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
21:38 jnthn hm
21:38 pmichaud I'm not sure that infix:<cmp> is defined
21:38 pmichaud sorry
21:38 pmichaud infix:sym<cmp>
21:38 moritz_ it's not
21:38 jnthn Maybe a PIR version of the op sneaked in.
21:38 moritz_ but it is here locally
21:38 moritz_ src/cheats/relops.pir
21:38 moritz_ jnthn++
21:39 jnthn ah
21:39 jnthn Then you just need to toss the version in there.
21:39 pmichaud (feel free to toss all of them, now that we can do operators in setting)
21:39 jnthn Also moving anything that's in cheats that's an op into operators.pm is most welcome.
21:39 jnthn *no* opertators should be defined in PIR at all.
21:40 jnthn (We just had to do 'em that way to get a start)
21:40 pmichaud there may be some that have to be PIR, but they'll be rare.
21:40 moritz_ ng: say 1.Bool
21:40 p6eval ng 69ce77: Method 'Bool' not found for invocant of class 'Integer'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
21:40 moritz_ ng: say (?1).perl
21:40 p6eval ng 69ce77: 1␤
21:40 moritz_ (?1) so looks like regex syntax :-)
21:40 moritz_ ng: say (?1).WHAT
21:40 p6eval ng 69ce77: Int()␤
21:41 moritz_ ng: say True
21:41 p6eval ng 69ce77: 1␤
21:41 moritz_ ng: say True.WHAT
21:41 p6eval ng 69ce77: Bool()␤
21:41 jnthn pmichaud: Even if the body has to be PIR, there's no reason they can't be in a Perl 6 decl, no?
21:42 pmichaud jnthn: there may be a couple that need to be in Perl 6 decl, because we can't rely on the setting being compiled for stage0
21:42 pmichaud sorry, that may need to be in PIR decl
21:42 TimToady shopping is hard, let's go bootstrapping!
21:42 pmichaud or I can imagine there would be other scenarios that require the operators to be in PIR
21:42 jnthn pmichaud: that'd mean we were invoking rather than just using them at compile time, though, no?
21:42 pmichaud jnthn: BEGIN
21:42 pmichaud jnthn: and CHECK :-)
21:43 jnthn pmichaud: OK, we'll see how far we can cope.
21:43 jnthn pmichaud: I really would rather we don't have any in PIR if at all avoidable though.
21:43 jnthn Since then they're not overridable.
21:43 moritz_ you can disable BEGIN and CHECK for stage0 compilers, I think
21:43 pmichaud I agree, I'd rather not have any in PIR either.  I'm just not prepared to make an absolute statement about it.
21:43 masak I'm so curious about what Japanese twitterers write about Perl 6, but Google Translate often provides scant assistance: http://twitter.com/uasi/status/6307676197 -- something about 'come and go with the madness'?
21:44 pmichaud (or to confirm an absolute statement :-)
21:44 ShaneC joined #perl6
21:44 pmichaud there's a reason why the current operators are given in src/cheats, however :-)
21:44 pmichaud which is that we really think they shouldn't be there.
21:45 pmichaud moritz_: since BEGIN is essentially what adds operators into the current parser, I'm not sure we can just disable it.
21:45 pmichaud (we might make sure those operators are already present, however.)
21:46 pmichaud anyway, I agree fully with the overall goal of "no operators declared in PIR".  I'm not willing to make that an absolute requirement.
21:46 pmichaud s/willing/ready/
21:46 jnthn Oh, for sure it's not an ng goal.
21:46 jnthn More of a "where I want us to get to" :-)
21:47 jnthn It's a bit like my goal of ClassHOW and RoleHOW and friends being written in NQP. :)
21:47 moritz_ ng: say Order::Same
21:47 p6eval ng 69ce77: Null PMC access in invoke()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤
21:49 * masak subm... oh dang
21:50 moritz_ old habits die hard :-)
21:50 masak just you people wait... :)
21:50 masak sooner or later ng will merge, and then... bugfest! \o/
21:50 jnthn uh-oh. :-)
21:51 frettled jnthn: perhaps I should take masak on a «vacation» around the end of March?  :D
21:51 pmichaud more like end-of-december :)
21:51 frettled s/around/until/?
21:52 pmichaud no, we need masak++ bugreports
21:52 masak When ng is merged, every day will feel like vacation! :P
21:52 moritz_ nope, we need masak++ for so many tasks... :-)
21:52 ng_feed rakudo-ng: moritz++
21:52 ng_feed rakudo-ng: infix:<cmp>, leg, <=>
21:52 pmichaud sometimes the right tool for fixing things is a sledgehammer.
21:52 * masak leans against it
21:52 masak yup.
21:52 moritz_ what did I want to do in the first place?
21:52 moritz_ ah yes, sort.
21:53 frettled op to the sledgehammer
21:53 moritz_ if I had a hammer...
21:53 masak :)
21:53 moritz_ I'd destroy my laptop, and I'd be no use for you anymore
21:54 masak "When your only tool is a hammer, every problem looks like a thumb."
21:54 TimToady masak: it says, more or less: Going back and forth between PHP and Perl 6 drives you mad
21:54 masak TimToady: ah. I can imagine. :)
21:55 moritz_ that seems like a good combination for madness, yes
21:56 frettled TimToady: I don't see where Perl 6 comes into consideration.  ;)
21:56 pmichaud Is *THAT* what I've been doing wrong?  I've been going back and forth between PHP, Perl 6, and Parrot.
21:56 pmichaud Oops.
21:56 dalek rakudo/ng: f6b45df | moritz++ | src/ (4 files):
21:56 dalek rakudo/ng: infix:<cmp>, leg, <=>
21:56 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/f6b45df3b315d44deff756f83d6e97a5de511788
21:57 moritz_ don't tell me, I made a very stupid error in there :-)
21:57 moritz_ fix is on its way too
21:57 * pmichaud goes to see the very stupid error.
21:57 * pmichaud wonders which fix will appear.
21:58 moritz_ like, not defining the (Num, Num) candidate twice?
21:58 Infinoid ooh, dalek works
21:58 pmichaud and omitting the + on $b ?
21:59 moritz_ pmichaud: that too
22:00 pugs_svn r29252 | moritz++ | [t/spec] more simple tests for infix:<cmp>
22:02 dalek rakudo/ng: 5453739 | moritz++ |  (3 files):
22:02 dalek rakudo/ng: oops, had the infix:<cmp>(Num, Num) twice. We also pass S29-any/cmp.t now.
22:02 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/5453739f45a3bc28f6bbde5cf6f7830c3fc89b7b
22:03 ng_feed rakudo-ng: moritz++
22:03 ng_feed rakudo-ng: oops, had the infix:<cmp>(Num, Num) twice. We also pass S29-any/cmp.t now.
22:05 masak rakudo: say $a == 0; my $a
22:05 p6eval rakudo 7ef386: 1␤
22:05 masak just got bitten by that one. not funny. :/
22:06 masak I'm not complaining, though. Perl 6 is great. :)
22:06 moritz_ rakudo: my $a; say $a == 0
22:06 p6eval rakudo 7ef386: Use of uninitialized value␤1␤
22:06 masak it's just Rakudo which is less than wonderful sometimes. :P
22:06 moritz_ it's curious that with declaration later on it doesn't even warn
22:06 TimToady that's because that's not Perl 6  :P
22:06 masak :)
22:07 IllvilJa masak: I did use install and use ./proto to build and test my local copy of Term::ANSIColor, and everything worked nicely.
22:07 IllvilJa masak: but there is no 'make install'!
22:07 masak IllvilJa: that's correct.
22:08 masak IllvilJa: we're working on a branch to be able to install things.
22:08 IllvilJa masak: how is my rakudo perl6 supposed to know where to find the Term::ANSIColor library?
22:08 IllvilJa Aha!
22:08 moritz_ oh. Now I see why colomon++ thought migriting .sort was a bit much...
22:08 masak IllvilJa: but proto is woefully understaffed right now, so it's going slowly :/
22:09 masak IllvilJa: for 'how to find modules', the current state of the art is manually setting PERL6LIB.
22:09 IllvilJa Aha.
22:09 IllvilJa Well, that works I assume.
22:09 masak IllvilJa: the installed-modules branch will bring an end to that regime.
22:10 IllvilJa masak: Cool then.  Ok, this means that if I push the Makefile.in, Configure.pl, lib/Configure.pm and the test file under t into github, then this module will be more or less 'usable' [by Perl 6 current standards ;-) ]
22:11 masak IllvilJa: oh yes.
22:11 masak IllvilJa++
22:11 pmichaud moritz_: arggg, you missed the other error!
22:11 pmichaud 0
22:11 pmichaud our multi sub infix:«<=>»(Num $a, Num $b) {
22:11 pmichaud don't constrain $a and $b to Num :)
22:11 pugs_svn r29253 | lwall++ | [CORE.setting] add EnumMap and PairMap
22:11 pugs_svn r29253 | [STD] typename should slurp up whence closure
22:12 masak IllvilJa: if you want, you can also have the honours of adding the project to protos' projects.list.
22:12 moritz_ pmichaud: fixing now
22:12 masak s/s'/'s/
22:13 IllvilJa masak: I actually did that this morning, by the recommendation of others around here.
22:13 masak oh, excellent. I'm beind the times. :)
22:14 moritz_ clearly my brane has melted for today, and I'm not up for any serious hacking anymore tonight
22:15 pmichaud .sort really wants slices to work anyway
22:16 pugs_svn r29254 | lwall++ | [t/spec/TODO] catch mention of PairVal
22:17 masak I don't want to sound ominous, but I fear slices are up for a re-spec or two before we get them fully.
22:17 TimToady pmichaud: assuming the slices are of the same type, presumably cmp will already do it
22:17 frettled masak: in what way?
22:18 masak frettled: I don't know, I... I look at them in the spec and think "this will not work" :) I can't really motivate it, though.
22:18 moritz_ I also recall that some changes where decided that never made it to the spec
22:18 moritz_ like that @@a and @a are really two distinct variables
22:18 frettled The changes are just waiting for some tuits to make the rounds?
22:18 masak moritz_: right.
22:19 moritz_ ruoso++ worked hard to convince TimToady that it was the right thing, but never put it in the spec anywhere
22:19 masak frettled: no, I suspect it's a trap we need to trigger by falling into it, at least partly.
22:19 pmichaud the way 'sort' works in rakudo master is that it sorts a list of indices, and then returns a slice of the original list
22:20 pmichaud as opposed to attempting to re-order the elements in the list
22:20 IllvilJa masak: two more things... first one: in the projects.list, is it possible to provide some "descretionary" name for the module?  The thing is called Perl6-Term--ANSIColor because that is it's name on github but I would like to be able to refer to it as "Term::ANSIColor" and then have proto automagically understand that it is Perl6-Term--ANSIColor it should download and install.
22:20 moritz_ and it jumps through loops to work around TT#56, which is already fixed
22:20 frettled masak: so everyone's just holding their collective breaths for you to file a bug report ;)
22:21 IllvilJa masak: also, it would be nice to write Term::ANSIColor in the deps.proto file for other modules that depends on this module.
22:21 masak IllvilJa: I'm automatically against feature additions to proto. that's going the wrong way.
22:21 Wolfman2000 joined #perl6
22:21 pmichaud I don't recall that many hoops for TT #56... but that was quite a while ago :)
22:21 IllvilJa masak: well, whatever ends up replacing proto I would like to have that ability then ;-).
22:21 masak IllvilJa: I don't want us to work on making proto more future-proof. I want us to work on making a real installer. :)
22:22 masak IllvilJa: me too.
22:23 IllvilJa Second thing I wonder about is related to github: I pushed a bunch of things like the user 'illvilja', but the stats for 52 week activity has a grey bar and not a dark blue (the latter denoting commits by owner).
22:24 IllvilJa Is there something I should tweak to make github understand that any pushes I make are made by the actual owner of Perl6-Term--ANSIColor (that is, by me).  I think it actually understands it, at least partially, but fails to indicate the bare as blue anyway.
22:24 IllvilJa (A cosmetic problem, I know but my evil OCD twin complains about it...)
22:24 moritz_ IllvilJa: have you configured your email address in git to be the same as your github email address?
22:25 IllvilJa moritz_: I think so.  But I better double check.
22:26 IllvilJa moritz_: thanks.  That was it.  I did write some nonexisting mix up of my private and work mail addresses in the .gitconfig file.  Now I hope future pushes will work better :-).
22:31 payload joined #perl6
22:34 brrant joined #perl6
22:45 colomon joined #perl6
23:04 slavik left #perl6
23:07 colomon_ joined #perl6
23:09 colomon_ joined #perl6
23:12 colomon_ joined #perl6
23:17 IllvilJa joined #perl6
23:24 colomon moritz_: seriously.  I suspect that for me, reimplementing sort in Perl 6 would be easier than trying to make sense of that PIR.
23:28 masak yes!
23:28 masak I found a bug.
23:28 * masak does a sort of victory dance
23:28 masak rakudo: my %h; %h<x> = %h<x>; push [], {%h}
23:28 p6eval rakudo 7ef386:  ( no output )
23:29 masak locally, that segfaults.
23:29 masak rakudo: my %h; %h<x> = %h<x>; push [], {%h}; say "alive"
23:29 p6eval rakudo 7ef386:  ( no output )
23:29 masak I'll take that as proof and submit it. :)
23:29 * masak submit rakudobug
23:33 masak rakudo: my %h; %h<x> = %h<x>; say %h; say 'an even minimal segfault case'
23:34 p6eval rakudo 7ef386:  ( no output )
23:35 masak er, 'even more minimal'.
23:53 demond joined #perL6
23:55 ihrd joined #perl6
23:57 colomon_ joined #perl6
23:57 leedo joined #perl6
23:58 demond left #perL6

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

Perl 6 | Reference Documentation | Rakudo