Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-02-22

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:07 snarkyboojum joined #perl6
00:23 bkeeler This place sure is quiet on the weekend
00:24 REPLeffect joined #perl6
00:25 lue hello!
00:25 xabbu42 joined #perl6
00:26 colomon personally, I am beat.
00:26 bkeeler Just trying to wrap my head around the iterator code
00:26 lue It seems the weekends/afternoons are low points. Exactly the times I can get on. :(
00:27 bkeeler How did you house showing go?
00:28 colomon We got no feedback.
00:28 colomon but the house didn't burn down or anything.  :)
00:28 bkeeler Always a plus
00:29 lue \o/
00:29 colomon sitting here, zombified, watching the olympics and dazedly websurfing.
00:29 bkeeler Sucks that you can't be there when they show it
00:30 lue Did you count all your valuables? Check the safe? Pat them down as they left? :)
00:30 colomon probably just as well, I'd probably say something stupid to potential buyers.
00:30 colomon I think I saw the mp3 player was still there.  and obviously they didn't steal the wireless router.
00:30 bkeeler I've only sold one house, my dads, and it was such an easy sale
00:30 bkeeler Sold it to the Salvation Army
00:31 lue How is that obvious? Are the wireless... wires missing?
00:31 bkeeler They snapped it up, paid cash full price offer
00:31 colomon well, I'm talking to you somehow, and there is no ethernet cable attached to this computer.
00:31 colomon bkeeler: wow, that's awesome.
00:32 lue bkeeler: that's when you cough and say there was a misprint. Then jack the price one 0 :)
00:32 bkeeler Kind wish I'd waited though, I'd have got about $30-40K more if I'd waited 2 or 3 years
00:33 colomon but you never know.  If I'd sold three years ago, I'd have made money on the house, rather than losing $40k or more on it.
00:33 bkeeler ouch
00:33 lue If anyone knew for sure, they'd know so much else that they wouldn't find the right information in time
00:34 bkeeler Indeed, you never know, and it's not like I was in a position to be taking over the mortgage at the time anyway
00:34 colomon I've already grown accustomed to that hit.  Now I only worry about how much worse it can get before we get rid of it.
00:34 lue Pick up toothbrush... no no no no! Toothbrush first! Ack! Now there's toothpaste everywhere! Pick up toothbrush!!!
00:34 lue Flex your fingers... Awww! Not the hand holding the 'paste! The other hand!
00:35 bkeeler I bought my house at just the wrong time too, I feel your pain
00:35 bkeeler The Portland market is by no means as bad as some, but I'm sure I'm at least a little in the hole
00:36 bkeeler At least I can still afford the mortgage.  Didn't get sucked by those ARMs
00:37 lue I prefer Intel myself... (oh wait, not that kind of ARM) :D
00:39 bkeeler alpha: say grep { $_ % 2 == 0 }, 1..7;
00:39 p6eval alpha 30e0ed: OUTPUT«246␤»
00:39 bkeeler master: say grep { $_ % 2 == 0 }, 1..7;
00:40 bkeeler Hmm
00:40 bkeeler p6eval also takes the weekend off it seems
00:41 lue master: isn't valid.
00:41 bkeeler Oh right
00:41 bkeeler rakudo: say grep { $_ % 2 == 0 }, 1..7;
00:41 p6eval rakudo 68bb56: OUTPUT«246␤»
00:42 bkeeler Oh interesting
00:42 bkeeler My copy gets it wrong
00:42 colomon how so?
00:42 lue is your copy revision 68bb56 ?
00:42 bkeeler It outputs 111
00:43 colomon that's really weird.
00:43 bkeeler I'm up to date wrt to github
00:43 bkeeler I must have messed something up in my working copy
00:44 colomon works with my local up-to-date copy.
00:44 bkeeler Oh, I know what I did
00:45 bkeeler It's related to what I was hacking on last night at 5am
00:45 bkeeler Was trying to make &take be a proper listop.  I see grep is implemented with gather
00:45 BinGOs joined #perl6
00:46 colomon ah, yes.
00:46 colomon rakudo: my @a = 1...*; say @a[0]; say @a[1];
00:47 p6eval rakudo 68bb56:  ( no output )
00:47 bkeeler Problem is gather and the iterator infrastructure in general don't deal nicely with parcels yet
00:47 colomon ENOTENOUGHLAZINESS
00:47 colomon rakudo: my @a = 1...*; say @a.batch(10).perl
00:48 p6eval rakudo 68bb56:  ( no output )
00:48 REPLeffect joined #perl6
00:48 bkeeler Is ... implemented with gather?
00:48 colomon believe so.
00:49 colomon rakudo: say (1...*).WHAT
00:49 bkeeler makes sense
00:49 p6eval rakudo 68bb56: OUTPUT«GatherIterator()␤»
00:50 colomon I think the @a = 1...* is what is not working.  Must have been part of the laziness pmichaud temporarily disabled last week.
00:51 bkeeler Yeah, array assignment is eager by the looks of it
00:53 colomon It's not supposed to be.  Pretty sure it wasn't in ng two weeks ago.  :)
00:55 REPLeffect joined #perl6
00:56 bkeeler The laziness logic is still there in Seq,!fill, but Array is not using it, it seems
01:02 lue joined #perl6
01:02 lue woah. What just happened? I'm dizzy...
01:04 colomon bkeeler: I'm sure pmichaud will get it sorted out sometime soon.
01:04 colomon rakudo: say (1...10).batch(10).perl.say
01:04 p6eval rakudo 68bb56: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤1␤»
01:04 colomon rakudo: say (1...*).batch(10).perl.say
01:04 p6eval rakudo 68bb56: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤1␤»
01:04 bkeeler most likely
01:05 colomon does make me ponder even more rewriting of the series tests, as right now they are dependent on array assignment as well.
01:06 bkeeler As I said, I was playing around with take, make it send up parcels instead of scalars, the way it's specced to
01:06 bkeeler Problem is the parcels don't get flattened when they're supposed to
01:10 lue (thinking to myself) Maybe a NYS error isn't accurate. Not Yet *Fully* Specced (NYFS) ?
01:11 bkeeler rakudo: say map { $_, $_ * 2 }, 1..5
01:11 p6eval rakudo 68bb56: OUTPUT«22222␤»
01:11 bkeeler Aha!
01:11 bkeeler map gets it wrong
01:12 bkeeler alpha: say map { $_, $_ * 2 }, 1..5
01:12 p6eval alpha 30e0ed: OUTPUT«12243648510␤»
01:13 bkeeler And map is *not* implemented with gather/take though perhaps it should be
01:14 colomon I believe the idea is that map is so fundamental it benefits from being at the lowest possible level.
01:14 bkeeler I suppose so
01:14 bkeeler At any rate, fix the parcel flattening for map and my take modification should be fixed as well
01:15 lue Heh, the past few days I read nothing but major errors on this IRC
01:15 literal joined #perl6
01:15 lue I want to fix something, but it's like being given a vetran's WoW account and told "Go ahead."
01:15 bkeeler It looks like the iterator logic in List.pir handles flattening
01:16 colomon lue: a really good first step is working on tests.
01:16 colomon there is a LOT of room for better tests.
01:16 colomon and they are really handy for implementing the language.
01:17 lue I'll (try to) look up how to write tests then. (Of course, if you would point me in the right direction... :D )
01:17 bkeeler Do a "make testable" and it will check out the spec tests from pugs SVN
01:18 colomon I don't know that there is a guide somewhere.
01:18 bkeeler Then run utils/test_summary.pl, or just make spectest
01:18 colomon I bought the Perl testing book when I started working on it, but it was relatively little help.
01:18 bkeeler Dive into the t/spec directory and start poking around
01:19 colomon usually I complain about under-tested features two or three times a week.  :)
01:19 bkeeler pugs commit bits are given out fairly liberally I believe
01:19 bkeeler though I still don't have one :)
01:19 lue /o\ the voices! to meny voises /o\
01:21 * lue will try to compile rakudo in an actual tty terminal (instead of Konsole) and maybe it'll compile faster (if needed)
01:21 synth joined #perl6
01:22 bkeeler Shouldn't make all that much difference
01:22 bkeeler use make -j 4 though, especially if you have more than one core
01:22 lue I do not have more than one core. I barely have a 1GHz core (if that)
01:23 bkeeler Ah
01:23 lue 384MiB RAM, 768 swap space
01:23 bkeeler Yikes
01:23 bkeeler a netbook, or just something really old?
01:23 colomon oh yes, I don't know how to give pugs commit bits (though I'm sure I have permission to do it), but if you ask around you'll quickly get some.
01:23 lue Would -Ofun do anything :)
01:23 colomon I've seen TimToady hand out a bunch...
01:24 lue PowerBook PPC G3 (circa '99)
01:24 bkeeler Ah
01:24 bkeeler Yeah, your best bet is sshing to a real box
01:25 literal joined #perl6
01:25 colomon If you're serious about helping, someone (definitely not me) can probably get you a shell account on one of the perl development boxes.
01:25 bkeeler I'm spoiled I guess, sitting here at a Mac Pro quad core with 16G ram ;)
01:25 lue remotely, or switch o'er to a tty window using fancy key combos? (I'd have to do the latter, unless there's a willing candidate...)
01:26 lue I could get upto 1GiB of RAM (buying stuff) and a G4 processor
01:27 bkeeler I have a server in a colo that's not doing all that much, I guess I could give you a shell account on it if you like
01:27 bkeeler I've built rakduo there before, so it's got all the tools installed
01:27 avar joined #perl6
01:27 lue I actually have parts from a PowerBook G4, but then I'd have to solder... (You can buy a G4 replacement for this computer and just pop it in however)
01:28 lue I've actually switched out the ~12GiB hd with the G4's 40GiB already :D
01:28 literal joined #perl6
01:28 colomon Oooo, my best Mac is this MacBook Pro.   quad core and 16 gigs sounds very nice....
01:29 lue bkeeler: I'll think about it for a moment, let me see if any of my for ttys won't help (you never know)
01:29 lue s/for/four/
01:29 bkeeler It might help if you shut down KDE and X altogether, given how little ram you have
01:29 crythias joined #perl6
01:31 lue Maybe, if I had IRC communication methods thru terminal (never bothered to look, but I wouldn't mind) :)
01:31 bkeeler One of the old school IRC clients should be fine
01:32 bkeeler BitchX is a decent one I recall
01:33 snarkyboojum joined #perl6
01:33 snarkyboojum surely some tests to expose the recent range errors wouldn't go astray?
01:34 lue some tests that autofix bugs would be nice too :)
01:35 wolf2k_ubuntu joined #perl6
01:36 * lue is trying desperately to find the tty switching command (can never remember)
01:38 lue found it! turns out, fedora runs on tty1 (weird)
01:39 colomon snarkyboojum: actually, we are now having a spec debate over what exactly range should do in those cases.
01:40 snarkyboojum yep - but some tests once that's determined would be good?
01:40 colomon oh yeah, for sure.
01:40 lichtkind good night
01:40 snarkyboojum sweet
01:40 colomon lichtkind: o/
01:40 snarkyboojum or even now.. so someone is forced to update them :)
01:40 lue o/ litchkind
01:41 lue snarkyboojum: string ranges are horribly underdetailed. :/ (I vote the whole of unicode, or whatever's laziest \o )
01:54 snarkyboojum the specs are juicy aren't they :)
01:54 snarkyboojum rakudo: say ^10
01:54 p6eval rakudo 68bb56: OUTPUT«0123456789␤»
01:54 lue thanks to you guys, I actually (somewhat) feel like wanting to kill X for the first time ever!
01:54 snarkyboojum rakudo: say ^'Z'
01:54 p6eval rakudo 68bb56:  ( no output )
01:55 snarkyboojum rakudo: say (^'Z').iterator.batch(50)
01:55 p6eval rakudo 68bb56: OUTPUT«012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849␤»
01:55 lue /o\            ō.–
01:55 colomon that's the range 0..^'Z'
01:55 snarkyboojum yep
01:56 snarkyboojum Z is supposed to be cooerced to the left type?
01:56 colomon I'm not sure.
01:56 colomon It would be in S03 (operators), the Range section.
01:56 snarkyboojum "For ranges with other non-numeric types on the right, the right argument is coerced to the type of the left argument and treated as numeric."
01:56 snarkyboojum yeah
01:57 snarkyboojum I need to read these spec in more detail (what great bedtime reading) :)
01:57 bkeeler Speaking of Ranges, I need to go clean mine, along with the rest of the kitchen.  Can't put it off any longer...
01:57 colomon Hmmm.... I don't have a clue how to do that.
01:57 bkeeler cd kitchen; make clean
01:58 bkeeler laters...
01:58 snarkyboojum Range.GrabAndClean
01:58 colomon no, no, no, the type coercion.  I can clean a kitchen.
01:58 snarkyboojum heh
01:58 colomon ack, I need to delete that damned function before it haunts Rakudo forever....
01:59 snarkyboojum :P (I should stop typing it eh)
02:01 lue ah, the wonders of P6 (let's hope to [deity of your choice] that no normal user ever has to see it...)
02:03 snarkyboojum I watched a vid of jnthn dumping the AST to stdout when he was running perl6 code before, but can't find the vid.. how do you get into the guts of what the compiler is doing when it's running stuff? (excuse the vagueness of the question)
02:05 snarkyboojum is that what --dumper and --trace is all about?
02:05 colomon That I don't know.
02:05 * colomon knows distressingly little, actually....
02:06 dalek rakudo/master: 14f803a | (Solomon Foster)++ | src/core/Iterator.pm:
02:06 dalek rakudo/master: Get rid of GrabAndSay, not spec and it is easily done now with batch($n) and say.
02:06 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/14f803a8507bef902cc4c120cc58effdd97ff14b
02:07 yinyin joined #perl6
02:09 lue Looks like ERC (Emacs) might be right for me :)
02:13 nihiliad joined #perl6
02:19 JimmyZ joined #perl6
02:21 lue hello? (I hate silence)
02:21 * colomon is drinking the last of his Talisker with his dad.
02:21 TimToady e
02:21 lue oi!
02:21 lue You missed a rousing discussion about my old laptop, TimToady!
02:21 colomon i
02:24 lue e
02:25 JimmyZ yo
02:30 bkeeler Mmmm.. talisker
02:31 colomon bkeeler: my favorite.
02:32 bkeeler It's good one
02:34 bkeeler Well, kitchen's clean.  Now when the dishwasher's done, it'll be time to assemble 3 or 4 trays of lasanga for the freezer
02:34 bkeeler I need bigger freezer though...
02:36 colomon Mmmmmmm......
02:38 colomon errr... why isn't rat.t parsing?!
02:38 lue it's a rat. :)
02:42 nihiliad joined #perl6
02:46 simcop2387 joined #perl6
02:48 bkeeler Seems to be the for block after # Give the arithmetic operators a workout
02:48 bkeeler Remove that and it parses
02:48 colomon ooo, good analysis.
02:49 lue wow. There is a real difference between the Konsole font and a real tty's font.
02:49 colomon PerlJam must have broken something with his for changes yesterday.
02:51 bkeeler Yeah, it's wanting to make the for a postfix for the preceding block
02:51 bkeeler A semi after the block fixes it
02:52 colomon bkeeler++
02:52 colomon I'm trying to track down which commit caused the problem.
02:52 TimToady er, that's not a fix :)
02:52 bkeeler rakudo: { 1; } for (1, 2)
02:52 p6eval rakudo 14f803:  ( no output )
02:52 bkeeler Indeed not
02:53 colomon TimToady: I'm sure he meant in the "makes it go away" sense.  :)
02:53 bkeeler I did yes ;)
02:53 bkeeler rakudo: { 1; } for (1, 2) { say "hi" }
02:53 p6eval rakudo 14f803: OUTPUT«Confused at line 11, near "{ 1; } for"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:53 colomon It's good analysis.
02:53 TimToady std: { 1; } for (1, 2) { say "hi" }
02:53 p6eval std 29796: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/oXJ6yRpMfJ line 1:␤------> [32m{ 1; } for (1, 2) [33m⏏[31m{ say "hi" }[0m␤    expecting any of:␤  bracketed infix␤  infix or
02:53 p6eval ..meta-infix␤FAILED …
02:53 bkeeler Ah, because of the lack of a newline
02:54 TimToady you can use ␤ on input as well as output
02:54 TimToady std: { 1; }␤for (1, 2) { say "hi" }
02:54 p6eval std 29796: OUTPUT«ok 00:01 108m␤»
02:54 bkeeler rakudo: { 1; } ␤ for (1, 2) { say "hi" }
02:55 p6eval rakudo 14f803: OUTPUT«Confused at line 11, near "{ 1; } \n f"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:55 TimToady rakudo doesn't do STD's end-of-block semantics yet
02:56 lue is that funky symbol supposed to say NL ? (I assume it, but to be sure)
02:56 bkeeler lue: yeah, it's kinda hard to read here too
02:57 bkeeler What's the bot that ord's unicode characters?  .u?
02:57 bkeeler .u ␤
02:57 phenny U+2424 SYMBOL FOR NEWLINE (␤)
02:57 bkeeler Ah there he is
02:57 bkeeler How the heck do I type one of those on a mac keyboard anyway?  I had a copy and paste yours
02:57 hudnix joined #perl6
02:58 lue press enter :) (to get the NL thing, IDK)
03:00 colomon I can confirm that ec47f33ef2201e2c0ea588141f5750dc74da2b02 does not have the problem.
03:00 colomon I'm guess the next patch caused it....
03:02 TimToady well, under gnome you can do CTRL-SHIFT-u2424
03:04 lue high-pitched mocking voice: "well, under gnome you can do CTRL-SHIFT-u2424" I use KDE, and that's what Linus Torvalds uses!
03:04 TimToady we all have our faults
03:05 colomon PerlJam's e90453678f18304d9846847af857e5f33c780858 is the source of the problem.
03:05 TimToady though California has more faults than most
03:05 lue TimToady: Pun++
03:05 arlinius in more ways than one
03:05 colomon (PerlJam here is perlpilot on github, right?)
03:05 TimToady much of world culture is now our fault
03:06 snarkyboojum or duff?
03:07 snarkyboojum ignore me
03:07 bkeeler ␤ Aha!
03:07 bkeeler Figured it out
03:08 lue I wants to type it in KDE (now to bug Karl D. Edenworth with a unicode feature request)
03:09 arlinius lue: if you use emacs, you can bind a key to ucs-insert
03:10 TimToady or if you use an imput method, there's usually a way to do unicode too
03:10 nihiliad joined #perl6
03:11 TimToady like scim or ibus
03:11 bkeeler Hmm, only thing is selecting the "Unicode Hex Input" keybord layout I lose the ability to easily type accented characters without knowing the hex code
03:12 TimToady I wouldn't do it with a keyboard layout
03:12 bkeeler That's just how mac os does things, AFAICT
03:13 TimToady I blame Steve
03:13 bkeeler Yep.  Another Californian at that
03:13 TimToady to a fault
03:14 bkeeler I shudder to think how macs would be if he were a Texan though
03:15 lue oh no! don't say that!
03:17 TimToady 'course, with an input method, I'm always switching into 日本語 mode by accident...
03:20 bbkr joined #perl6
03:20 lue You know japanese? (I thought you just looked up a couple words on occasion...)
03:20 drbean_ joined #perl6
03:21 colomon TimToady: How do you give out commit bits for pugs?  lue and bkeeler need them...
03:22 TimToady there's a page at http://commitbit.pugscode.org/admin/project/Pugs/people for that.  not sure if you have to be an admin to do it though
03:23 TimToady anyway, anyone who wants a commit bit, msg me your email and preferred svn nick
03:23 colomon Ah, I thought anyone who had one could give one out.
03:23 TimToady you can try, but right now you're listed as "author"
03:23 TimToady I don't know how it really works
03:24 cotto joined #perl6
03:24 lue I'll be back later, after homework. Then I'll log out, kill X, and start on working on Rakudo!
03:24 colomon I somehow remembered the password, and now I'm at a page saying "Add a new committer"...
03:28 justatheory joined #perl6
03:33 lue The commit bit is only useful for pugs (its tests), right? (one more q before I _have_ to go)
03:33 colomon lue: yes.
03:33 lue thank you. That is all. G'bye for the moment!
03:33 colomon there are a bunch of projects stored in the pugs repo, actually.
03:33 colomon but not rakudo.
03:33 colomon must sleep soon myself.
03:36 TimToady tests and specs
03:36 TimToady and all the other projects under its directory, like STD
04:05 lue hello? I'm back
04:07 lue TimToady, if you're here, I'll msg you what you need to give me a commit bit
04:07 TimToady what if I'm not here?
04:09 lue dang it. I was hoping you're here. :)
04:09 TimToady well, we can pretend
04:14 quietfanatic joined #perl6
04:23 TimToady lue: and to answer your earlier questions, I know a fair amount of Japanese, but I wouldn't call myself anything like fluent yet
04:24 lue Now, is there anything specific to checking out/in pugs tests? Or just typical svn stuff?
04:24 TimToady just normal svn
04:24 lue alrighty. (I'm assuming it doesn't matter WHERE I put the pugs code)
04:25 TimToady if you add a file run util/add-svn-props on it
04:25 TimToady no, doesn't matter
04:25 TimToady ~pugs works fine
04:25 TimToady er, ~/pugs
04:30 lue so....much.....of......the pugs.....source code!
04:32 TimToady it's not all pugs
04:32 TimToady most of it isn't pugs, in fact
04:33 TimToady you're also getting mildew, smop, elf, etc
04:33 lue takes....so....much.....more time.....than....should be required!
04:33 lue oh. It's done :)
04:35 lue So, if I type in checkin, it only checks in what I changed (please say yes)
04:35 lue I'm new to all this "working on open-source projects with other people" thing
04:36 TimToady yes
04:36 TimToady remember that this is a revision control system, so if you booboo we can always back it out
04:37 TimToady so we go on forgiveness rather than permission around here
04:38 lue alright. (Just a like a quick — er, wiki)
04:39 andy1 left #perl6
04:39 lue I'll be right back. I'm going to kill X.
04:39 lue left #perl6
04:45 patspam joined #perl6
04:46 lue joined #perl6
04:46 lue hello?
04:47 lue TimToady: are you there now? (You weren't before)
04:48 Trashlord joined #perl6
04:49 TimToady I come and go
04:49 TimToady (we're watching Olympics at the same time)
04:51 lue Ah. I'm hearing it from the other room
04:51 TimToady well, we're still watching yesterday's on the Tivo :)
04:51 TimToady cross-country pursuit at the moment
04:52 gfx joined #perl6
04:52 TimToady so I also work on my Chinese characters in the gaps
04:53 lue I saw Shaun White the other day. His `new trick' wasn't that impressive. (then again, I'm not much for sports)
04:55 TimToady it was the last half-twist that was impressive, I guess
04:56 TimToady he didn't exactly nail it, though
04:58 TimToady .u 𠥥
04:58 phenny U+20965 CJK UNIFIED IDEOGRAPH-20965 (𠥥)
04:58 TimToady that's the character I'm on currently :)
04:58 lue oh hell. This computer restarts X when I kill it >:(
04:58 lue (this terminal won't show me it :/)
04:58 TimToady mine either, but it might show up in the log
04:59 TimToady yes, it does
04:59 TimToady it's a box with two birdies inside it :)
04:59 lue now it's on tty7
05:01 TimToady I'm about 65% through labeling all the characters---only about 42000 to go...
05:02 * lue is seeing how to kill X & KDE to save resources...
05:09 * s1n misses perl
05:09 s1n ugh so tired of java, everything perl can do, java can do with 100 times as much code
05:09 lue \o/ I guess
05:11 bkeeler You probably want to change your init level
05:11 bkeeler Do you have a /etc/inittab file, lue?
05:11 bkeeler Not sure what Fedora uses these days, a lot of Linuxen have moved away from init
05:12 s1n iirc redhat still uses init
05:12 s1n that and their sysconfig stuff
05:12 bkeeler If so, ditching X is probably something as simple as init 3, or telinit 3 or something
05:13 bkeeler Runlevel 3 is multiuser, no X.  multiuser with X is 5 if I recall, which I probably don't.  It'll tell you in /etc/inittab anyway
05:16 snarkyboojum left #perl6
05:16 snarkyboojum joined #perl6
05:17 lue How do I hit runlevel 3
05:18 bkeeler It used to be as easy as typing 'init 3'.  Some systems have a 'telinit' command that does the same thing
05:18 s1n init 3 from a virtual terminal
05:18 bkeeler Or maybe initctl or something
05:18 s1n doing it from within X might have a funny effect, depending on your system
05:19 lue ooh, init 3 did something.
05:19 lue hoorah! \o/
05:19 bkeeler http://fedorasolved.org/post-install-solutions/runlevel
05:19 bkeeler They recommend telinit
05:19 lue o well. Too late :D
05:20 lue should I init 5 then telinit 3, or just leave it?
05:20 bkeeler Nah, should be fine
05:21 bkeeler If it was going to do something bad we wouldn't be talking right now
05:21 s1n it's fine, it's not a permanent change
05:21 lue yeah, your probab
05:21 s1n lol
05:31 lue no busy LED yet... (wow, X must have been a resource hog)
05:31 bkeeler KDE more so
05:32 lue I happened to use both at the same time :/
05:32 bkeeler That's the usual arrangement hehe
05:32 bkeeler Some say gnome is a bit leaner, but really probably wouldn't make that much difference
05:34 lue But Linus Torvalds uses KDE (not what made my decision, but still...)
05:34 bkeeler heh
05:35 bkeeler Supposedly Richard Stallman uses no X-based stuff whatsoever, so you can take comfort in emulating him now
05:36 lue (saw an XKCD comic about him once :D )
05:37 bkeeler When I lived in Alaska my roommate at the time invited him up to speak at the university and put him up in the house for a couple of days, so I got to bask briefly in the legendary Stallman aroma
05:38 lue :O :O :O :O :O O.O O.O O.O O.o O.o
05:43 lue My shocks are so much, it scared bkeeler, apparently
05:43 bkeeler I'm not that easily shocked
05:45 lue No,
05:45 lue MY shocks scared you
05:47 lue I wouldn't mind going Xless for good _too_ much, but there are all the PNGs and GIFs and...
05:48 bkeeler not to mention firefox
05:48 lue OH YES! I forgot about that! (there is lynx, however, but...)
05:48 * lue is compiling in record time! Xless is awesome!
05:49 scp1 joined #perl6
05:49 am0c joined #perl6
05:57 lue I think I'll go back to runlevel 5 when all the compiling is over. That's all I need init 3 for really
05:58 * lue watching olympics while waiting &
06:18 JimmyZ joined #perl6
06:22 lue helooooo
06:25 JimmyZ o'hai
06:35 lue hey (still watching TV while waiting)
06:35 lue afk (again)
06:43 kaare joined #perl6
07:01 lue I'll finish up here tomorrow. Cheers!
07:01 lue left #perl6
07:22 Su-Shee joined #perl6
07:24 Su-Shee good morning
07:28 ihrd joined #perl6
07:36 ihrd left #perl6
07:43 Speedy2 joined #perl6
07:43 Speedy2 www.search2.net
07:44 Speedy2 left #perl6
07:51 iblechbot joined #perl6
07:57 ihrd joined #perl6
07:58 xinming joined #perl6
07:59 supernovus joined #perl6
08:03 ihrd left #perl6
08:03 supernovus A hopefully simple question. I am working on a little project that uses plugins defined in a config file. The original version was written in Perl 5 and uses YAML for it's config, and so when it see's plugin: [ First, Second ] it loads Namespace::Plugins::First, etc. using a 'require $plugin'; But, when I try this method in Perl 6, it tells me nice things like: Can't find ./lib/Websight::Dispatch in @*INC
08:10 spinclad Interoperation of Rakudo with Perl 5 is rudimentary at best, as yet.  (1) Is Websight::Dispatch a Perl 5 module, or ported to Perl 6?  (2) Same question for the plugins.  (3) Do you have them in @*INC?
08:11 supernovus It is ported to Perl 6. I'm writing it all from scratch, just loosely based on my old system that was in Perl 5.
08:11 supernovus I'm not actually using any Perl 5 code or libraries in the new implementation.
08:12 spinclad ah, so it's just @*INC to track down.
08:12 spinclad rakudo: say @*INC
08:12 p6eval rakudo 14f803:  ( no output )
08:12 spinclad rakudo: say @*INC.perl
08:12 p6eval rakudo 14f803: OUTPUT«undef␤»
08:12 spinclad rakudo: use Foo
08:12 p6eval rakudo 14f803: OUTPUT«"load_bytecode" couldn't find file 'Foo.pir'␤current instr.: '!use' pc 345482 (src/gen/core.pir:47172)␤»
08:13 supernovus I think the problem is that because $plugins is a variable, the require statement is looking for a a literal file called Websight::Dispatch rather than turning that into Website/Dispatch.pm
08:13 spinclad so it's consistent in p6eval's jail, at least
08:15 spinclad mmm... i'd have to look at how require is parse, i don't know if interpolation is implemented
08:15 spinclad *parsed
08:16 spinclad if you say  use Websight::Dispatch  rather than  use Websight::$foo  , is it any better?
08:17 spinclad or  require
08:18 spinclad (as a test)
08:19 supernovus Yeah, I've already tested that. use and require work fine if the namespace is a non-variable (in January's release, the new master has a few regressions with use and require.)
08:21 supernovus Now I seem to have gotten past that part (by converting the plugin name into a plugin path), and it's the $plugin.new() call that is dying horridly. I've tried my $instance = eval("$plugin.new()"); but alas, no such luck. I know, I'm asking for some dark magick. :-)
08:23 masak joined #perl6
08:23 spinclad lolitsmasak \o/
08:23 masak good Monday morning, #perl6!
08:23 masak \o/
08:23 frettled morning-thing!
08:23 masak nothing like a kanelbulle in the morning.
08:25 frettled :)
08:26 Trashlord sup
08:27 masak y0
08:27 spinclad Dude
08:27 yinyin joined #perl6
08:27 frettled Rock on!
08:27 frettled Rock off!
08:28 frettled Somehow I don't think that will be quiet as catchy as «wax on, wax off!»
08:28 frettled s/quiet/quite/
08:28 frettled Good morning, fingers, I can tell that you wanted to sleep a bit longer, but now we've got to work, my sweeties.
08:28 spinclad 'but does it follow the wax on, wax off protocol?
08:28 spinclad '
08:30 spinclad 'or the clear to rock / ready to rock one?'
08:30 masak is irclog.perlgeek.de unresponsive for anyone else this morning?
08:30 masak (it is for me)
08:32 spinclad fine here
08:33 masak strange.
08:33 [particle] joined #perl6
08:37 masak hm, seems there's a bug in Chrome somewhere rather than in irclog.perlgeek.de. or maybe both.
08:42 masak supernovus: you still there? I think you'll have to nopaste some code for me/us to help you. I have a slight suspicion that you're doing something wrong or NYI with module names in strings...
08:43 masak frettled, bkeeler: I must say I truly enjoyed your match of Mornington Crescent this weekend. it's always nice to see two good players have a go at it.
08:46 * spinclad :to(bed) &
08:51 moritz_ good morning
08:52 masak morning, moritz_
08:58 supernovus masak: You probably don't want to see the code to this... it's very evil. :-) I worked around the issues I was having, using something like "my $plug = eval("$class.new()"); which did work after I figured out that I had a typo in the class I was loading...
09:00 masak supernovus: ok.
09:02 masak supernovus: (and generally, I don't think you'll be able to shock me with code evilness. I'm just finishing up a project where I emulate goto statements in generated code. :-P)
09:05 supernovus Heh, well then. I'm porting the CMS that runs my website from Perl 5 to Perl 6. Or at least that was the original theory, just adding some new functionality while I'm at it. Oh, and writing a parser for something that sort of looks like YAML, but isn't really...
09:06 supernovus I can tell it's 01:00 in my time zone... my eyes are beginning to glaze over. Probably best to give the code a break and go to bed.
09:08 moritz_ good night
09:09 masak supernovus: I salute your efforts. sounds like we have a lot of goals in common.
09:13 supernovus Masak: indeed, I'll send a tweet when I post the source to github. Anyway, Good Night everyone, I'm off to bed.
09:13 masak Good Knight.
09:24 masak moritz_: good analysis on 'when True' and 'when some_function($_)'. I'm on the fence about the whole issue. feels like people will be surprised either way. (i.e. whether 'when True' always matches or only matches against the Bool anum value True.)
09:26 moritz_ masak: one thing I forgot: if we change $a ~~ $bool to means (?$a) === $bool, do we have a value that's always false if smart-matched against?
09:26 moritz_ (except for a regex which never matches, which feels kind of... bloated)
09:27 masak !*
09:27 moritz_ doesn't work as currently specced
09:27 masak just thinking out loud :)
09:27 moritz_ alpha: say (!*).(False).perl
09:28 p6eval alpha 30e0ed: OUTPUT«Bool::True␤»
09:28 masak by the way, what's the use case for a value that never matches anything?
09:28 frettled masak: thank you (M.C.) :)
09:28 masak is that for code that you never want to execute? :)
09:28 moritz_ masak: I was thinking of a function that might return that for smart-matching
09:29 moritz_ something like   given $obj { when coerce_to_smartmatchy some_function($_) { ... } }
09:30 moritz_ where prefix:<coerce_to_smartmatchy> would turn True into * and False into someting that never matches
09:30 masak ah, of course.
09:30 moritz_ of course.
09:30 moritz_ :-)
09:30 masak I'm not sure True and False should have this role at all.
09:31 masak we need something like Accept and Reject for that.
09:34 moritz_ only if we change the semantics of ~~ Bool
09:35 masak right.
09:38 masak well, here's the core of the issue as far as I'm concerned. I've come to see infix:<~~> as a sort of "compare with DWIMmy semantics". do 'eq' for Str, '==' for Numeric, type comparison for classes/roles/subtypes, and enum comparison for enums.
09:38 masak that all holds, but there's a big exception when matching against Bools.
09:38 masak the question is whether or not the exception pulls its own weight.
09:40 masak Bools are already special in a way, in that they're used implicitly by if, while and their negations.
09:40 masak and by various other things which coerce to Bool, I guess, such as subtype thunks.
09:49 xabbu42 joined #perl6
09:51 snarkyboojum joined #perl6
09:52 snarkyboojum joined #perl6
10:07 scp1 joined #perl6
10:23 jnthn o/
10:24 scp1 left #perl6
10:26 orafu joined #perl6
10:26 masak \o
10:26 m-locks oi
10:27 * jnthn had lovely weekend in Vienna :-)
10:27 jferrero joined #perl6
10:27 jnthn Even if I was woken up at 7am for a sword fight. :-)
10:27 dakkar joined #perl6
10:35 masak jnthn: I hate when that happens. Luckily my rival was even more bleary-eyed than I was, so I lived to see another day.
10:37 jnthn masak: Luckily mine was 3 years old and the sword was made of foam. :-)
10:38 masak huh. never been in that situation.
10:38 masak I have, however, had a layover in Vienna.
10:43 payload joined #perl6
10:45 masak strange question on p6u. I don't really understand the context. is 'make spectest_smolder' a Pugs make target?
10:51 frettled Well, if you should have some time for non-Perl 6 things, such as role-playing games, I rather like Legend of the Five Rings (AKA _L5R_).  Japanese-style, mythological setting.  This digression was sponsored by Kansai Denki.
10:52 m-locks whats with that japan
10:53 masak m-locks: they're exceptionally positive about Perl 6, for one thing. :)
10:56 m-locks nice to know
10:57 m-locks so are they gonna finish the 1.0 release soon?
10:59 masak m-locks: what do you mean?
10:59 masak the 1.0 version of Japan?
10:59 masak I don't think countries have releases.
11:00 masak (though if any country did, it would be Japan, I guess.)
11:01 masak m-locks: Perl 1.0 was released 22 years, 2 months and 4 days ago.
11:02 m-locks no but if they're positive i assume they are excited and doing all the things they can to get a working implementation
11:02 m-locks i was referring to rakudo
11:03 masak Rakudo doesn't have numbered versions. at least not yet.
11:03 masak there's a "Rakudo Star" or "Rakudo *" on the horizon, though.
11:03 jnthn I'm doubtful that Rakudo will adopt an x.x style version number scheme.
11:04 jnthn People tend to read a lot more into such things than is really helpful.
11:04 masak agreed, that would be insane. Rakudo 1.1, Rakudo 2.2, Rakudo 3.3... :)
11:04 jnthn masak: :-P
11:04 snarkyboojum Rakudo *.* :O
11:04 jnthn lol
11:05 masak snarkyboojum: the DOS version :P
11:05 snarkyboojum heh
11:05 m-locks creating a grammar to express all rakudo versions
11:05 jnthn Maybe we should just keep adding a * for each production release.
11:05 jnthn ;-)
11:05 masak Rakudo Production Release... Whatever!
11:05 jnthn Whatever a "production release" is.
11:08 masak a production release is one that jnthn and pmichaud has stamped with a magic rubber stamp with the text "can be safely used in submarines, airplanes and nuclear power plants" on it.
11:09 masak alternately, a production release is a release made with the RT ticket count below 50 :)
11:09 * jnthn has used Rakudo on an airplane.
11:09 jnthn It was running on my laptop. :-)
11:09 masak jnthn: it's the stamp that counts, not the actual use. :)
11:09 jnthn oh
11:10 jnthn :-)
11:10 jnthn Silly me. It's all about things being stamped.
11:10 jnthn :-)
11:10 masak exactly.
11:10 masak "TODO: procure magic rubber stamp."
11:13 Exodist joined #perl6
11:46 athaba joined #perl6
11:48 ggoebel joined #perl6
11:49 meppl joined #perl6
11:50 colomon o/
11:50 moritz_ \o
11:50 lichtkind joined #perl6
11:51 mikehh joined #perl6
11:53 lichtkind jnthn: moin
11:54 moritz_ lichtkind: you pinged me?
11:57 lichtkind moritz_: yes i just wanted to show you http://www.perlfoundation.org/perl6/index.cgi?moritz_lenz
11:57 lichtkind moritz_: feel free to correct it or tell me
11:58 moritz_ seems accurate to me
11:58 * moritz_ is not used to other writing about him
11:58 colomon You're the chief maintainer of the test suite?!?
11:59 colomon (Why does no one tell me these things?)
11:59 moritz_ colomon: there's no such job description, but I've filled that position for the last 1.5 years or so
11:59 moritz_ colomon: although I feel that you're taking over
12:00 jnthn lichtkind: oh hai...I saw you pinged me, but when I tried to pong you weren't here. :-)
12:00 colomon dear heavens, no, please!
12:00 lichtkind colomon: if you tell me everything about you, its also easier for enybody to know :)
12:02 lichtkind jnthn: yes i wanted also you to check you mini biography :)
12:02 lichtkind jnthn: http://www.perlfoundation.org/perl6/index.cgi?jonathan_worthington
12:02 colomon Seriously, I've poked around a lot in S03 and S32, but that's it for the test suite for me so far.
12:04 colomon And if you'd ask me to tell you what position moritz_++ has, I wouldn't have had any idea what to say, other than that he is awesomely useful to have around.  :)
12:04 jnthn lichtkind: Huh...biography of me that doesn't mention beer? :)
12:04 jnthn lichtkind: Anyways, it's fine, though very shortly will be out of date. :-)
12:04 lichtkind jnthn: i was temted but if its right with you i will include beer
12:05 lichtkind jnthn: what whould i add?
12:05 lichtkind colomon: doing stuff is not the same as position :)
12:05 moritz_ "Jonathan is the only known Perl 6 hacker who managed to mention beer in every single presentation about Perl 6"
12:06 moritz_ lichtkind: in Perl 6 land it is
12:06 lichtkind jnthn: English Perl hacker, who currently loves Beer and lives therefore in Bratislava, ??
12:07 jnthn lichtkind: But next month I move from Slovakia to Sweden.
12:07 lichtkind uhhh
12:07 bkeeler We just need to find a brewery to sponsor a grant with beer
12:07 lichtkind interesting
12:07 jnthn Just say that I generally can be found living in European countries that start with "S". :-)
12:07 jnthn lichtkind: Yes, taking up some new worky stuff there.
12:08 jnthn Not full time though...so still time for Rakudo too. \o/
12:09 lichtkind o/
12:09 Su-Shee jnthn: you're moving to spain? ;)
12:11 lichtkind jnthn: http://www.perlfoundation.org/perl6/index.cgi?jonathan_worthington rewritten a bit
12:12 snarkyboojum typo at 'developement'
12:12 moritz_ Su-Shee: I thought it was switzerland
12:14 moritz_ t/spec/S32-str/uc.rakudo dies here
12:14 moritz_ rat.t too
12:15 jnthn Su-Shee: I did live in Spain for six months once. ;-)
12:15 jnthn Mmm...Switzerland. :-)
12:15 jnthn Not lived there. Yet. :-)
12:16 lichtkind Su-Shee: whant you page too? :)
12:16 payload joined #perl6
12:16 Su-Shee lichtkind: I want what? :)
12:16 lichtkind Su-Shee: tpf wiki
12:16 mikehh moritz: I get the same results - spectest_smolder #32234
12:17 Su-Shee lichtkind: not necessary, I don't care much for that stuff.
12:17 dalek rakudo/master: 7fe9e3e | moritz++ | t/spectest.data:
12:17 dalek rakudo/master: re-enable test for statement-modifying for-loop, and add a new test file which we have never passed before
12:17 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/7fe9e3eab267448b47719ffe4192a5b2f6f20e64
12:17 mikehh moritz_: I get the same results - spectest_smolder #32234
12:18 mikehh missed the underscore :-}
12:20 moritz_ rat.t is a parse error
12:24 colomon we worked that out last night.
12:24 ggoebel joined #perl6
12:25 colomon commit e90453678f18304d9846847af857e5f33c780858 broke parsing of blocks (with no trailing semicolon) before for statements.
12:25 colomon I don't know how to fix the grammar to get around that.
12:25 colomon bkeeler++ # for figuring out the details of how the parse was broken
12:27 moritz_ ah, so I don't need to bisect. Good :-)
12:28 colomon Instead of reversing that commit, I decided to wait for wiser heads to wake up.  ;)
12:28 colomon http://donsbot.wordpress.com/2010/02/21/smoking-fast-haskell-code-using-ghcs-new-llvm-codegen/
12:38 ignacio_ joined #perl6
12:40 pmurias joined #perl6
12:47 takadonet morning all
12:47 colomon O/
12:48 * colomon is apparently getting a big head.
12:49 masak takadonet: \o
12:50 hsb joined #perl6
12:57 uniejo joined #perl6
13:02 uniejo_ joined #perl6
13:03 ignacio_ joined #perl6
13:04 uniejo joined #perl6
13:06 pmichaud good morning, #perl6
13:06 mathw it's pmichaud!
13:07 colomon o/
13:07 takadonet morning pmichaud
13:09 masak lolitspmichaud!
13:11 jnthn yayitspmichaud!
13:12 pmichaud \o
13:12 mathw I think everyone's happy to see you
13:13 jnthn .oO( If there's something strange, wrong in your grammar, who do you call? pmichaud! )
13:13 ruoso joined #perl6
13:14 pmichaud It's just because I always did well in grammar school :)
13:14 jnthn ;-)
13:15 * masak .oO( Grammar 201: Longest-Token Matching )
13:20 lichtkind masak: cheers :)
13:20 lichtkind pmichaud: please say if there is something incorrect http://www.perlfoundation.org/perl6/index.cgi?nqp
13:20 masak pmichaud: I have now seen how <after> is implemented in PGE. it basically does $target.substr(0, $pos) ~~ / [$after-pattern] $/. very hackish. :)
13:21 masak lichtkind: moin, enlightened child.
13:21 lichtkind :)
13:21 colomon pmichaud: speaking of grammar....
13:21 colomon colomon: commit e90453678f18304d9846847af857e5f33c780858 broke parsing of blocks (with no trailing semicolon) before for statements.
13:21 colomon [07:25am] colomon: I don't know how to fix the grammar to get around that.
13:21 colomon [07:25am] colomon: bkeeler++ # for figuring out the details of how the parse was broken
13:22 pmichaud masak: yes, <after> was always a hack.  But until STD.pm, it was the only working implementation of <after> anywhere :) :)
13:22 pmichaud colomon: I'll look at it as soon as I return (kid to school... back in ~15)
13:23 colomon danke
13:23 pmichaud do we have a quick example of a broken parse?
13:23 pmichaud (afk, brb)
13:23 masak pmichaud: I'm not criticizing. mostly wanted to praise your pragmatism. :P
13:27 colomon pmichaud: rat.t is a long example...
13:27 colomon (sorry, suffering small child interference at the moment)
13:41 SmokeMachine joined #perl6
13:44 ruoso joined #perl6
13:46 masak colomon: rat.rakudo runs here.
13:47 colomon masak: really?!
13:47 masak yep.
13:47 pmichaud I get the parsefail, yes.
13:48 lisppaste3 colomon pasted "simple failing example" at http://paste.lisp.org/display/95414
13:48 masak I just built Rakudo 3704a2 on Parrot r44294, and it runs fine here.
13:48 pmichaud masak: current head seems to be 7fe9e3e
13:48 masak oh :/
13:48 masak that's the reason it works here, then. :)
13:49 colomon if you add a semicolon after the first block, the simple example parses and runs.
13:50 pmichaud yes, it's the standard problem of not detecting a close curly as statement end
13:50 masak I've experienced similar parsefails before.
13:50 masak specifically, when redefining postcircumfix:<{ }>
13:51 pmichaud since it doesn't detect the statement end, it sees the 'for' as a statement modifier and gets all confused.
13:51 colomon pmichaud: yup, I understood the issue once bkeeler++ tracked it down, just didn't have a clue how to fix it (other than just reverting the patch that enabled statement for).
13:52 pmichaud I'm a little surprised it's broken.. I could've sworn that I had this working (in ng).
13:52 colomon afk # need to shovel out the driveway...
13:53 * pmichaud starts looking at the file history to see what's happening
13:54 pmichaud guess I didn't.  Maybe I fixed it in nqp-rx.
13:55 pmichaud hmmm, not fixed there, either.
14:02 hanekomu joined #perl6
14:03 ignacio_ joined #perl6
14:04 * pmichaud prototypes a fix in nqp -- faster to do it there.  :)
14:05 lichtkind pmichaud: feel free to edit http://www.perlfoundation.org/perl6/index.cgi?patrick_michaud
14:12 masak the perlfoundation wiki has LTA CSS. the boxes on the right overlap the article text. :/
14:13 masak at least on Chrome.
14:14 masak lichtkind: there's a dangling double quote on the last line of the pmichaud article.
14:15 masak lichtkind: also, the T in PCT stands for 'Toolkit'.
14:15 lichtkind masak: thanks done
14:17 masak third, the punctuation in the second sentence makes it seem as if PGE were all of the things mentioned in that sentence (grammar engine, compiler, pumpking)
14:19 kensanata joined #perl6
14:21 lichtkind masak: in german that is different :)
14:22 m-locks chrome seems to display some web pages wrong
14:23 masak needs some polish :)
14:23 lichtkind masak: done- great joke
14:23 masak not as funny as http://www.youtube.com/watch?v=8gpjk_MaCGM
14:25 lichtkind masak: im only partian fan of monty python
14:25 lichtkind only the monty part :)
14:35 ruoso joined #perl6
14:43 dalek nqp-rx: 216bacc | pmichaud++ | build/PARROT_REVISION:
14:43 dalek nqp-rx: Bump PARROT_REVISION.
14:43 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/216bacc39eb20757e8722f584a1843ec50a862c0
14:43 dalek nqp-rx: 3a51f6c | pmichaud++ |  (2 files):
14:43 dalek nqp-rx: Fix statement_modifier on line after close curly bug.
14:43 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/3a51f6c32052edd696a916e5f6c0eff4dad8a501
14:51 hudnix joined #perl6
14:52 PZt joined #perl6
14:55 iblechbot joined #perl6
14:55 pmichaud std:  { say 'hello' } for 1,2,3 { .say }
14:56 p6eval std 29797: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/CGWhlGJk6c line 1:␤------> [32m{ say 'hello' } for 1,2,3 [33m⏏[31m{ .say }[0m␤    expecting any of:␤      bracketed infix␤  infix or
14:56 p6eval ..meta-infix␤FAI…
14:58 dalek rakudo/master: eacccf9 | masak++ | docs/metamodel.pod:
14:58 dalek rakudo/master: [docs/metamodel.pod] fixed small typo
14:58 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/eacccf98ac6a914b82cea7bc1a1dfbdc1bb468f2
15:06 ignacio_ joined #perl6
15:07 masak jnthn: ping.
15:07 Trashlord joined #perl6
15:07 pmichaud I have a fix for the statement modifier bug -- spectesting now.
15:17 lichtkind pmichaud : thanks
15:17 pmichaud std: say  for 1;
15:17 p6eval std 29797: OUTPUT«Potential difficulties:␤  Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/o6d5YCs4us line 1:␤------> [32msay[33m⏏[31m  for 1;[0m␤ok 00:01 105m␤»
15:18 jnthn masak: pong
15:18 pmichaud std:  xyz  for 1;
15:18 p6eval std 29797: OUTPUT«Undeclared routine:␤   'xyz' used at line 1␤ok 00:01 105m␤»
15:19 jnthn masak: grr...native speakers suck. :-)
15:19 masak :)
15:19 masak how so?
15:19 masak jnthn: small metamodel question. how do multimethods square with .^add_method?
15:20 jnthn masak: OK, this one does. :-)
15:20 jnthn masak: It doesn't know about them.
15:20 jnthn masak: You add something ~~ Multi
15:21 mikehh I got a patch to get rakudo to build on parrot with g++ ver 4.4.1 - http://nopaste.snit.ch/19736
15:21 masak jnthn: hm. posit Child is Parent, each having at least one multi method foo.
15:21 masak jnthn: will all the multi variants of Child and Parent be visible from Child?
15:21 dalek rakudo/master: 5afabfa | pmichaud++ | src/Perl6/Grammar.pm:
15:21 dalek rakudo/master: Fix bug with close-curly not terminating statement before apparent
15:21 dalek rakudo/master: modifier on subsequent line.
15:21 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/5afabfa71567ba0d34e512a5ba1c3498ed31f6ad
15:21 dalek rakudo/master: dcc84e6 | pmichaud++ | docs/metamodel.pod:
15:21 dalek rakudo/master: Merge branch 'master' of git@github.com:rakudo/rakudo
15:21 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/dcc84e655d6e412a9cf14aa50405c5d676a2fc7e
15:21 jnthn Define "visible"
15:22 masak jnthn: participating in multi dispatch without any explicit trickery.
15:22 jnthn If a valid candidate exists in Child, then we call it.
15:22 jnthn Otherwise, we continue up to Parent and look for candidates there.
15:23 masak ok.
15:23 masak so a very wide match within Child will override a very narrow match in Parent?
15:23 jnthn Correct.
15:23 masak understood. thanks.
15:23 jnthn In fact
15:24 jnthn There's nothing to say that if Parent's foo is a multi, then Child's also has to be.
15:24 pmichaud anyone want to evaluate a test with me?  In for.t, I have disagreements with the tests for RT #61494
15:24 masak jnthn: so now it seems to me that multis are perfectly orthogonal to inheritance.
15:24 PacoLinux joined #perl6
15:24 pmichaud I also disagree with test #7
15:24 athaba joined #perl6
15:24 pmichaud my $a = 0;
15:24 pmichaud { $a++ } for 1..3;
15:24 pmichaud is $a, 0, 'the closure was never called';
15:25 jnthn masak: My slightly tired brain thinks that sounds fair. :-)
15:25 masak jnthn: :)
15:26 jnthn pmichaud: Do you expect:
15:26 jnthn $a++ for 1..3;
15:26 jnthn { $a++ } for 1..3;
15:26 jnthn To have different semantics?
15:26 masak I think a comment in that file says there was a p6l thread where TimToady said they do.
15:26 pmichaud that might be a different question.  But I do expect the code in the curlies to be executed.
15:26 jnthn pmichaud: I think I don't in that...
15:27 pmichaud Because S04 has:
15:27 pmichaud { say OUTER::<$_>, $_ } for 1,2,3;  # 421,422,423
15:27 jnthn for 1..3 { { $a++ } } # will be exeucted
15:27 jnthn for 1..3 { $a++ } # like this
15:27 pmichaud S04 also has
15:28 pmichaud @names = ({ "$^name.$^num" } for 'a'..'zzz' X 1..100);
15:28 pmichaud and even
15:28 pmichaud # Not an error: Equivalent to "for 1..10 -> $x { say $x }"
15:28 pmichaud { say $^x } for 1..10;
15:28 masak http://www.nntp.perl.org/group/perl.perl6.language/2006/09/msg26071.html
15:28 pmichaud hmmmmm
15:29 pmichaud I think the synopsis must be correct here, and the p6l message must be fossil.
15:29 pmichaud ...but checking.
15:29 jnthn -> $i { say $i } for 1..3;
15:29 masak linked from line 57 in t/spec/S04-statement-modifiers/for.t
15:29 jnthn That one may well produce a closure and not call it.
15:29 jackyf joined #perl6
15:29 jnthn iiuc then
15:30 jnthn { say 1; { say 2 }; -> $x { say 3 }; } # 1, 2
15:30 jnthn well, 1\n2\n...but not 3.
15:30 pmichaud jnthn: S04 has:
15:30 pmichaud @names = (-> $name, $num { "$name.$num" } for 'a'..'zzz' X 1..100);
15:31 pmichaud so that seems to argue against the   -> forms producing closures.
15:31 jnthn Ah.
15:31 REPLeffect joined #perl6
15:31 * pmichaud starts checking 'svn blame'
15:31 masak waitwait... that assignment binds looser than the statement modifier? o.O
15:32 pmichaud the statement modifier is in parens
15:32 pmichaud it's inside the parens along with the lambda block
15:32 pmichaud so it's modifying the lambda block, not the assignment.
15:33 masak oh.
15:33 masak sorry, I'm a bit distracted :)
15:33 pmichaud 23854      larry     @names = (-> $name, $num { "$name.$num" } for 'a'..'zzz' X 1..100);
15:33 pmichaud r23854 | larry | 2007-05-28 14:14:12 -0500 (Mon, 28 May 2007) | 2 lines
15:34 pmichaud I'm guessing the r23854 commit (May 2007) supersedes the Sep 2006 p6l posting.  :)
15:34 synth joined #perl6
15:34 jnthn wfm
15:35 pmichaud okay, how about the RT #61494 tests?
15:35 pmichaud (line 81)
15:37 jnthn The one with the XXX note?
15:37 pmichaud yes
15:38 pmichaud I don't think this test belongs in for.t
15:38 jnthn That looks...dubious.
15:38 pmichaud the problem here is (was) with the parsing of 'say', not with the for modifier.
15:39 jnthn Yes, S16-io/bare-say.t or something like that (name from memory) would be more suitable.
15:39 pmichaud I'll move it.
15:39 pmichaud thanks.
15:39 jnthn np
15:40 jnthn t/spec/S16-io/bare-say.t
15:42 lichtkind how about also a chat bot for wiki changes?
15:42 masak depends on its chattiness.
15:43 masak lichtkind: are you feeling that your work is not getting enough attention? :)
15:43 moritz_ lichtkind: dalek has an rss parser. If the wiki export an RSS feed of changes, it should be rather easy to do
15:43 lichtkind masak: no it would generate overall more attention to the wiki
15:43 moritz_ lichtkind: ask Infinoid for the details, and see http://github.com/Infinoid/dalek-plugins for details
15:43 lichtkind moritz_: thanks will later look into that
15:44 lichtkind moritz_: seems to be written in p5 :)
15:45 jnthn Feel free to write a Perl 6 one. :-)
15:45 lichtkind jnthn: ask one of my clones
15:46 pmichaud $lichtkind.clone.say("Feel free to write a Perl 6 one. :-)")
15:46 lichtkind hahha
15:47 lichtkind masak: i noticed that since i make more noise there where much more edits from other people
15:47 lichtkind ceeya
15:47 iblechbot joined #perl6
15:48 masak that's true, noise sometimes leads to more people helping.
15:48 * jnthn turns up his music
15:49 pmichaud PLZTURNOFFPOLKAMUSICKTHXBYE
15:49 Psyche^ joined #perl6
15:50 nihiliad joined #perl6
15:50 jnthn lol!
15:50 jnthn pmichaud: Regionally realistic, but not what I tend to be found listening to. :-)
15:53 justatheory joined #perl6
15:56 masak jnthn: once you move up here, pmichaud can guess folkmusik with nyckelharpa instead :P
15:59 Trashlord joined #perl6
16:01 Trashlord joined #perl6
16:05 * jnthn looks up nyckelharpa
16:05 jnthn ooh, that's a curious thingy.
16:05 masak :)
16:06 masak it's basically a medieval synthesizer.
16:06 jnthn lol!
16:06 jnthn You should add that to the Wikipedia page. :-)
16:07 masak heh :)
16:08 pmichaud hmmm... pugs commits aren't showing up here?
16:08 moritz_ no pugs_svn running atm
16:09 moritz_ can anybody look up what its host mask was?
16:09 * pmichaud longs for git.
16:10 masak how long is it since we switched to git? a year?
16:10 masak already everyone is hooked :)
16:10 masak s/we/Rakudo/
16:11 pmichaud 13 months, now
16:11 pmichaud yes, even some of the parrot folks who were steadfastly against git are starting to say "gee.... maybe we should...."
16:11 moritz_ Thu Jan 29 15:04:36 2009 +0000 was the last svn commit
16:16 pmichaud jnthn: is there a strong reason that Method.new takes a symbolic name ("!sig_setup...")  instead of a block PMC as an argument?
16:18 pmichaud I guess it's to keep the :outer
16:18 pyrimidine joined #perl6
16:19 jnthn pmichaud: It's to keep the outer.
16:19 pmichaud okay.  I think I'll replace that with block references.
16:19 jnthn I'm willing to consider it a code smell
16:20 pmichaud but maybe this is another place where it makes sense to have an explicit :outer attribute :)
16:20 pmichaud so far I'm still a bit against that approach, though.  reference tends to make more sense.
16:21 payload joined #perl6
16:21 jnthn If we can keep the outers straight and have a way to reference a block, that's fine by me.
16:22 jnthn $block.reference() # makes a PAST node of some kind that is a reference to the block
16:22 pmichaud sure, reference a block is with PAST::Val(:scope<register>, :value($block))
16:22 pmichaud (er, .new(...) )
16:22 pmichaud that already exists :)
16:22 jnthn PAST::Val has a .scope
16:22 jnthn ?
16:22 pmichaud oh, I have that wrong.
16:22 pmichaud ummmmmmm
16:23 pmichaud I'll have to look at alpha to see what it was :)
16:23 pmichaud might be PAST::Var then
16:24 pmichaud oh, it's just   PAST::Val.new( :value($block) )
16:28 pmichaud hmmmm
16:28 pmichaud create_code_object(PAST::Op.new( :pirop('newclosure PP'), $block ), 'Method', 0, $lazy_name);
16:29 pmichaud that looks problematic also.  newclosure creates a clone.
16:30 pmichaud oh, maybe it's okay.
16:32 jnthn Probably for the benefit of para-roles.
16:32 jnthn pmichaud: Ordinary classes almost certainly don't need it.
16:33 pmichaud it's in the thunking logic for attribute initializers
16:39 jnthn oh!
16:40 jnthn Isn't there a comment saying why? :-)
16:40 jnthn Oh, maybe there was in Alpha...
16:41 jnthn yes
16:41 jnthn # Need to not just build the closure, but new_closure it; otherwise, we
16:41 jnthn # run into trouble if our initialization value involves a parameter from
16:41 jnthn # a parametric role.
16:41 pmichaud right... but newclosure might bring about other issues
16:42 pmichaud anyway, I'm leaving that alone for now
16:42 pmichaud (i.e., until we observer a problem)
16:42 pmichaud *observe
16:42 jnthn We had it that way in alpha for the best part of a year, iirc. :-)
16:42 jnthn So fingers crossed. :-)
16:43 pmichaud if there's a problem, it will come about from people attempting to access lexicals or package vars from within an attribute initializer
16:43 pmichaud okay, I've switched lazy sigs to be referenced-based instead of namespace-lookup-based ... spectesting now.
16:50 meppl joined #perl6
16:51 cotto_work joined #perl6
16:52 pmichaud I don't quite understand the comment at Actions.pm:1016
16:52 pmichaud # Added via meta-class; needn't add anything.
16:52 pmichaud $past := PAST::Stmts.new();
16:52 pmichaud oh, I think I see what's happening.
16:52 pmichaud The real method is being installed into $table{$name}
16:52 pmichaud er, %table{$name}
16:53 pmichaud I think I can switch that.
16:56 jnthn Yes, you've got it.
16:57 pmichaud I'm switching it so that it still returns the actual method object, and installs a reference into $table{$name}
16:59 jnthn +1
17:01 pmichaud building, testing, crossing fingers
17:02 * sjn crosses fingers too
17:02 uniejo joined #perl6
17:03 sjn btw, quite a few people @ FOSDEM wanted to know about Rakudo
17:03 masak \o/
17:03 sjn and a few were very happy to hear about how much has been done and about Rakudo Star
17:04 pmichaud excellent
17:05 pmichaud wish I could've gone to FOSDEM.  I was there in 2008 and it was a great conference.
17:05 sjn it was very nice to look at the faces after I told them "Perl 6 not released? No.. There's been more than 20 monthly releases already, and in Q2 you'll get the first one meant for general usage." :)
17:05 sjn they look mostly like this: 8-o
17:05 sjn looked*
17:05 sjn :)
17:05 pmichaud excellent.  sjn++
17:06 sjn followed by this: 8-)
17:07 pmichaud (sigh)  maybe it's time for me to switch isps....
17:07 pmichaud pmichaud@orange:~$ nslookup www.google.com
17:07 pmichaud ;; connection timed out; no servers could be reached
17:09 pmichaud jnthn: where do the entries in %table get used?
17:17 jnthn pmichaud: src/Perl6/[Package|Role].pm
17:24 cotto_w0rk joined #perl6
17:24 jnthn pmichaud: Essentially, we make an instance of one of those per package.
17:25 jnthn pmichaud: So there's a single data structure that has information at compile time on what's making up the class etc.
17:25 jnthn pmichaud: And it also knows how to produce the AST, which is mostly a bunch of meta-method calls.
17:25 pmichaud right.  any particular pieces of that that are likely to depend on having PAST::Block nodes?
17:25 pmichaud because what I'm sending now are PAST::Val
17:26 jnthn pmichaud: nope
17:27 jnthn pmichaud: They just emit the node straight into the PAST tree that does the call to the meta-class.
17:27 pmichaud hmmm.  I get a codegen failure.
17:27 pmichaud let me reset and try again.
17:27 jnthn oh?
17:27 jnthn oddness
17:27 jnthn What's the failure?
17:28 pmichaud something is outputting "Capture" into core.pir
17:28 jnthn ew
17:28 pmichaud which makes me think a node is being stringified somewhere that shouldn't be.
17:28 jnthn Would putting a PAST::Val inside a PAST::Op with pasttype callmethod cause a problem?
17:28 pmichaud nope
17:28 jnthn OK
17:28 pmichaud PAST::Val is constant :-)
17:29 pmichaud and in this case, it just becomes a register
17:29 jnthn Sure
17:29 pmichaud (a PMC register)
17:29 jnthn That's the only slightly interesting thing we do.
17:29 jnthn Other than that it's just emitting it.
17:29 jnthn As in, sticking the node you pass in into a PAST tree.
17:29 pmichaud right
17:30 pmichaud I'll try it again, look more closely at the codegen
17:32 jnthn OK
17:33 gbacon joined #perl6
17:33 pmichaud assign $P114, Capture[0x2e68850]
17:34 pmichaud yeah, it's the funky thing going on with the PAST::Op, I guess.
17:34 jnthn ah, Ihate
17:34 pmichaud $P113 = new ["Perl6MultiSub"]
17:34 pmichaud new $P114, "PAST;Op"
17:34 pmichaud assign $P114, Capture[0x2e68850]
17:34 pmichaud $P115 = $P113."set_candidates"($P114)
17:34 pmichaud meta."add_method"(obj, "Str", $P115)
17:34 jnthn it when that happens...
17:34 jnthn oh
17:34 jnthn eww
17:34 jnthn So only a problem for multis?
17:35 nbrown joined #perl6
17:37 pmichaud oh, wait
17:37 pmichaud create_code_object returns a PAST::Block?  or something else?
17:37 * pmichaud checks
17:37 jnthn PAST::Op
17:37 pmichaud that's the issue
17:37 pmichaud okay
17:37 jnthn It takes a PAST::Block as one of it's parameters
17:38 jnthn Basically, it wraps the Parrot sub up in a higher level code object.
17:38 pmichaud right, I ended up taking the reference to the PAST::Op instead of the block
17:38 jnthn oh!
17:38 jnthn You probably wnat to pass the reference into create_code_object :-)
17:38 pmichaud sooooo.....
17:38 jnthn oh, but hmm
17:39 pmichaud the question really becomes, what gets returned by method_def ?
17:39 pmichaud at the moment, the problem line is
17:39 * jnthn starts to see the problem... :-/
17:39 pmichaud $past := PAST::Stmts.new();
17:39 pmichaud because we really need to return the block, or something containing the block
17:39 jnthn Return whatever create_code_object returns.
17:40 jnthn IIRC, it doesn't matter if you call create_code_object twice on the same Parrot sub.
17:40 jnthn In .new, I'm pretty sure it recognizes if the Parrot sub already has an attached wrapper.
17:40 jnthn And just returns that.
17:40 pmichaud more to the point, I don't think we want  %table{$name} to be handling the code gen for the block itself.  as in, ever.
17:41 jnthn Well, it's "not" now in a sense.
17:41 jnthn As in
17:41 jnthn It doesn't care much about what it's given.
17:42 pmichaud but in the code it generates, are the various method calls expecting to have the actual Method object or the underlying block ?
17:42 jnthn Method object.
17:42 pmichaud right, that's a problem.
17:42 jnthn ?
17:42 payload joined #perl6
17:42 jnthn I don't want [package|role].pm having to know about doing the wrapping.
17:43 pmichaud I agree
17:43 jnthn And at the moment they don't.
17:43 jnthn (Yes, it just so happens that the current impl has the actual PAST node for the block and the wrapping passed in. But it doesn't have to be that way.)
17:44 jnthn I'm guessing I'm kinda missing your point somewhere, I'm just not quite sure where yet. :-)
17:44 pmichaud I'm just trying to decide what should get the reference.
17:44 pmichaud I guess it's okay for the Method object to get the reference -- in that case, the method_def would "make $past" on the unwrapped block
17:45 pmichaud *would have to
17:45 jnthn I'm not sure that will end well. :-/
17:45 jnthn Well
17:45 jnthn It maybe doesn't matter for has-scoped methods.
17:46 jnthn But for my and our scoped ones (which granted we don't handle yet), the lexpad symbol and/or pcakge symbol should point to the wrapped thingy.
17:46 pmichaud that's no problem, that's what happens I think
17:47 pmichaud basically, %table{$name} always sees the result of create_code_object
17:47 jnthn Yes
17:47 pmichaud it's just that the Method object created for create_code_object gets a reference to the Parrot sub
17:48 jnthn Right
17:48 pmichaud while the Parrot sub itself (unwrapped) is used as the .ast value of method_def
17:48 pmichaud so that it will be scoped properly
17:48 jnthn That would probably work as an improvement on current situation.
17:48 pmichaud at runtime, the Method object ends up being exactly the same as it is now
17:48 jnthn Yes.
17:48 jnthn But the outers are pointed correctly.
17:48 pmichaud okay, trying that
17:48 jnthn I think that'll work.
17:49 jnthn Be careful not to break anonymous methods.
17:49 pmichaud they're in a separate 'if' section, shouldn't matter
17:49 pmichaud anonymous methods don't end up in that special %table anyway, I don't think.
17:49 jnthn Correct.
17:50 jnthn Was just a heads up that they *should* return the wrapping code.
17:50 pmichaud correct, they still will.
17:50 pyrimidine just a quick question, is PERL6LIB working on master?
17:51 pmichaud pyrimidine: not yet.
17:51 pyrimidine ok, just checking
17:51 stephenlb joined #perl6
17:57 xabbu42 joined #perl6
18:00 quietfanatic joined #perl6
18:04 ignacio_ joined #perl6
18:04 pmichaud > class A { my $x = 'xyz';  method xyz() { say $x; } };  A.new.xyz;
18:04 pmichaud xyz
18:04 lambdabot <no location info>: parse error on input `class'
18:04 pmichaud \o/
18:05 pmichaud lambdabot:  i hate you
18:05 pmichaud making spectest now
18:06 was kicked by jnthn: lambdabot
18:06 jnthn Hate removed.
18:06 moritz_ didn't I kickban lambdabot back in the days?
18:06 jnthn moritz_: I think so
18:06 jnthn moritz_: I don't remember lambdabot being around much at all of late.
18:06 jnthn So was kinda surprised to see it again now.
18:06 jnthn pmichaud: Nice work!
18:07 jnthn (Well, if the spectests pass anyway. :-P)
18:07 pmichaud so far so good
18:07 jnthn S14-role will be the acid test. :-/
18:07 PerlJam good day all
18:07 pmichaud PerlJam: is it?
18:08 PerlJam so far it seems so.
18:08 jnthn PerlJam: Akshually I liked yesterday better.
18:08 PerlJam besides I'm wishing everyone a good day rather than making a statement about today :)
18:08 pmichaud S14-roles all passed.
18:08 jnthn pmichaud: Hmm.
18:08 jnthn OK.
18:09 pmichaud let me double-check the codegen
18:09 jnthn parameterized-type.t
18:09 jnthn Is probably the budgie in the cage.
18:09 jnthn If that passes, you're probably in the clear.
18:10 pmichaud it passed
18:10 cotto_working joined #perl6
18:10 jnthn OK, wfm then. \o/
18:10 cdarroch joined #perl6
18:10 cdarroch joined #perl6
18:11 pmichaud and yes, we get correct codegen (looking at generated PIR)
18:11 ShaneC joined #perl6
18:11 pmichaud the block now has the correct :outer
18:11 jnthn Excellent.
18:12 pmichaud I'll commit what I have, then remove the pir:: hacks that we were using for !to-radians and make sure it still works
18:12 colomon \o/
18:12 pmichaud or I'll let colomon++ do it :)
18:12 pmichaud (need lunch here)
18:12 colomon stirring tapioca here...
18:12 * pmichaud absolutely loves his new google phone.
18:13 pmichaud (which isn't so new anymore, I guess)
18:13 colomon is that the nexus?
18:13 pmichaud yes
18:13 pmichaud ordered one in the first hour the site went live :)
18:14 jnthn Is that the Google Phone equivalent of lining up outside the Apple Store? :-)
18:14 xomas joined #perl6
18:14 pmichaud jnthn: yes, I think so.
18:15 pmichaud I was watching the Google press conference online, someone blogged "hey, the store is up!", and mine was ordered within just a few minutes :)
18:15 jnthn :-)
18:15 jnthn Does it run Rakudo yet?
18:15 jnthn ;-)
18:15 pmichaud via a ssh window, yes :)
18:15 colomon I haven't quite understood why people seem to prefer it to the Droid?
18:15 pmichaud the droid I saw seemed clunky next to my phone
18:17 colomon Ah.  Clunky might be for me.  ;)
18:17 pmichaud yes, I'm definitely a fan of "thin", "small", and "elegant".
18:17 colomon mostly I'm concerned about cell providers... it's not clear to me that anyone other than Verizon (who we're on) does an acceptable job with northern Michigan.
18:17 colomon afk # letting out parents' dog
18:18 pmichaud yeah, it was nice that I was already on T-Mobile, so that wasn't a concern for me :)
18:19 lichtkind pmichaud: even in german is T-mobile is a konzern :)
18:19 lichtkind http://blog.rfc2324.org/
18:21 pmichaud pushed class lexicals fix
18:21 pmichaud okay, lunchtime
18:21 colomon \o/
18:22 lichtkind pmichaud: bon appetit
18:23 lichtkind jnthn: http://www.perlfoundation.org/perl6/index.cgi?rakudo_star
18:24 TimToady lichtkind: I would prefer that my entry not speculate about Turing awards
18:25 dalek rakudo/master: a3a650e | pmichaud++ | src/ (2 files):
18:25 dalek rakudo/master: Change lazy signature setup so that it uses block references instead
18:25 dalek rakudo/master: of name lookups in the package.
18:25 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/a3a650e56c543ce0107ff1bac713f13c6cfa318c
18:25 dalek rakudo/master: d98b492 | pmichaud++ | src/Perl6/Actions.pm:
18:25 dalek rakudo/master: Refactor method creation a bit, making sure that
18:25 dalek rakudo/master: the Method objects end up with a PAST::Val reference
18:25 dalek rakudo/master: to the underlying Parrot sub, so that the PAST::Block
18:25 dalek rakudo/master: for the sub itself can be nested within the class/package/role
18:25 dalek rakudo/master: main block.  This resolves the problem with methods being unable
18:25 lichtkind TimToady: this sentence i copied from former material, since im no native speaker im reluctant with english jokes, but  its your page, i remove it
18:25 dalek rakudo/master: to access lexical and package-scoped variables in class definitions.
18:25 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/d98b4925c260c6a44cd7985883473afe719e36fc
18:26 lichtkind TimToady: your also author of viv?
18:27 hercynium joined #perl6
18:27 TimToady yes
18:27 jnthn lichtkind: s/March/April/
18:28 TimToady but it's not a major thing, really
18:28 jnthn s/His/It's/
18:28 lichtkind TimToady: thanks change is done
18:28 TimToady it's only in 2nd spot on the perl6.org page because I didn't want to pick one of the other things :)
18:29 lichtkind TimToady: it might compared to std but in the wiki we try to explain also also  hillarious perl 6 terms
18:29 lichtkind jnthn: thanks
18:29 lichtkind jnthn: any more specific date?
18:30 TimToady also, viv isn't done yet, considering it's supposed to translate vi to v
18:30 TimToady and replace gimme5
18:30 jnthn lichtkind: no :-)
18:30 TimToady people keep distracting me with shiny spec issues :)
18:31 lichtkind :)
18:31 jnthn .oO( is it the spec that's shiny, or the issues :-) )
18:31 lichtkind TimToady: i wasnt aware of thing like v and vi
18:31 * PerlJam wishes he could go to a TED event at least once
18:33 lichtkind PerlJam: most TED speaches i saw sucked badly
18:34 lichtkind jnthn: done
18:34 PerlJam Then I've been lucky in cherry-picking the good ones.
18:34 lichtkind PerlJam: most propably we have different taste :)
18:41 synth joined #perl6
18:43 payload joined #perl6
18:44 ggoebel joined #perl6
18:49 bionoid joined #perl6
18:56 |Jedai| joined #perl6
18:57 mdxi there are some interesting speeches, but i can't help but think that the people in teh room during those speeches are the same people who were OMG SO SURE that the Segway was about to magically turn all urban sprawl, everywhere, into gleaming arcologies
18:57 payload joined #perl6
18:58 colomon pmichaud: Huh.  Still getting Null PMC access in can() with sin.  Must check new code.
19:08 rgrau joined #perl6
19:17 Chillance joined #perl6
19:18 justatheory joined #perl6
19:19 andy1 joined #perl6
19:23 colomon pmichaud: Yup.  I
19:23 colomon I'm getting pretty much the same results as before the patch.
19:37 cotto_w0rk joined #perl6
19:40 payload joined #perl6
19:45 pmichaud colomon: looking
19:47 telmich joined #perl6
19:47 telmich hello
19:47 PerlJam greetings telmich
19:48 telmich I'm wondering whether choosing perl6 as a language to learn for a software devepment learning project
19:48 telmich is a good idea or not. how far is perl6 usable?
19:48 moritz_ telmich: it's not yet production ready
19:49 moritz_ telmich: do you know other programming languages already?
19:49 PerlJam moritz_: in some sense we should stop telling people that, so that they'll try to use it anyway  :)
19:49 telmich moritz_: lot shell, some perl, more c
19:49 moritz_ PerlJam: in some sense we shouldn't try to disappoint people
19:50 telmich I'm want to learn a new language within this project and also having a look at ruby currently
19:50 moritz_ what kind of project?
19:50 PerlJam telmich: ruby is an excellent language  to learn.  Very perlian in feel, but with syntax more like python
19:50 telmich well, the idea is to learn the theory of software development
19:50 telmich and we're pretty free to chose the language
19:51 PerlJam telmich: oh, if you just want theory, you don't even *need* a programming language :;)
19:51 PerlJam er, ;)
19:51 telmich well, at the end there must be something we can refactor ;-)
19:51 TimToady ruby will tend to trick you into software development via monkey patching though...
19:51 telmich TimToady: well, any other good pointer to a usable (object orientated! it's still in) programming language?
19:52 PerlJam telmich: smalltalk
19:52 telmich I was also considering python, but the interpreter is imho too buggy
19:52 TimToady if you consider python too buggy, stay away from rakudo for now.  :)
19:52 telmich PerlJam: sonuds interesting
19:53 telmich TimToady: ok :-)
19:53 TimToady on the other hand, python has *design* bugs which aren't in Perl 6  :)
19:53 PerlJam telmich: Haskell is object oriented if you cock your head to one side and squint a little bit.
19:54 telmich PerlJam: hmm, haskell is missing i/o in normal cases, afaik
19:54 PerlJam telmich: depending on what lessons your willing to learn, PHP 6 is object oriented too  :)
19:54 TimToady yeah, well, you have to see monads as objects, objects are all about state
19:55 PerlJam s/you/you're/
19:55 PerlJam telmich: you can still do IO with Haskell.  It's just ... different.
19:55 masak joined #perl6
19:56 colomon pmichaud: thanks.
19:57 telmich PerlJam: I guess php6 is a major bug upgrade of php4, isn't it?
19:57 PerlJam telmich: definitely.
19:58 pmichaud colomon: it seems to be working for me.
19:58 colomon how did you do it?
19:58 pmichaud I'll check in my change to sin.t momentarily.
19:59 PerlJam telmich: but, there are many design errors on PHP due to their apparent language-design-by-brownian-motion
19:59 pmichaud committed.
19:59 PerlJam s/on/in/
19:59 pmichaud r29800
20:00 PerlJam telmich: But it's "good enough" and that's all that matters to most people
20:00 telmich PerlJam: well, I think a bit different, which is perhaps the reason why I got in here.
20:01 telmich Still, perl6 somehow sounds like hurd and grub2 (though grub2 _HAS_ a release...)
20:01 colomon pmichaud: git pull is claiming I'm already up-to-date....
20:01 PerlJam telmich: Perl 6 has a release every month
20:01 PerlJam telmich: it's just called "Rakudo"
20:01 cotto_work joined #perl6
20:01 moritz_ telmich: but it's better than Duke Nuke Forever (which has stalled in development)
20:02 telmich hehe
20:02 telmich that one needed to come :-)
20:02 pmichaud colomon: what does line 1018 of src/Perl6/Actions.pm look like?
20:02 pmichaud or, what's the result of "git log -1"?
20:03 pmichaud colomon: note, all I did was change the spectest -- I didn't change anything in master since before lunch
20:04 pugssvn joined #perl6
20:06 telmich thanks for you advice so far, I'll come back and look again in some time!
20:07 telmich left #perl6
20:08 colomon pmichaud: oh!
20:09 colomon There should be parallel changes in the spectest and in Any-num.t.
20:09 synth joined #perl6
20:11 colomon pmichaud: latest commit is d98b4925c260c6a44cd7985883473afe719e36fc by you
20:12 * colomon actually feel asleep and started dreaming in his office chair while pmichaud was trying to talk to him ten minutes ago.  sigh....
20:17 colomon line 1018 of Actions.pm is         # $past := PAST::Stmts.new();
20:17 ignacio__ joined #perl6
20:21 pmichaud colomon: okay, you have the most up-to-date version
20:21 pmichaud and yes, I see the null pmc when trying the straightforward change to src/core/Any-num.pm
20:21 colomon so it's not just my machine.
20:21 colomon but the change in sin.t works?
20:21 pmichaud yes.
20:22 pmichaud I think it has to do with the fact that we're in core
20:22 colomon ah.
20:22 pmichaud class initialization gets a little weird there.
20:22 colomon makes sense.
20:23 colomon well, getting sin.t fixed is probably a more important first step anyway.
20:23 jackyf left #perl6
20:24 lichtkind pmichaud: am i right that rakudo #26 is already ng?
20:24 pmichaud lichtkind: yes.
20:24 lichtkind pmichaud++ great
20:24 pmichaud colomon: yes, I suspect we need to fix the other *.t files also?
20:25 colomon pmichaud: I'll be happy  to get that if sin.t works for me.
20:25 colomon It'll be a very quick fix.
20:25 colomon but I might not be able to get it tested and checked in before an upcoming whistle lesson.
20:25 colomon :)
20:26 pmichaud no rush from this end, other than I'd like to get the pir:: out of the test files asap
20:26 pmichaud but it doesn't have to happen "immediately"
20:28 colomon It really is trivial to change... I've already got it done, just need the testing of the change now.
20:29 colomon But I'm excepting to get pinged from Newfoundland in about one minute.  :)
20:34 lichtkind ruoso: ping
20:38 jferrero joined #perl6
20:42 cotto_work joined #perl6
20:46 kaare joined #perl6
20:51 pmichaud colomon: I'm not quite sure why things aren't able to be fixed in Any-num.pm yet, but I'll keep looking into it.  I'm sure it has to do with the order in which things initialize inside of the core setting.
20:53 pmichaud my main concern at this point was to get lexicals working in user-defined classes, and in the tests
20:53 pmichaud (and eliminate the pir:: from the test files)
20:53 pmichaud so that's been accomplished :)
20:53 pmichaud afk for a bit
21:01 ash_ joined #perl6
21:02 ruoso lichtkind, pong
21:05 lichtkind ruoso: grat please add to http://www.perlfoundation.org/perl6/index.cgi?daniel_ruoso or tell me
21:14 ruoso lichtkind, I added a link to my linkedin and ohloh profiles ;)
21:15 lichtkind ruoso: thanks, hope you seen we massivelyrevamped the wiki :)
21:15 * ruoso looking
21:22 colomon pmichaud: right, getting it out of the tests is most important.
21:23 pugssvn r29801 | colomon++ | [t/spec] Remove the pir:: optimization hack from the trig tests now that our variable declarations work okay in user classes.
21:23 colomon left #perl6
21:23 colomon joined #perl6
21:24 colomon Don't know how I managed to log myself out there.
21:28 ash_ rakudo: class Foo { }; my $a = Foo.new; my $b = Foo.new; say $a ~~ $b;
21:29 p6eval rakudo d98b49: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Foo'␤current instr.: 'infix:<~~>' pc 212643 (src/gen/perl6-actions.pir:15669)␤»
21:30 ash_ how would you compare a class you made?
21:30 ash_ would you need to override ~~ or == or eq or something?
21:31 lichtkind pmichaud: since im mention you there you should have seen this: http://www.perlfoundation.org/perl6/index.cgi?rakudo_star
21:31 TimToady ash_: depends on how you want to compare
21:33 jnthn ash_: For smartmatch you implement an ACCEPTS method in your class.
21:33 jnthn $a ~~ $b calls $b.ACCEPTS($a)
21:34 ash_ so, if you want ~~ to work you only need to make an ACCEPTS?
21:34 hercynium joined #perl6
21:35 jnthn Yes.
21:35 jnthn See some of the built-in types in src/core/ in Rakudo for some examples.
21:37 ash_ thanks, will do
21:37 ruoso TimToady, would you mind dropping the Instant->Numeric conversion ?
21:37 ruoso er... s/conversion/coercion/
21:38 * ruoso just sent an email with the reasoning about it
21:41 colomon Wouldn't you normally want to override cmp for a class, unless your class was specifically stringy or numeric?
21:43 alester joined #perl6
21:44 ash_ cmp or eqv?
21:44 colomon depends on what kind of comparison you want to do, I guess.
21:45 ash_ so... there is ==, ===, eq, eqv, cmp, ~~, umm... any others? just curious
21:45 colomon well, cmp fits in with <=> and leg
21:46 colomon It's not exactly an equals operator, though it can do that.
21:48 ash_ is True ~~ False really supposed to be true?
21:48 pmichaud no, it's False
21:48 pmichaud but False ~~ True is true :-)
21:48 pmichaud rakudo:  say True ~~ False;
21:48 p6eval rakudo d98b49: OUTPUT«0␤»
21:48 colomon :\
21:48 ash_ ah, that's what i meant i guess
21:48 pmichaud rakudo:  say False ~~ True
21:48 p6eval rakudo d98b49: OUTPUT«1␤»
21:50 ash_ is that doing True.ACCEPTS(False)?  or which kind of smartmatch does that do?
21:52 jnthn (True.ACCEPTS(False)) yes
21:52 jnthn But Bool's ACCEPTS is just defined as method ACCEPTS() { self }
21:53 ash_ is that how it should be?
21:55 ash_ just seems like a confusing definition
21:55 TimToady the assumption is that anything returning boolean has tested $_ somehow
21:55 pmurias joined #perl6
21:56 TimToady and "True" is the test that overrides whatever was in $_ :)
21:56 jferrero joined #perl6
21:56 TimToady however, since we've invented that * matches everything, there's less need for that
21:57 quietfanatic rakudo: say False ~~ 1
21:57 p6eval rakudo d98b49: OUTPUT«0␤»
21:57 TimToady so maybe we could put a warning if the right side is True
21:57 quietfanatic rakudo: say True ~~ 1
21:57 p6eval rakudo d98b49: OUTPUT«1␤»
21:57 TimToady or can be determined not to have tested $_
21:58 ash_ so like given $a { when * { } } vs given $a { when True { } }; it used to be when True, so it matched itself against anything basically?
21:58 TimToady yes
22:00 pmichaud I figured the purpose of the existing match is more like:
22:00 pmichaud given $person {  when .age > 35 { ... };   when .age > 40 { ... }
22:01 TimToady yes, that tests $_
22:01 pmichaud hmmmmm
22:01 pmichaud detecting that might be tricky, though.
22:01 TimToady which is much more useful than matching the left side against Bool
22:01 pmichaud right
22:01 pmichaud (I'm arguing in favor of the current spec)
22:03 pmichaud it seems more logical to special-case the situation of where  infix:<~~>  ends up with a true value as its rhs
22:04 pmichaud when function-returning-true() { ... }   # no warning
22:04 pmichaud if  xyz ~~ True { ... }   # warns
22:04 ash_ could Bool.ACCEPTS(False) { self === True } ?
22:04 pmichaud if  $xyz ~~ function-returning-true() { ... }   # also warns
22:05 pmichaud ash_:   note that the result of   70 > 35   is "True"  :-)
22:05 TimToady what if it function-returning-true see CALLER::<$_>?
22:05 TimToady *sees
22:05 pmichaud TimToady: I'm advocating that we don't worry about whether we "see $_"
22:05 pmichaud s/advocating/suggesting/
22:06 pmichaud Bool.ACCEPTS($x) { self }
22:06 pmichaud and
22:06 pmichaud infix:<~~>($topic, Bool) { warn ... }
22:07 TimToady that would warn if you say when $_ == 42
22:08 pmichaud oh, does    when call infix:<~~> ?
22:08 pmichaud I think we have it calling accepts
22:08 TimToady yes
22:08 pmichaud but I could be wrong about that
22:08 TimToady well, they're both special syntax that calls ACCEPTS
22:08 TimToady there is no ~~ operator, really...
22:08 TimToady is how I've been thinking of it
22:08 pmichaud okay, then I was posing a possible difference in the operator
22:08 pmichaud s/operator/syntax
22:09 TimToady doesn't help with when True
22:09 pmichaud my thinking was that 'when' never warns, while '~~' warns.
22:09 TimToady I think the target of either can be analyzed syntactically for things that obviously want a warning, like True
22:09 pmichaud so when True  would end up being   True.ACCEPTS($_)   which wouldn't warn
22:10 TimToady I think that's just as like to confuse people as ~~ True
22:10 TimToady *likely
22:10 pmichaud I'm thinking of the case where someone does
22:10 pmichaud if $x ~~ $y {  say "x matches y" }
22:10 pmichaud and $y ends up happening to be a Bool true or false
22:11 pmichaud we can't detect that syntactically
22:11 TimToady well, that's the grep True, ... case
22:12 TimToady possibly detectable for a parameter prototyped as as Matcher
22:13 TimToady lemme stew on that a little longer
22:13 pmichaud sure
22:13 pmichaud I see the problem with the other side as well now, also.
22:23 dalek rakudo/master: b9b10eb | pmichaud++ | build/Makefile.in:
22:23 dalek rakudo/master: Add some dependencies to the t/*/*.t targets.
22:23 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/b9b10eb2b53a7b0903e6cca8265e7c1932812194
22:29 wknight8111 joined #perl6
22:29 mssm joined #perl6
22:45 colomon TimToady: pir:: removed from spectests, thanks to pmichaud++'s patch that got "our @a" working in class definitions.
22:53 samlh joined #perl6
22:55 IllvilJa joined #perl6
22:58 eternaleye joined #perl6
22:59 cotto_work joined #perl6
23:01 wanradt_ joined #perl6
23:07 stephenlb joined #perl6
23:17 payload joined #perl6
23:23 xabbu joined #perl6
23:24 payload joined #perl6
23:30 snarkyboojum joined #perl6
23:45 ggoebel joined #perl6
23:54 wanradt joined #perl6

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

Perl 6 | Reference Documentation | Rakudo