Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-03-31

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 jnthn buubot: karma jnthn
00:00 buubot jnthn: jnthn has karma of 692
00:00 jnthn buubot: karma jonathan
00:00 buubot jnthn: jonathan has karma of 295
00:00 jnthn rakudo: say 692 + 295;
00:00 snarkyboojum heh
00:00 lue I was gonna do that :)
00:00 p6eval rakudo 00d8d8: OUTPUT«987␤»
00:00 bkeeler buubot: karma bkeeler
00:00 buubot bkeeler: bkeeler has karma of 32
00:01 bkeeler Got a ways to go it seems, heh
00:01 jnthn rakudo: say "jnthn must write { 1000 - 987 } patches before he can retire."
00:01 p6eval rakudo 00d8d8: OUTPUT«jnthn must write 13 patches before he can retire.␤»
00:01 jnthn \o/
00:01 lue buubot: link [jonathan] to [jnthn]
00:01 buubot lue: Couldn't match input.
00:01 snarkyboojum buubot: karma snarkyboojum
00:01 buubot snarkyboojum: snarkyboojum has karma of 14
00:01 lue It should do something like that :)
00:01 snarkyboojum heh
00:01 lue buubot: karma lue
00:01 buubot lue: lue has karma of 39
00:01 snarkyboojum I have 14 fake karmas! :)
00:01 bkeeler back in a bit... Beer:30
00:02 snarkyboojum is it true that the karma bot count each commit line in the commit message as 1 karma point?
00:02 lue Darn my time travel. If I totaled up all the karma I have accumulated... let's see...
00:03 snarkyboojum s/count/counts/
00:03 jnthn snarkyboojum: No, just each ++ :-)
00:03 snarkyboojum to encourage verbose and descriptive commits?
00:03 jnthn But good idea ;-)
00:03 snarkyboojum ah - ok - heard that in an audrey tang preso (vid online) I think
00:04 lueInTime ...hguorht
00:04 lueInTime gnissaP
00:05 jnthn snarkyboojum: ah, maybe it used to work that way.
00:05 lueInTime arma l
00:05 lueInTime buubot: k
00:05 buubot lueInTime: Couldn't match input.
00:05 lueInTime ue
00:06 lueInTime O(I hate attempting to use the IRC when hopping through time) so much at once.o
00:10 lue Ah!... I apparently had a total karma of 42e(10^100).
00:10 lue But then the big bang happened :/
00:11 snarkyboojum what was before that? ;)
00:12 eternaleye joined #perl6
00:13 lue before the big bang? Loads of other universes. The big bang for this universe blew the power in all the neighboring universes. Most ancient computers lost their data.
00:13 jnthn In a previous universe, Perl reached verison 11. This was the first version that included a Universe type. It was meant to be a singleton, but due to an implementation bug, it was possible to call CREATE on it more than once, and our universe was spawned.
00:13 snarkyboojum haha
00:13 snarkyboojum I like it
00:13 lue ...Nah, it reached version 42.
00:14 lue jnthn: I think this universe has gotten way out of hand :/ . If you're right, then...
00:14 lue ^C
00:15 lue .u term
00:15 phenny U+FFFB INTERLINEAR ANNOTATION TERMINATOR ()
00:15 snarkyboojum I thought you were going to say Perl 11 was used to program the final cosmic Microvac (http://www.multivax.com/last_question.html)
00:16 lue http://en.wikipedia.org/wiki​/Wikipedia:Protection_policy see all the locks of wikipedia :)
00:17 lue snarky: I read that before, actually. Annoying (but fun) ending :)
00:17 snarkyboojum lue: aye :)
00:20 lue Looking back at it... the first part, they should have asked Deep Thought :)
00:25 payload joined #perl6
00:26 snarkyboojum how does one go about trying to understand the "You can not add a Method to a module; use a class, role or grammar" error
00:28 TimToady jnthn: I have tweaked S05 to match what we were saying about <foo>, <.foo>, and <&foo>
00:29 jnthn TimToady: So: <.foo> = always method, <&foo> = always lexical, <foo> = lexical if there exists a pre-declared one, method otherwise?
00:29 TimToady correct
00:29 TimToady seems sane
00:29 jnthn OK
00:29 jnthn I need to sleep now but maybe can take a crack tomorrow, or maybe somebody beats me to it. :-)
00:29 TimToady found a lot of fossils to fix in S05 too...
00:30 TimToady I'm sure there are plenty more to dig up...
00:30 snarkyboojum seems to come from Perl6/Compiler/Module.pm
00:31 jnthn snarkyboojum: It pretty much means what it says.
00:31 jnthn snarkyboojum: However, it may be being wrongly given.
00:31 jnthn I think masak++ found such a case.
00:31 snarkyboojum jnthn: ok, but it's thrown even when using a class
00:31 jnthn snarkyboojum: Got a simple example?
00:31 jnthn It's probably a bug though.
00:32 snarkyboojum well using masak++ 's example at http://use.perl.org/~masak/journal/40280
00:32 snarkyboojum but I'm using a class not grammar
00:34 jnthn snarkyboojum: Ah, that one is certainly a bug.
00:34 jnthn I'm not completely sure that triggers it yet.
00:34 TimToady grammar is just a class that implies 'is Cursor' somehow
00:34 jnthn TimToady: Yeah, we have it that way pretty much. I think it's a re-entrancy mess-up.
00:34 jnthn Something global that perhaps wants to not be.
00:34 TimToady .oO(where have I heard that before...)
00:35 jnthn May be able to get away with a contextual.
00:35 jnthn Will check.
00:35 jnthn But for now I need sleeps.
00:35 snarkyboojum jnthn++
00:35 snarkyboojum :)
00:35 TimToady jnthn: you keep saying that...
00:36 jnthn TimToady: Every day, it seems.
00:36 jnthn Strange.
00:36 TimToady every day at about 3am...
00:37 jnthn Might have to try and make it a little before that tomorrow, since 9am meeting in another city on Thursday. :-/
00:37 TimToady good luck
00:37 TimToady and good night
00:37 jnthn ;-)
00:37 jnthn night o/
00:37 snarkyboojum night!
00:38 lue nightio o/
00:38 lue Yes, it's odd that you need to sleep every day. I average every 27 days :)
00:39 ruoso joined #perl6
00:46 snarkyboojum rakudo: class A {...}; class B { method use-A() { use A; } }
00:46 p6eval rakudo 357652: OUTPUT«Unable to find module 'A'.␤current instr.: 'perl6;Perl6;Module;Loader;need' pc 34520 (src/gen/role_pm.pir:0)␤»
00:46 snarkyboojum std: class A {...}; class B { method use-A() { use A; } }
00:46 p6eval std 30244: OUTPUT«Potential difficulties:␤  Can't locate module A at /tmp/PcxIwSToGd line 1:␤------> [32m {...}; class B { method use-A() { use A[33m⏏[31m; } }[0m␤ok 00:01 109m␤»
00:47 snarkyboojum rakudo: class A { method use-stuff() { use Test; } }
00:47 p6eval rakudo 357652:  ( no output )
00:50 lue perl6: class A {}; class B { method use-A() { use A; } }
00:51 TimToady std: class A {...}; class B { method import-a() { import A; } }
00:51 p6eval elf 30245: OUTPUT«Parse error in: /tmp/RE0RDWjjrw␤panic at line 1 column 22 (pos 22): Missing right brace␤WHERE: class A {}; class B { method use-A() { use A; } }␤WHERE:                      /\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:255:in `_block_rest'␤  STD_red/std.rb:242:in
00:51 p6eval ..`…
00:51 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "-"␤    expecting "::", "handles", "is", bare trait, subroutine parameters, trait or block␤    at /tmp/xhIGbUJuk3 line 1, column 33␤»
00:51 p6eval ..rakudo 357652: OUTPUT«Unable to find module 'A'.␤current instr.: 'perl6;Perl6;Module;Loader;need' pc 34520 (src/gen/role_pm.pir:0)␤»
00:51 p6eval std 30244: OUTPUT«ok 00:01 107m␤»
00:51 TimToady you never use a class that's in the same file
00:51 TimToady use is for finding an external file
00:51 snarkyboojum yeah
00:51 snarkyboojum chees
00:51 snarkyboojum cheers :)
00:51 snarkyboojum can't test a bug here that requires a separate file I suppose
00:51 TimToady that's why it's split up into need and import now
00:54 diakopter Fighting fires is hard when many of the other supposed firefighters are actually arsonists, unbeknownst to themselves.
00:54 snarkyboojum what is MONKEY_TYPING?
00:55 lue Beknownst to the DA though. He was killed the next day.
00:55 lue By a fire.
00:55 sjohnson hi diakopter long time no see
00:57 TimToady snarkyboojum: To be or not to be, that is the glabnoksjesjidf.
00:57 snarkyboojum err..
00:57 snarkyboojum :)
00:57 snarkyboojum enough monkeys in a room can produce something like Hamlet?
00:58 yinyin joined #perl6
00:58 lue rakudo: say ('be'|!'be')
00:58 p6eval rakudo 357652: OUTPUT«any("be", Bool::False)␤»
00:58 * snarkyboojum is none the wiser
00:58 TimToady or enough monkeys on your design team can turn the best type hierarchy into total mush
00:58 snarkyboojum hehe
00:58 lue that is an interesting output :) (not necessarily wrong, but)
00:59 snarkyboojum is there something I can read about it? this MONKEY_TYPING business?
00:59 TimToady so if you want to augment or supersede an existing type, you have to declare that you are a monkey
00:59 snarkyboojum oic
00:59 TimToady std: augment Int {...}
00:59 p6eval std 30245: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed augment at /tmp/SZkH6T7uQj line 1:␤------> [32maugment Int [33m⏏[31m{...}[0m␤    expecting any of:␤       multi_declarator␤ typename␤FAILED 00:01 107m␤»
00:59 TimToady std: augment class Int {...}
00:59 p6eval std 30245: OUTPUT«[31m===[0mSORRY![31m===[0m␤Can't augment class Int without MONKEY_TYPING at /tmp/bBPBREFq5A line 1:␤------> [32maugment class Int[33m⏏[31m {...}[0m␤FAILED 00:01 105m␤»
01:00 colomon jnthn++
01:00 TimToady see S12:2031 also
01:00 snarkyboojum okydoke, that gives me a hint - thanks TimToady++
01:00 snarkyboojum ok - cheers
01:00 lue I would rather declare myself smarter than a human.
01:01 lue so something like DOLPHIN_TYPING or MOUSE_TYPING :)
01:02 TimToady everyone knows that anyone smarter than a human doesn't have to resort to typing at all anymore...
01:03 TimToady even future humans are smarter than that: "A keyboard, how quaint." --Scotty
01:04 lue By then the mice and dolphins will have come full circle to the keyboard, because it's more fun. How smart is that :)
01:05 TimToady I thought that one was about whales...
01:06 lue The whale died while naming the ground "ground" at calling ground its friend.
01:06 lue It landed on a bowl of petunias
01:17 lue (it occured to me a while ago that we were possibly talking about different things)
01:17 lue rakudo: say $*CALENDAR
01:18 p6eval rakudo 357652:  ( no output )
01:20 lue rakudo: say localtime($epoch = time(), $calendar = Gregorian::Calendar)
01:21 p6eval rakudo 357652:  ( no output )
01:21 colomon lue: TimToady was talking about Star Trek 4.
01:21 lue aaaah :)
01:22 lue I got the quaint keyboard part, but at the time didn't think he continued referring to Star Trek :)
01:23 lue The whole Temporal bit is dissapointing
01:23 lue rakudo: say iamnotarealsub($var1="hello")
01:23 p6eval rakudo 357652: OUTPUT«Symbol '$var1' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)␤»
01:24 lue rakudo: say iamnotarealsub()
01:24 p6eval rakudo 357652: OUTPUT«Could not find non-existent sub &iamnotarealsub␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
01:28 lue what's the purpose of src/old/setting ? Would creating a file of the same name (say, Temporal.pm) in src/core override what's in src/old/setting ?
01:30 snarkyboojum lue: I think that's just there for easy reference (from alpha or so)
01:31 jrtayloriv joined #perl6
01:32 jrtayloriv Has anyone done any work with Tk or other GUI libs with Rakudo that I could take a look at? Is Rakudo/Perl 6 anywhere close to being able to use GUI libraries?
01:32 araujo joined #perl6
01:33 s1n joined #perl6
01:34 araujo joined #perl6
01:34 lue I can't say for sure, but I believe that's a no :(
01:41 sorear joined #perl6
01:44 arnsholt jrtayloriv: I'm not entirely sure, but Rakudo and Parrot's interface to C code is still being worked on, so I don't think so I'm afraid
01:45 jaldhar joined #perl6
01:46 snarkyboojum rakudo: class A {};
01:46 snarkyboojum rakudo: class A {}; A.WHAT.say
01:47 p6eval rakudo 357652:  ( no output )
01:47 p6eval rakudo 357652: OUTPUT«A()␤»
01:47 snarkyboojum rakudo: class A {}; A.WHENCE.say
01:47 jrtayloriv OK, is that something that would likely be somewhat worked out by the time that Rakudo * is released later this year? I've got a personal/hobby project that I wanted to work on, and I was considering writing it in Perl 6, but I would need to be able to use GUI libs with it.
01:47 jrtayloriv sorry my internet got disconnected, so I'm going to repeat, in case the last message didn't get sent...
01:47 jrtayloriv OK, is that something that would likely be somewhat worked out by the time that Rakudo * is released later this year? I've got a personal/hobby project that I wanted to work on, and I was considering writing it in Perl 6, but I would need to be able to use GUI libs with it.
01:47 p6eval rakudo 357652: OUTPUT«Method 'say' not found for invocant of class 'Undef'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
01:48 snarkyboojum how do you determine if A is a class or a module or a grammar or...
01:50 lue rakudo: class A {}; say (A.WHO,A.WHAT,A.WHERE,A.WHENCE).join("\n");
01:51 snarkyboojum rakudo: class A {}; A.HOW.say
01:51 p6eval rakudo 357652: OUTPUT«A␤A()␤47236609465360␤␤»
01:51 p6eval rakudo 357652: OUTPUT«ClassHOW()␤»
01:52 lue rakudo: my Int $a=2; say $a.WHO; say $a.WHAT
01:53 p6eval rakudo 357652:  ( no output )
01:54 lue rakudo: my Int $a=2; say $a.WHO; say $a.WHAT
01:54 p6eval rakudo 357652: OUTPUT«Int␤Int()␤»
01:55 snarkyboojum heh
01:55 eternaleye joined #perl6
01:55 Psyche^ joined #perl6
01:55 snarkyboojum learning Perl 6 by breadth first search lol
01:57 lue Is there ever a time when WHO and WHAT will _not_ return the same thing ( regardless of () ) ?
02:00 snarkyboojum rakudo: class A {}; if A.HOW ~~ ClassHOW { say "Gotcha" }
02:00 p6eval rakudo 357652: OUTPUT«Gotcha␤»
02:00 snarkyboojum I'm sure that's evil or something
02:01 lue rakudo: grammar A {}; if A.HOW ~~ ClassHOW { say "Objection!" } # along with epic finger point :)
02:01 p6eval rakudo 357652: OUTPUT«Objection!␤»
02:01 snarkyboojum heh
02:02 snarkyboojum I'm sure I'm asking the wrong question :)
02:02 arnsholt lue: Howso? grammars are a specialisation of classes, after all
02:03 arnsholt jrtayloriv: I'm not sure what the schedule is on that. jnthn or mberends might know, if you're available during the CET daytime
02:04 jrtayloriv arnsholt, I'll try again in a couple of days. I'm not on the interweb much lately. I posted something up on PerlMonks, so hopefully someone can respond there. Thanks for your help.
02:05 lue arnsholt: they are? oh...
02:06 lue rakudo: if grammar ~~ class { say "Hold it!" }
02:06 p6eval rakudo 357652: OUTPUT«Malformed package declaration at line 11, near "~~ class {"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:11 lue rakudo: my $a = 2; my $b = 3; $a==$b ?? say "Objection!" !! say "Good!"
02:11 p6eval rakudo 357652: OUTPUT«Good!␤»
02:12 TimToady You too could write a test suite!!!
02:14 solarion joined #perl6
02:15 lue Do I get a free box of Fresh Air™ if I call now?
02:16 TimToady No.  But wait, there's more...
02:16 TimToady I was gonna say there's less, but you can't have less than nothing.
02:16 TimToady hmm, wait, I'm a homeowner, you can...
02:17 lue Did you know tweet is a registered trademark of Twitter, Inc.? (according to every commercial where someone says '...tweet...')
02:17 dalek rakudo: 8ba6030 | (Solomon Foster)++ | src/core/ (2 files):
02:17 lue That's right, tweet® would be the legal way to represent that :)
02:17 dalek rakudo: Int and Num do Real.   jnthn++ for patching it so this works with augument.
02:17 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​ba60307a4af36b45b2221f98e998be9dda75c94
02:18 diakopter if you call now, we'll double your order, for free!  Just pay the exorbitant shipping and handling fees.
02:18 TimToady std: constant tweet® = 42; tweet®
02:18 p6eval std 30245: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed constant at /tmp/aeKBRMOfgH line 1:␤------> [32mconstant tweet[33m⏏[31m® = 42; tweet®[0m␤    expecting any of:␤     trait␤  type_declarator__S_229constant␤FAILED 00:01 107m␤»
02:18 TimToady I guess ® isn't considered alphanumeric
02:18 TimToady that's funny :)
02:18 lue If they can register a verb as a trademark, then so can I!
02:19 lue Let's get together and code™ rakudo! (note: I haven't registered it yet)
02:19 lue Or maybe a preposition, that'd be more annoying.
02:19 TimToady std: sub postfix:<®> ($x) { $x }; sub tweet {...}; tweet®
02:20 diakopter o_O
02:20 lue I need to™ go to™ the RT and see what there is to™ do.
02:21 diakopter All the little birdies on jaybird street need to stock up on lawyers.
02:21 p6eval std 30245: OUTPUT«ok 00:02 110m␤»
02:21 TimToady p6eval is rather leisurely today
02:22 diakopter I mean... the robin to which they listen. :|
02:22 diakopter actually it's working quite hard. just at the wrong things.
02:22 lue There Is More Than One Way To Do It.™
02:22 Psyche^ joined #perl6
02:22 lue .u copyleft
02:22 phenny lue: Sorry, no results for 'copyleft'.
02:22 phenny lue: Sorry, no results for 'copyleft'.
02:22 lue that's not right :O
02:22 diakopter .u wright
02:22 phenny diakopter: Sorry, no results for 'wright'.
02:22 lue .u phoenix
02:22 diakopter .u below
02:22 phenny lue: Sorry, no results for 'phoenix'.
02:22 phenny U+0353 COMBINING X BELOW (◌͓)
02:23 diakopter .u around
02:23 phenny U+232E ALL AROUND-PROFILE (⌮)
02:23 lue .u apollo
02:23 phenny lue: Sorry, no results for 'apollo'.
02:23 TimToady There's More Than More Than One Way To Do It Wrong.
02:23 lue
02:23 * diakopter t[w]itters
02:23 CokeCokeCokeCoke TimToady: that's catch. you should make a t-shirt.
02:23 diakopter wait
02:23 CokeCokeCokeCoke *catchy
02:23 diakopter TimToady: More Than More Than
02:24 lue >>
02:24 diakopter o wait. it's self-referential.
02:24 diakopter hee
02:24 * TimToady bows
02:24 lue Larry Wright, Ace Atorney :)
02:25 snarkyboojum joined #perl6
02:25 TimToady .u very
02:25 phenny U+22D8 VERY MUCH LESS-THAN (⋘)
02:25 lue .u tim
02:25 phenny U+D300 HANGUL SYLLABLE TIM (팀)
02:26 lue .u tm
02:26 phenny lue: Sorry, no results for 'tm'.
02:26 lue .u integer
02:26 phenny lue: Sorry, no results for 'integer'.
02:26 lue .u real
02:26 phenny lue: Sorry, no results for 'real'.
02:26 lue .u law
02:26 diakopter std: token sigil:<®> { '®' }; my ®s = 4;
02:26 phenny lue: Sorry, no results for 'law'.
02:26 lue .u kill
02:26 phenny lue: Sorry, no results for 'kill'.
02:27 * diakopter waits
02:27 p6eval std 30245: OUTPUT«ok 00:01 111m␤»
02:27 * diakopter blinks
02:28 diakopter std: my ®s = 4;
02:29 diakopter hm
02:29 lue rakudo: my $®est = "never"; say $®est
02:29 * diakopter pulls out the killall -9
02:30 p6eval std 30245: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed my at /tmp/S0AyRiWfuy line 1:␤------> [32mmy [33m⏏[31m®s = 4;[0m␤    expecting scoped declarator␤FAILED 00:01 105m␤»
02:30 p6eval rakudo 357652:  ( no output )
02:30 diakopter hee
02:30 * lue now feels like coming up with a Phoeni[copyright infrigment avoidance bracket (CIAB)]x Wright parody concerning P6
02:30 diakopter how is this ok?   std: token sigil:<®> { '®' }; my ®s = 4;
02:30 lue you can define your own sigil? Awesome!
02:31 TimToady it doesn't matter what the declarator is
02:31 diakopter hm
02:31 TimToady it just sees the sigil:<®> and adds a macro
02:31 TimToady std: sub sigil:<®> { '®' }; my ®s = 4;
02:32 * diakopter 's heart grows a little bit larger than Hooville
02:32 p6eval std 30245:  ( no output )
02:32 TimToady hmm
02:32 TimToady std: sub sigil:<®> { 123; }; my ®s = 4;
02:32 p6eval std 30245: OUTPUT«ok 00:01 111m␤»
02:32 diakopter that's just timing out b/c of cpu time
02:32 diakopter starvation
02:32 TimToady std: sub twigil:<®> { 123; }; my $®s = 4;
02:32 p6eval std 30245: OUTPUT«ok 00:01 108m␤»
02:33 TimToady a token would have to use :sym in any case
02:33 diakopter std: token sigil:<®> { '®' }; sub twigil:<®> { 123; }; my ®®s = 4;
02:34 diakopter sigh
02:34 diakopter up
02:34 p6eval std 30245:  ( no output )
02:34 diakopter std: token sigil:<®> { '®' }; sub twigil:<®> { 123; }; my ®®s = 4;
02:34 p6eval std 30245:  ( no output )
02:35 lue diakopter: that's a big heart.
02:35 diakopter std: token sigil:<®> { '®' }; sub twigil:<®> { 123; }; my ®®s = 4;
02:35 p6eval std 30245: OUTPUT«ok 00:02 112m␤»
02:35 diakopter hee
02:36 lue rakudo: token twigil:<$> {'hello';}; my $$a = 72;
02:36 p6eval rakudo 357652: OUTPUT«Malformed regex at line 11, near "twigil:<$>"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:37 TimToady std: token twigil:<$> {'hello';}; my $$a = 72;
02:37 p6eval std 30245: OUTPUT«[31m===[0mSORRY![31m===[0m␤Semicolon must be quoted at /tmp/5hTKEivJ6u line 1:␤------> [32mtoken twigil:<$> {'hello';[33m⏏[31m}; my $$a = 72;[0m␤FAILED 00:01 106m␤»
02:37 diakopter std: token twigil:<$> { '$' }; my $$a = 72;
02:37 p6eval std 30245: OUTPUT«ok 00:01 109m␤»
02:37 TimToady it's wrong to use 'token' there.
02:40 lue oh!
02:40 lue rakudo: sub twigil:<$> {say 'hello';}; my $$a = 72;
02:40 p6eval rakudo 357652: OUTPUT«error:imcc:syntax error, unexpected '\n'␤  in file 'EVAL_1' line 58␤Malformed my at line 11, near "$$a = 72;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:41 lue how the heck did that happen :)
02:41 diakopter that's a new one
02:42 lue rakudo: sub twigil:<$> {print 'hello';}; my $$a = 72;
02:42 p6eval rakudo 357652: OUTPUT«error:imcc:syntax error, unexpected '\n'␤  in file 'EVAL_1' line 58␤Malformed my at line 11, near "$$a = 72;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
02:42 lue _now_, I don't know where the \n comes from
02:43 diakopter rakudo: sub twigil:<@> {};
02:43 p6eval rakudo 357652: OUTPUT«error:imcc:syntax error, unexpected '\n'␤  in file 'EVAL_1' line 58␤A method named '>' already exists in class 'Perl6;Grammar'. It may have been supplied by a role.␤current instr.: 'parrot;P6metaclass;add_method' pc 422 (runtime/parrot/library/P6object.pir:326)␤»
02:43 * diakopter squeals with delight
02:43 diakopter a la Dennis Nedry
02:44 lue why, do you know the source of the err ?
02:44 diakopter no
02:45 diakopter but.. its mysteriousness is enchanting
02:48 Psyche^ joined #perl6
02:50 lue rakudo: multi sub twigil:<™> {};
02:50 p6eval rakudo 357652: OUTPUT«error:imcc:syntax error, unexpected '\n'␤  in file 'EVAL_1' line 58␤»
02:51 lue It got shorter now :)
02:51 snarkyboojum interestingly, with that 'You can not add a Method to a module; use a class, role or grammar' bug when doing a 'use' on a file which defines a class/grammar/etc, you can get avoid the error by pre-compiling the file -> pir first
02:51 * snarkyboojum hopes that made vague sense
02:52 snarkyboojum the problem crops up when Perl6::Module::Loader.need() has to compile the file using Perl6::Compiler::compile()
03:00 lue http://meta.wikimedia.org/wiki/SVG_image_support Apparently, wikimedia can 'grok' things as well :)
03:05 lisppaste3 colomon pasted "Errors I hope jnthn can explain from Real role..." at http://paste.lisp.org/display/97114
03:09 PZt joined #perl6
03:11 hercynium joined #perl6
03:22 diakopter std: say 5^^^^4
03:22 p6eval std 30246: OUTPUT«[31m===[0mSORRY![31m===[0m␤Preceding context expects a term, but found infix ^^ instead at /tmp/xjRueUHBU2 line 1:␤------> [32msay 5^^^^[33m⏏[31m4[0m␤FAILED 00:01 106m␤»
03:22 diakopter rakudo: say 5^^^^4
03:22 p6eval rakudo 357652: OUTPUT«␤»
03:22 diakopter rakudo: say 5^^^^4; say 444
03:22 p6eval rakudo 357652: OUTPUT«␤444␤»
03:22 diakopter rakudo: say (5^^^^4).WHAT; say 444
03:22 p6eval rakudo 357652: OUTPUT«Method 'WHAT' not found for invocant of class 'Undef'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
03:23 lue what are you trying to do?
03:25 snarkyboojum anyone know what Perl::Compiler::compile(...) is doing and where I'd find it? :)
03:25 snarkyboojum eek - Perl6::Compiler::compile()
03:30 m6locks how do i get the MAX_VALUE of Num?
03:40 diakopter lue: I'm trying to explore boundaries of Rakudo's correctness
03:45 lue they are about as explorable as the inside of a tic-tac-toe grid #
03:46 lue .u torus
03:46 phenny lue: Sorry, no results for 'torus'.
03:46 diakopter .u infinity
03:46 phenny U+221E INFINITY (∞)
03:46 diakopter .u circle
03:46 phenny U+25CB WHITE CIRCLE (○)
03:46 diakopter .u small circle
03:46 phenny U+29C7 SQUARED SMALL CIRCLE (⧇)
03:47 diakopter .u degrees
03:47 phenny diakopter: Sorry, no results for 'degrees'.
03:47 diakopter .u degree
03:47 phenny U+00B0 DEGREE SIGN (°)
03:51 lue .u sin
03:51 phenny U+C2E0 HANGUL SYLLABLE SIN (신)
04:04 eternaleye joined #perl6
04:07 diakopter .u God
04:07 phenny U+ACE7 HANGUL SYLLABLE GOD (곧)
04:15 snarkyboojum rakudo: say A.WHAT
04:16 p6eval rakudo 8ba603: OUTPUT«Could not find non-existent sub &A␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
04:26 am0c joined #perl6
04:26 sorear lue! Did you hear the big news?
04:37 mberends joined #perl6
04:43 m6locks rakudo: say (2-2**-51)*2**1023;
04:43 p6eval rakudo 8ba603: OUTPUT«1.79769313486232e+308␤»
04:44 m6locks rakudo: say (2-2**-52)*2**1024;
04:44 p6eval rakudo 8ba603: OUTPUT«Inf␤»
04:44 eternaleye joined #perl6
04:44 m6locks rakudo: say (2-2**-51)*2**1024;
04:44 p6eval rakudo 8ba603: OUTPUT«Inf␤»
04:44 m6locks rakudo: say (2-2**-52)*2**1023;
04:44 p6eval rakudo 8ba603: OUTPUT«1.79769313486232e+308␤»
04:57 lue what big news!?
04:57 lue (I was gone watch Whose Line)
04:59 [hercynium] joined #perl6
04:59 [hercynium] left #perl6
05:00 sorear lue: If you upgrade to latest parrot, Rakudo builds in 260 MiB
05:02 lue ...
05:03 lue (Kirby AllStars Credits theme, Final Fantasy Won the Battle theme, and LoZ Master Sword theme in my head all at once)
05:03 lue \o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/
05:05 lue .u triforce
05:05 phenny lue: Sorry, no results for 'triforce'.
05:05 lue .u triangle
05:05 phenny U+29CC S IN TRIANGLE (⧌)
05:18 snarkyboojum I've found builds quite slow since bumping my parrot rev to get the memory fixes
05:18 snarkyboojum slower than normal I think
05:19 sorear snarkyboojum: yes, this is known
05:19 snarkyboojum excellent
05:19 sorear it's a lot faster if you used to be thrashing though ;)
05:19 snarkyboojum because things are really slow :)
05:19 snarkyboojum sorear: I can imagine.. you had a 15x speedup or something?
05:20 sorear yes
05:20 sorear spot on
05:20 lue so... if was ok, it's not better, but if it was system-crashing, it'll be great?
05:20 snarkyboojum I prefer faster memory hungry builds at this point :P
05:21 snarkyboojum lue: it'll be much faster for people who didn't have enough memory, and who's system was paging during build
05:21 sorear lue: Not system crashing.  I have a very efficient swap subsystem, I can run thinks that use 200% of my RAM easily, they're just a bit slow
05:21 sorear "Out of memory -> System crash" is so 1980
05:22 eternaleye joined #perl6
05:22 sorear my virtual memory exceeds my real memory by approximately 600%
05:22 lue My system was crashing, but only because I let it try to build for too long :P
05:22 sorear and even when it's exhausted, only the memory hogs are killed
05:22 * sorear mocks lue's inferior operating system
05:23 snarkyboojum lue: I managed to kill OS X with rakudo builds whilst watching flash video in a browser occasionally :)
05:23 snarkyboojum hard boots - very nasty
05:24 sorear so... is anyone here able to walk me through exactly what happens when I say use Some::Module in Rakudo?
05:25 sorear Blizkost has gotten to the point where I think I need to start working out cross-language import issues
05:25 lue I personally think it has to do with swapping this G3's harddrive for a 40GiB one from a G4
05:25 lue fit perfectly, but I read things about it crashing sometimes...
05:27 snarkyboojum the OS X crash logs seem to indicate it is perl 6 that is crashing
05:27 snarkyboojum but the whole OS goes down in flames :)
05:27 sorear also, what does 'make' mean
05:28 snarkyboojum make as in make the AST?
05:28 sorear make as in Actions.pm:318,    make $loop;
05:29 snarkyboojum all I know is that's what tells the compiler to make PAST
05:31 snarkyboojum something like take this node, and create the AST for it
05:42 sorear what does use Foo[2] do?
05:44 snarkyboojum std: use Test[2]
05:44 snarkyboojum no idea :)
05:44 sorear it seems to be specced in the rakudo grammar
05:44 sorear however I have no idea what 2/3 of the rakudo grammar does
05:45 p6eval std 30246: OUTPUT«Can't locate Actions.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./std line 6.␤BEGIN failed--compilation aborted at ./std line
05:45 p6eval ..6.␤…
05:46 snarkyboojum where does it seem to be specced in the rakudo grammar?
05:46 xomas joined #perl6
05:46 sorear Grammar.pm line 155
05:47 sorear mind you I don't know what <?before or ~ do
05:48 snarkyboojum ah in module_name
05:48 snarkyboojum me neither really :)
05:49 sorear Are there any Rakudo frontend experts here?
05:50 agentzh joined #perl6
05:51 lue not right now :( . I bet jnthn and colomon would know, but they're here during my morning (UTC-0800 (UTC-0700 during daylight savings))
05:53 lue .oO(we need to devise a time-zone neutral system of telling time here)
05:53 sorear UTC is a fine bikeshed color
05:55 lue that's not time-zone neutral, just an agreed-upon ±0 timezone :)
05:56 sorear exactly
05:56 sorear but we have to paint the bikeshed
05:56 sorear and I'm fine with puce
05:56 sorear I think you're the only one who'se not
05:58 Exodist joined #perl6
05:59 lue Last time I thought of this, I considered a way based on when prominent people are around, i.e. "it's masak:15" or "it's jnthn O' clock"
06:00 sorear I prefer to measure time based on high noon at some naval observatory
06:02 lue Of course, my arbitrary guidelines refrain from anything tethered to one spot on Earth :)
06:03 lue Or a time system based on the orbit of satellites (if those satellites orbit the Earth in 24 hours)
06:04 sorear I recommend focusing on something more practical
06:04 lue "Let's see... it's GPS-5:2 degrees 37 minutes 5 seconds"
06:05 lue sorear: I know, that's impractical.
06:05 Helios joined #perl6
06:05 JimmyNeutron joined #perl6
06:05 JimmyNeutron left #perl6
06:07 lue ...wow. Serendipitous
06:10 snarkyboojum I've managed to get 'use' to compile a module to PIR but it still has that darned bug I was going on about earlier
06:11 uniejo joined #perl6
06:12 lue .5( \o/ )
06:13 lue .oO(depending on if it rotates CW or CCW, the Moon could make for a great timezone-independant timepiece)
06:14 snarkyboojum it's doesn't compile to exactly the same PIR when I do Perl6::Compiler.compile($source, target => 'pir'), as when I do it manually on the command line with ./perl6 --target=pir unfortunately (something to do with scope or something)
06:14 snarkyboojum but I'm in over my head, so I give up :)
06:15 sorear snarkyboojum: you're hacking use?
06:15 sorear can you explain to me how it works?
06:16 lue rakudo: my %h='population', 7000000000; my Planet $earth = (3,('blue','green'),%h,'Moon');
06:16 p6eval rakudo 8ba603: OUTPUT«In "my" declaration, typename Planet must be predeclared (or marked as declarative with :: prefix) at line 11, near " $earth = "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
06:18 lue I use to the store. I use some milk, and use with a credit card. Then I create the milk to quench my thirst (<-- that is what happens when you hack 'use')
06:18 lue s/use/use™/
06:19 * lue --sleep &
06:21 snarkyboojum sorear: well depends what you want to know
06:21 snarkyboojum I'm not hacking it very successfully it would seem :)
06:23 snarkyboojum I've just traced through how it loads modules currently and am trying some changes in Perl6::Module::Loader
06:33 TimToady std: Whatever but Real;
06:34 p6eval std 30247: OUTPUT«ok 00:01 108m␤»
06:34 TimToady std: use Test[2]
06:35 p6eval std 30247:  ( no output )
06:36 TimToady std: use Test[2]
06:36 p6eval std 30247: OUTPUT«Can't locate Actions.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./std line 6.␤BEGIN failed--compilation aborted at ./std line
06:36 p6eval ..6.␤…
06:37 TimToady huh
06:38 TimToady std: Whatever but Real;
06:38 p6eval std 30247:  ( no output )
06:39 sorear Why does p6eval do that nondeterminism thing?
06:43 TimToady I wish I knew.
06:43 sorear What does use X[2] mean?
06:45 TimToady nothing that I know of
06:45 TimToady where is it from?
06:46 sorear Rakudo grammar, module_name production, line 155,     [ <?before '['> '[' ~ ']' <arglist> ]?
06:47 TimToady no idea what that's supposed to mean
06:48 TimToady there never was a use syntax like that, as far as I can recall
06:49 snarkyboojum glad we're not the only ones who don't know what that means :)
06:58 TimToady shuteye &
06:59 iblechbot joined #perl6
07:04 moritz_ Juerd: it seems feather2 is still down... could you restart it please?
07:10 sjohnson joined #perl6
07:22 sorear my @ns := pir::split__PSS('::', 'Perl6::Module');
07:22 sorear why isn't this just
07:22 sorear my @ns := <Perl6 Module>;
07:26 snarkyboojum left #perl6
07:37 riffraff joined #perl6
07:39 mberends joined #perl6
07:42 pnu joined #perl6
07:47 mberends sorear: the split_PSS was probably cargo from a more generic occurrence where Perl6::Module was a variable, and it was not considered worth rewriting. Patches welcome, probably :)
07:48 jjore joined #perl6
07:49 dalek rakudo: a33fc9f | moritz++ | t/spectest.data:
07:49 dalek rakudo: two more passing test files
07:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​33fc9f5e1411953cffb4667d744c63cddd16f74
07:51 mathw Morning
07:54 vorner joined #perl6
08:02 [opx] joined #perl6
08:03 moritz_ rakudo: say Mu + 1
08:06 p6eval rakudo 8ba603: OUTPUT«No applicable candidates found to dispatch to for 'infix:<+>'. Available candidates are:␤:(!whatever_dispatch_helper , !whatever_dispatch_helper )␤:(Int $a, Int $b)␤:(Rat $a, Rat $b)␤:(Rat $a, Int $b)␤:(Int $a, Rat $b)␤:(Complex $a, Complex $b)␤:(!whatever_dispatch_helper ,
08:06 p6eval ..Any $rh…
08:07 mathw hmm that took a while
08:08 moritz_ aye
08:08 sorear ok, I seem to understand the module loader
08:09 dakkar joined #perl6
08:11 payload joined #perl6
08:14 dalek rakudo: a0fe385 | moritz++ | t/spectest.data:
08:14 dalek rakudo: we pass undef.t
08:14 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​0fe3850417e4cf39b198b96c0b4e6e32c79d66d
08:16 payload1 joined #perl6
08:19 Su-Shee joined #perl6
08:20 sorear hmm
08:21 sorear attempting to load Rakudo as a second language into an existing Parrot throws an error
08:21 sorear (Class '[ 'ClassToBe' ]' not found)
08:22 moritz_ must be from src/metamodel/ClassHOW.pir
08:23 sorear I'm half wondering if this is even supposed to be possible.
08:24 * sorear is having to invent much of this "language interoperability" stuff as he goes along ... pdd31 is a nice start
08:26 snarkyboojum joined #perl6
08:26 payload joined #perl6
08:28 jaldhar joined #perl6
08:28 eternaleye joined #perl6
08:30 mberends sorear: it may be slightly different with new Rakudo, but the source code here did load Rakudo as a compiler into a Parrot process: http://trac.parrot.org/parrot/ticket/802
08:32 jaldhar joined #perl6
08:34 cognominal joined #perl6
08:37 sorear mberends: right now, the mere load_bytecode crashes
08:38 _jaldhar joined #perl6
08:38 sorear so I'm going to call this a bug
08:40 sorear oh
08:40 sorear this /looks/ like a simple typo bug
08:40 mberends sorear: the next question would be, is load_bytecode broken or is perl6.pbc not loadable?
08:40 sorear see src/metamodel/ClassHOW.pir:23
08:41 sorear ClassToBe is defined in an :init sub
08:41 sorear it is used in an :init :load sub
08:41 sorear kaboom
08:41 sorear mberends: load_bytecode works for blizkost - I'm running all unit tests from parrot-nqp
08:42 mberends ok, so adding a :load on ClassToBe will help
08:43 sorear maybe
08:43 sorear I don't actually understand the metamodel code at all
08:43 vorner joined #perl6
08:44 sorear there are 10 other likes in Rakudo that contain one of :init or :load but not both
08:44 sorear now auditing
08:45 quester_ joined #perl6
08:46 sorear 1 is load_bytecode, 3 are in src/old, 2 are in docs/, 1 is in Test.pir
08:46 sorear this leaves two lines in the compiler inside PAST code, and 2 lines in src/gen
08:46 sorear probably the same two
08:48 quester_ rakudo: say eval "3/4";
08:48 p6eval rakudo 8ba603: OUTPUT«0.75␤»
08:48 quester_ rakudo: say "3/4".eval;
08:48 p6eval rakudo 8ba603: OUTPUT«0.75␤»
08:49 * quester_ must need to rebuild; the .eval form didn't work locally.  Hmm... bbl...
08:49 sorear ok, there's only one "real" asymmetry
08:50 sorear and it's only used for !UNIT_START
08:52 sorear does anyone know what !UNIT_START and :load is for?
08:52 jnthn morning
08:53 jnthn :load = when loaded as a module, :init = when the mainline program body
08:54 jnthn Can be a useful difference; much of the time we mark things as both though.
08:54 sorear yes
08:54 sorear right now load_bytecode "perl6.pbc" doesn't work because someone messed that up
08:55 renormalist Are currently Perlito guys awake or does somebody know about another channel where to find them?
08:55 sorear jnthn: can you explain src/Perl6/Actions.pm to me?
08:55 sorear er
08:55 sorear line 80
08:55 sorear not the whole thing
08:59 spinclad renormalist: i haven't seen fglock around here in quite a while
08:59 * sorear starts a Rakudo build while waiting for jnthn.
09:00 jnthn sorear: I'm not sure I can explain it much differently than the comment above it does.
09:00 jnthn It looks correct to me, though.
09:00 sorear jnthn: Can you explain why it only uses :load?
09:00 sorear Surely mainline code should also be run when a module is being run from parrot command line
09:01 renormalist spinclad: m'kay, I will probably write email to perl6-compiler ...
09:01 jnthn Yes, but I think that happens some other way.
09:02 jnthn OTOH, running generated PIR doesn't work ATM
09:02 jnthn (Hasn't since ng)
09:02 sorear Er, isn't perl6.pir generated PIR?
09:02 jnthn Only works with loading pre-compiled modules with "use" for now.
09:02 jnthn Not entirely, no.
09:03 sorear How does not entirely help?
09:03 eternaleye joined #perl6
09:03 jnthn see src/Perl6/Compiler.pir
09:03 jnthn That's also included
09:03 jnthn And has a :main
09:04 jnthn ClassToBe is defined in an :init sub # That sounds like a fail, should be :load :init, I think.
09:04 sorear yes
09:05 sorear I'm currently building with that fixes
09:05 sorear fixed
09:05 jnthn OK.
09:05 jnthn Should fix the bug at hand.
09:05 jnthn Running the output of --target=pir directly still won't work, but it should fix the "can't load_bytecode 'perl6.pbc'" issue.
09:06 sorear yes
09:06 sorear I just did an audit
09:06 sorear grep -r ':load\|:init' . | sort > x ; comm -3 <(grep :load x) <(grep :init x)
09:08 jaldhar joined #perl6
09:10 riffraff joined #perl6
09:12 vorner joined #perl6
09:14 vorner joined #perl6
09:15 Chillance joined #perl6
09:25 clintongormley joined #perl6
09:30 snarkyboojum morning jnthn
09:31 jaldhar joined #perl6
09:31 jaldhar joined #perl6
09:31 snarkyboojum you know that bug I was talking about yesterday (masak just logged it as perl #73886) - I did a bit of tinkering with it today
09:32 snarkyboojum I discovered that if A.pm is manually compiled to A.pir via ./perl6 --target=pir "things work"
09:33 snarkyboojum I traced the problem to Perl6::Module::Loader.need()
09:33 sorear explain?
09:34 sorear I'm currently looking into need
09:34 snarkyboojum it seems the problem only manifests when the module being 'use'd is compiled with Perl6::Compile.compile
09:35 snarkyboojum I tinkered with writing out the pir from the unless $loaded_pir { ... } block in Loader.pm, which would effectively cache the PIR, but the PIR generated was slightly different, and that failed
09:35 snarkyboojum :)
09:36 snarkyboojum so I'm not sure that's the source of the issue, but thought that might be some useful background (or not) :)
09:37 snarkyboojum sorear: the first part of need looks for a pre-compiled PIR of the module, and if it finds it, it loads it via a load_bytecode pir op
09:37 snarkyboojum if that's generated via ./perl6 --target=pir then masaks bug seems to go away (though I'm not sure that's the correct solution)
09:38 snarkyboojum but because it's not found (in most cases), the HLL::Compiler tries to compile the module source, and that seems to throw the error he mentioned
09:38 sorear probably wonky contextuals
09:38 snarkyboojum at least that's my understanding from tinkering today
09:38 snarkyboojum sorear: I don't know what that means exactly, but it sounds promising :)
09:39 snarkyboojum so I'm not saying it's a problem with the Loader, just that currently that's where the breakage manifests
09:39 sorear snarkyboojum: the perl6 parser has to be recursive, it does this using contextuals (imagine crossing TLS with P5 'local' and you won't be too far off)
09:40 sorear if the contextuals aren't being contextualized properly, it will manifest as a failure of recursion
09:40 jaffa4 joined #perl6
09:40 sorear i.o.w. loading modules from an inner scope will fail in mysterious ways
09:40 jaffa4 hi sorear
09:40 jaffa4 what do you use perl6 for?
09:41 sorear I'm writing an IRC client in it
09:43 sorear jnthn: I
09:43 sorear jnthn: I made that change, and it still doesn't work.  Looks like the different timing of UNIT_START is still breaking things
09:43 jnthn Ah, OK.
09:43 sorear different error this time though.
09:44 jnthn On the re-entrancy problem, I suspect it's to do with something that wants to be a contextual not being.
09:45 snarkyboojum sorear: how would you go about debugging "wonky contextuals"? :)
09:45 sorear snarkyboojum: A code audit of Actions.pm
09:46 sorear There's probably a better way, but, as the youngest member of #perl6, I don't know it
09:46 snarkyboojum sorear: looking for?
09:46 sorear snarkyboojum: Any use of global or package-scope variables
09:46 sorear Then attempt to rationalize
09:47 sorear When you see a contextual, grep for where it's contextualized, then rationalize why it's contextualized *there*
09:47 sorear hint: almost everything should be contextualized in comp_unit
09:48 snarkyboojum sorear: that may just be over my head a little :) but I'll have a poke around
09:48 _jaldhar joined #perl6
09:48 jnthn I suspect it's that @PACKAGE is not contextualized, fwiw.
09:48 sorear How can it possibly be over your head
09:48 jnthn I need to do other stuff though.
09:48 sorear You've been here way longer than me
09:49 jnthn sorear: Being around longer doesn't magically make everything easy to understand. :-)
09:50 mathw Definitely
09:50 mathw I've been here for ages and I don't understand anything :)
09:51 payload joined #perl6
09:52 snarkyboojum sorear: I haven't looked into this stuff before, and I haven't been here for ages (really) :)
09:52 snarkyboojum I'm a newbie on the block too
09:58 sorear something's very wrong withm parrot backtrackes
09:58 sorear the line numbers don't agree with the sub names
09:59 snarkyboojum sorear: do you know what's going on at line 92 of Actions.pm?
10:00 sorear no, but I don't like it one bit
10:01 sorear @PACKAGE looks like some kind of attempt to fake contextuals
10:02 sorear to the git-blame!
10:02 sorear oh look, jnthn wrote line 92
10:03 sorear I blame the bug on you :p
10:03 jnthn Well, yes.
10:03 jnthn I wrote a bunch of code. Some of it will be wrong. Deal with it.
10:03 sorear ok then
10:04 jnthn Anyway, I suspect making it contextual will fix it.
10:04 jnthn But do get that right it also probably needs to move into Grammar.pm
10:04 jnthn *to
10:04 jnthn Which I'm not totally sure it belongs it, but I guess maybe it's OK.
10:04 sorear Is my guess, that @PACKAGE predates contextuals, correct?
10:05 jnthn Perhaps. There may be another reason that I forget.
10:06 jnthn It may want to go in TOP rather than comp_unit.
10:06 jnthn Not sure off hand.
10:06 sorear Module loading uses comp_unit, not TOP
10:06 sorear which could be the bug.
10:07 jnthn I suspect it was following the pattern of @BLOCK though, which also is not conextual.
10:07 sorear and @BLOCK almost certainly predates contextuals
10:07 jnthn Yes.
10:07 jnthn Well, we had something like @PACKAGE back before ng too.
10:08 payload joined #perl6
10:08 sorear hmm
10:08 jnthn Question is whether it shoulda gone back in as contextual.
10:08 sorear looks like TOP contextualizes the metamodel
10:08 jnthn Yes.
10:08 jnthn That should be contextual.
10:08 sorear which is Bad for module loading, if we want to allow pragmata which alter the metamodel
10:09 jnthn Probably needs to be an explicit export.
10:09 sorear back in Moose-land that was a critical feature, and was the foundation of the entire class trait system
10:09 sorear I have no idea how relevant it is here
10:09 jnthn trait_mods in Perl 6 are just multi candidates that are should be handled by the standard import/export mechanism.
10:10 jnthn Though that area is kinda hacky for now.
10:11 jnthn If it's global, thing is that it ends up affecting other modules later in the use.
10:11 jnthn Which shouldn't happen.
10:11 sorear mm
10:11 jnthn erm, that do use later, I meant.
10:12 jnthn use pragma; use Foo; # Foo's compilation should be unaffected by pragma, aside from any epic evil, such as having monkey-patched a metaclass...
10:12 sorear oh wait I remember now Moose actually used get_metaclass(caller()[0])->make_does(...) #heavily pseudo
10:13 sorear so obviously we *should* be using full contextualization in modules
10:13 sorear with some kind of "up-contextual" mechanism for when things need to hack
10:14 jnthn CALLER pseudopackage I guess
10:16 jnthn CALLER::<$*x>
10:20 quester_ left #perl6
10:20 jaldhar_ joined #perl6
10:22 * jnthn makes more stronger coffee and wishes he could feel awake
10:25 _jaldhar_ joined #perl6
10:27 sorear There's *some* kind of funky initialization order issue, possibly involving cheats/ and P6metaobject
10:27 sorear stefan@stefans:~$ parrot-nqp -e 'pir::load_bytecode("/usr/local/lib/parrot​/2.2.0-devel/languages/perl6/perl6.pbc")'
10:27 sorear too many positional arguments: 3 passed, 1 expected
10:27 sorear current instr.: 'parrot;P6protoobject;new' pc 1316 (runtime/parrot/library/P6object.pir:784)
10:28 sorear called from Sub 'perl6;Any;_block3542' pc 327404 (src/gen/core.pir:27954)
10:29 hanekomu_ joined #perl6
10:29 sorear the actual failing code is at Any-num.pm line 47
10:30 jnthn Odd. :-/
10:30 sorear that INIT {} genetates _block3542
10:30 sorear I suspect a tailcall is involved
10:30 sorear or maybe it's one of the $P_RAT.'new'(1800, 10) calls
10:31 sorear and the invocant counts as a 3rd positional?
10:32 jnthn Well, first, but yes, it's one of the 3.
10:33 * sorear still hasn't fully figured out if Parrot considers the invocant a hidden positional or something rather more special
10:33 sorear Pi signatures, mm mm
10:34 sorear well, sleep time for me
10:34 snarkyboojum night sorear
10:35 jnthn sorear: Well, Parrot wants to consider it more special, and in Perl 6 we don't want to.
10:35 jnthn There was some debate over that.
10:35 sorear What was the resolution?
10:36 jnthn I'm not sure there was one in either direction. Thing is, the status quo works for us now
10:36 jnthn So it was going to be a case of breaking a behavior we rely on.
10:37 jnthn Thing is, we rely on it...heavily.
10:37 jnthn I think that was enough to stop it getting changed. :-)
10:37 sorear What is the status quo?
10:38 jnthn If you write a .sub and mark it :method, you can invoke a reference to it in, say, $P0 as $P0(inv, ...)
10:38 jnthn Rather than having to write inv.$P0(...)
10:39 jnthn (both work)
10:39 jnthn There was a plan to make the first invalid
10:39 jnthn Thing is, we often don't care if we have a method or not.
10:39 jnthn The invocant in Perl 6 really just is the first positional argument.
10:40 jnthn Anyway, hopefully the issue doesn't come back up. :-)
10:41 jnthn Anyways, sleep well.
10:50 masak joined #perl6
10:51 * masak yawns
10:51 phenny masak: 30 Mar 23:29Z <lue> tell masak I don't remember making any prediction based on time trajectories. A link to the backlog would jog my memory :)
10:51 mathw Saluton, masak
10:51 masak lue: it was a joke. perhaps a too subtle one... you still have time to make that prediction, by the way :)
10:52 jnthn masak: How was the sleeps?
10:52 * jnthn hopes better than his...but fears not.
10:52 * mathw had good sleeps :)
10:52 masak jnthn: I feel both refreshed and disappointed in the way one does after falling asleep in reasonable time, waking up way too late, but needing all the sleep in between.
10:53 masak I s'pose I missed snarkyboojum :/
10:53 jnthn Aha.
10:53 snarkyboojum masak: morning - I'm still here
10:53 masak yay
10:53 * jnthn took ages to fall asleep, and is taking some hours to get out of the usual morning crankyness that normally goes away after half an hour or so.
10:57 _jaldhar_ joined #perl6
10:59 moritz_ good day gentle(men|women)
11:00 masak moritz_: \o
11:01 envi^home joined #perl6
11:02 vorner joined #perl6
11:02 jnthn o/ moritz_
11:08 frettled all your base are belong to us
11:08 masak all your kanelbullar are belong to me :)
11:10 ilogger2 joined #perl6
11:10 moritz_ http://www.mutteringmadman.com/perl6/ # /me likes
11:10 moritz_ I quite like the domain name, to start with :-)
11:11 masak :)
11:12 masak snarkyboojum: oh, it's your den! nice!
11:12 snarkyboojum oh :)
11:12 snarkyboojum I've been founded
11:12 jnthn Nice :-)
11:12 snarkyboojum I'm running some spectests for march and updating them at http://www.mutteringmadman.com/perl6/status.png
11:14 snarkyboojum moritz_: and thanks :)
11:14 jnthn ooh, nice!
11:14 * jnthn hadn't seen that graph for a while.
11:14 jnthn As in, an up to date version.
11:15 * moritz_ likes http://www.bofh.org.uk/2010/03/10/f​alling-out-of-love-with-a-language too
11:15 moritz_ "Devel::Declare is, in accordance with the long history of Perl, completely batshit insane."
11:20 colomon o/
11:27 _jaldhar_ joined #perl6
11:33 colomon jnthn: did you see that paste I pasted just before falling asleep?
11:35 jnthn colomon: I think I missed it...I did backlog though. D'oh.
11:36 colomon http://paste.lisp.org/display/97114
11:36 jnthn Granted I was probably still semi-concious at the time I backlogged...
11:36 colomon I don't think I explained it well.
11:36 colomon that's what happened when I tried to move .abs into Real.
11:36 jnthn Ah
11:36 jnthn That one.
11:37 * jnthn thought he'd fixed that, but I guess not.
11:37 moritz_ colomon: shouldn't .abs be in Numeric?
11:37 jnthn colomon: Long story short: multi-methods in roles are broken.
11:37 colomon moritz_: yes, but I'm taking baby steps
11:37 jnthn It's on The Eternal TODO List
11:38 colomon moritz_: also, Real.abs should actually work for every real type, whereas Numeric.abs is just going to be a stub of some sort.
11:38 jnthn Anyway, I'll bump it up since you're blocking on it.
11:38 simcop2387 joined #perl6
11:39 moritz_ colomon: makes sense
11:40 colomon jnthn: what exactly does multi do on a method?  is it merely a matter of allowing more than one signature?
11:43 jnthn It essentially installs a multi into the methods table
11:43 jnthn So you can have multiple candidates
11:43 jnthn When a role is composed it's meant to merge the multis though.
11:44 colomon I guess what I'm trying to ask is, if I have Numeric.abs and Real.abs and Real does Numeric, do I have to have multi because the invocants are different?
11:45 * masak doesn't think so
11:45 masak last I heard, multis were orthogonal from inheritance structures
11:45 * colomon admits he's just gotten in the habit of sticking multi everywhere...
11:45 jnthn Right
11:46 masak well, you can stick multis everywhere, but a single multi in a class behaves much like an only would.
11:46 jnthn You do want them multi though I guess.
11:46 jnthn Oh, maybe not actually
11:46 colomon so this will definitely be a blocker in the medium term, but maybe doesn't have to be for .abs
11:46 jnthn Well, can probably go both ways. :-)
11:48 * colomon has just switch all "multi method abs" to "method abs" and is trying to build again.
11:49 hanekomu joined #perl6
11:50 iblechbot joined #perl6
11:53 colomon built okay...
11:53 mariano__ joined #perl6
11:53 colomon seems to pass all quick tests.
11:54 colomon and abs.t.   \o/
11:54 Su-Shee joined #perl6
11:54 daemon joined #perl6
11:55 masak jnthn: snarkyboojum++ and I brainstormed a bit, and arrived at this syntax for SIC blocks and binding. http://gist.github.com/350204 -- since you're the binding expert, maybe you could glance at it and see if it's sane?
11:56 masak we really only expect it to work for positionals as of now.
11:56 jnthn ...I'm the binding expert? :-/
11:56 jnthn Only if you're binding a signature ;-)
11:56 masak heh :)
11:56 masak right, I forgot all about signatures. :P
11:57 masak but I s'pose it must be implicit in there somewhere.
11:57 masak is it reasonable to conflate the two notions 'binding against a block' and 'binding against a signature'?
11:58 masak I guess we'd have problems with multis doing it that way...
11:58 jnthn Well
11:58 jnthn The trouble is that you really want to have callees opaque.
11:58 masak in what sense?
11:58 jnthn You call and say "here are the args"
11:59 masak yes.
11:59 jnthn But it's up to the thing you call what it does with that.
11:59 masak yes.
11:59 masak so it's not the caller that does the binding, is that what you're saying?
11:59 jnthn Yes.
11:59 masak ok.
12:00 jnthn The caller produces something holding the args.
12:00 jnthn (e.g. a Capture)
12:00 masak aha.
12:00 krakan joined #perl6
12:00 jnthn make_capture ...
12:00 jnthn er
12:00 jnthn $42 = make_capture ...
12:00 jnthn call $1, $42
12:00 jnthn Or some such
12:00 masak nod.
12:01 jnthn Then when you get to multi-dispatch you've just gotta look at the capture
12:01 jnthn "just" ;-)
12:01 masak :)
12:01 masak and the capture can hold values as its 'elements'.
12:01 jnthn Right.
12:01 masak can it also hold references to variables, a la binding?
12:01 jnthn That's how smop and Rakudo (and maybe other impls) essentially work
12:01 jnthn Yes.
12:01 masak hm. tricky.
12:01 masak so basically you can both assign to a capture element, and bind to it?
12:01 jnthn Or is rw and \ wouldn't work.
12:02 masak right.
12:02 jnthn Well, you just stick the container into the capture I guess.
12:02 jnthn I don't think you can re-bind things from within a sub that you've called.
12:03 takadonet1 morning all
12:03 jnthn I'm not sure that sub foo(\$x) { $x := 42 }; my $y = 1; foo($y) would work.
12:03 masak so, there are four entities involved here. the caller, a capture, a signature, and the callee. the caller produces a capture, sends that in with the call; something matches the capture against one or a bunch of signatures, and the callee gets the capture.
12:03 jnthn morning, takadonet1
12:03 masak takadonet1: \o
12:03 jnthn masak: Right.
12:08 masak jnthn: and this is true even in the case of 'if 42 -> $a { ... }'? there are no shortcuts? :)
12:12 masak jnthn: I remade the calling semantics based on your input: http://gist.github.com/350204
12:12 jnthn masak: Those are full siggies too.
12:12 masak full siggies?
12:13 jnthn rakudo: my @a = [1,2], [3,4]; for @a -> [$x, $y] { say "$x $y" }
12:13 masak ah, yes.
12:13 jnthn As capable as signatures on a sub.
12:13 jnthn So you can do unpacks like that, for example.
12:13 masak I'm restricting ourselves to 'just positionals' right now so as not to go insane :P
12:14 masak but the general case is all very pretty, of course :)
12:14 masak jnthn++
12:15 jnthn rakudo: say "dead or alive?"
12:15 jnthn heh
12:16 jnthn > my @a = [1,2], [3,4]; for @a -> [$x, $y] { say "$x $y" }
12:16 jnthn 1 2
12:16 jnthn 3 4
12:16 jnthn fejl.
12:16 masak why?
12:17 jnthn masak: p6eval fejl, I meant.
12:17 masak ah. indeed.
12:17 mathw feather's still unhappy I see
12:17 masak p6eval has been this channel's problem child lately.
12:17 masak mathw: but p6eval is not on feather.
12:17 mathw Oh
12:17 mathw I thought that was why it was dodgy
12:17 pmurias joined #perl6
12:17 jnthn Nope, independent dodginess I guess.
12:18 jnthn Or they're both depressed about the same thing.
12:18 ruoso joined #perl6
12:18 jnthn :-)
12:20 masak maybe they want to know when Perl 6 is coming out?
12:21 jnthn s/?/, dammit/ ;-)
12:21 masak 哈哈
12:21 moritz_ I don't know what's up with the p6eval server
12:22 moritz_ it has a load of about 13 or so
12:22 moritz_ I mean srsly wtf?
12:22 masak jnthn: by the way, that's a quantifier without a preceding term. :P
12:23 p6eval joined #perl6
12:23 moritz_ oh
12:23 moritz_ there are 5 jobs in parallel that tryfile STD.pm
12:24 masak uuh
12:27 jnthn masak: :P
12:27 masak jnthn: sorry; comes with the trade. :P
12:27 moritz_ load dropping to 10
12:29 jnthn Laundry time! How exciting!
12:30 jnthn brb
12:30 * masak did that yesterday
12:30 _jaldhar_ joined #perl6
12:30 masak it was actually quite exciting.
12:31 xinming joined #perl6
12:37 jnthn masak: Clearly I'm doing it rong.
12:39 masak jnthn: the trick is not to do it often enough, and when you do it, to really do it. :)
12:43 dalek rakudo: 872898d | (Solomon Foster)++ | src/core/ (6 files):
12:43 dalek rakudo: Move all Real versions of .abs to Real.abs, remove "multi" from all .abs definitions.
12:43 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​72898d77111d8a96ebaeb2020e268c5b0ba1b12
12:46 jnthn .oO( Are there Fake versions too? :-) )
12:46 * mathw has to do laundry tonight
12:50 jnthn Exciting would be like, I go to the laundry room, and there is a söt flicka who asks "Will du har fika med mig?", but I think that only happens in the movies. :-)
12:50 masak that would be exciting!
12:50 masak (s/har/ha/, btw)
12:51 jnthn oh
12:51 jnthn infinitive
12:51 masak nod.
12:51 masak it happens in this movie: http://www.youtube.com/watch?v=apEZpYnN_1g
12:52 masak though the ending is happy only from the very twisted perspective of a mad scientist...
12:52 mathw Exciting would be if my cat sat down next to the washing machine and said 'here, let me do that for you'
12:52 masak I don't have a YouTube link for that scenario. :)
12:52 mathw although that might also be very worrying
12:53 mathw It's not that the washing is hard to do
12:53 mathw I have a washing machine and a dryer and a washing line
12:53 mathw I'm just very bad at remembering to do it before I've completely run out of clothes
12:54 mathw The only things I ever remember to wash are my gis for aikido
12:54 mathw which reminds me, I need to get my suit trousers dry cleaned before I'm in a concert again
12:54 jnthn I make a habbit of booking wed afternoon in the laundry room :-)
12:55 mathw At uni I used to take a big basket down to the laundry, fill two or three machines and sit there with my laptop, writing code
12:55 mathw or fiction
12:55 mathw sometimes it was fictional code
12:57 mathw I prefer not living somewhere with shared washing machines, as other people had a nasty habit of dumping a full load that'd finished on the floor if its owner didn't claim it within five seconds
12:58 * moritz_ has a shared cellar room with individual washing machines for each flat
12:58 moritz_ much nicer :-)
12:58 xinming joined #perl6
12:59 mathw definitely
12:59 * mathw has a washing machine in his kitchen
13:00 * masak has shared washing machines, but the neighbours are mostly nice
13:00 moritz_ buubot: seen obra
13:00 buubot moritz_: I don't think I've seen obra.
13:00 moritz_ buubot: seen pmichaud
13:00 buubot moritz_: I last saw pmichaud saying "spack IEEE" at Sat Aug 29 03:18:43 2009 Z.
13:00 moritz_ Aug 2009 - sure
13:01 mathw masak: it's okay if you've got nice neighbours
13:01 moritz_ I think I've seen him since, though not in real life :(
13:01 mathw I've definitely seen him in here since then!
13:01 masak buubot: you're not paying enough attention!
13:01 buubot masak: Couldn't match input.
13:01 masak that's no excuse!
13:02 rgrau` joined #perl6
13:05 eternaleye joined #perl6
13:05 ignacio_ joined #perl6
13:05 jnthn Yay!
13:05 * jnthn has got meeting with Swedish teacher organized :-)
13:06 mathw \o/
13:06 * mathw just had a meeting with his Esperanto teacher :P
13:06 jnthn Now I can actually learn the language, rather than just making stuff up and seeing if masak parse fails on it. ;-)
13:06 mathw learning languages is good
13:06 vorner left #perl6
13:06 mathw learning languages which are useful is even better
13:06 masak jnthn: we'll make sure to exercise your Swedish while you visit, too :)
13:07 jnthn \o/
13:07 mathw masak: can't you just give him a direct brain dump?
13:07 masak mathw: not that I know, no.
13:07 mathw nonsense
13:07 mathw I'll send you some cat6
13:08 jnthn lolcat6?
13:08 mathw :)
13:08 jnthn .oO( network cable that occasionally emits a speech bubble, "I CAN HAZ COLLISHUN!" )
13:09 mathw or cries "DO NOT WANT!" when you're downloading something dubious
13:10 _jaldhar_ joined #perl6
13:12 jnthn masak: Heh...downloading email would be quite a racket. :-)
13:12 jnthn er, mathw
13:12 jnthn :-)
13:13 mathw spam-filtering network cable
13:14 mathw you'd have to make sure to buy cable with a similar taste to you
13:14 huf wouldnt that rot awfully fast tho?
13:14 huf as far as i know, i'm not made of very durable material
13:14 huf ... i guess you could get away with artificial flavors
13:17 PerlJam joined #perl6
13:17 PerlJam good morning
13:18 jnthn o/
13:19 masak \o
13:25 jnthn Yay, seems I haz a Russian visa. \o/
13:26 * jnthn can now go to Russia and wab on about Perl 6.
13:26 moritz_ $jnthn does Visa(Russia) :-)
13:26 mathw yay
13:26 moritz_ or was it "but" that modifies in-place?
13:26 moritz_ I can never remember
13:27 mathw I'm pretty sure 'but' is the non-modifying one
13:27 jnthn but would clone me.
13:27 jnthn And my clone would have a visa.
13:27 mathw well then your clone could go to Russia
13:27 mathw but you could stay home and hack on Rakudo
13:27 mathw and then after going to Russia, your clone could also hack on Rakudo
13:27 jnthn But...but...I like going to Russia! :-P
13:27 mathw I fail to see how this is not a situation made of win
13:28 PerlJam mathw: spreading the perl 6 meme all over the world is a worthy thing to do too
13:28 mathw PerlJam: Definitely, but it's even cooler if you can hack on Rakudo simultaneously.
13:28 jnthn Well, I did once commit a Rakudo patching during a talk...
13:28 * mathw reflects on how much Internet culture is affecting his speech patterns
13:29 jnthn oh fejl.
13:29 jnthn I...just realized a matrix I was trying to pre-compute would take 65 Gigs. :-/
13:29 jnthn ...and it's meant to live in memory.
13:30 moritz_ well, you clearly need lazy precomputation :-)
13:30 * jnthn figures $dayjob won't be quite so straightforward today afterall...
13:31 mathw lovely
13:31 mathw reminds me of one of the questions they asked me at Google
13:40 * moritz_ suspends rebuilding of alpha on p6eval
13:40 moritz_ nobody commits to alpha anyway
13:45 masak makes sense.
13:45 masak we just need to remember to re-activate it if/when someone does :)
13:45 moritz_ currently what makes p6eval server so slow is the high memory usage
13:46 moritz_ most of that from compiling rakudo and STD.pm
13:46 moritz_ so I reduced both of these to compiling once per hour (formerly twice)
13:46 moritz_ turned off recompiling alpha
13:46 moritz_ and killed a few duplicate process
13:46 moritz_ so right now we're down from a load of 13 to 6
13:47 moritz_ still not pleasent
13:47 mathw but much better
13:49 SmokeMachine joined #perl6
13:49 FCO joined #perl6
14:02 SmokeMachine joined #perl6
14:05 moritz_ load < 5
14:05 moritz_ swap ~ 1GB
14:06 masak that's good, right?
14:06 jnthn rakudo: say "Gee, that feels better."
14:06 moritz_ not particularly
14:06 jnthn ...so I see.
14:07 moritz_ it uses more swap than it has physical RAM
14:07 masak :(
14:08 p6eval rakudo 8ba603: OUTPUT«Gee, that feels better.␤»
14:08 moritz_ .oO( ... )
14:09 PerlJam rakduo: say "Help!! I'm caught just inside the event horizon!"
14:09 * moritz_ temporarily suspends all build jobs
14:09 PerlJam that would have worked better had I spelled rakudo correctly
14:09 diakopter whew
14:10 * PerlJam is always mistyping "rakduo"
14:10 diakopter I've seen rakuod, arkduo, arkudo
14:11 diakopter haven't yet seen rakodu
14:11 diakopter or odukar
14:11 arnsholt I've typed rakduo occasionally
14:11 moritz_ radoku is what my fingers do if I don#t supervise them
14:11 jnthn I think my first commit after the rename was tagged [radoku]
14:12 moritz_ diakopter: I'm still at loss why the server is so slow
14:12 moritz_ diakopter: after killing some processes, it has now free memory
14:12 Juerd Is it feather?
14:12 moritz_ Juerd: no
14:12 moritz_ Juerd: btw, any chance of getting feather2+3 back?
14:12 Juerd They're not back yet?!
14:13 moritz_ diakopter: still there's one build job that should e either limited by CPU or memory, but it seems to use neither
14:13 Juerd Started domain feather2 (id=4)
14:13 Juerd Started domain feather3 (id=5)
14:13 moritz_ it uses <5% of one CPU, and still has lots of free ram
14:14 diakopter moritz_: explain more?  what's wrong with it
14:14 moritz_ diakopter: it should just run and finish at some point
14:14 moritz_ diakopter: but it's not using any CPU
14:15 moritz_ diakopter: but it can't be bound by memory, because there's 400MB free
14:15 PerlJam load average is reasonable?
14:15 diakopter maybe some leftover from when I killall -9 stuff periodically
14:15 TimToady that sounds more like disk contention, or some such device throwing continual interrupts
14:15 PerlJam There's no contention for the disk?
14:15 moritz_ PerlJam: load < 2
14:15 moritz_ on 4 CPUs
14:15 PerlJam TimToady++ great minds think alike :)
14:16 diakopter so do non-great ones! :P
14:16 moritz_ huh, suddenly uses a whole CPU again
14:16 moritz_ diakopter: did you change anything?
14:16 tylerni7 joined #perl6
14:16 tylerni7 joined #perl6
14:16 diakopter I just logged in
14:16 moritz_ you did it! :-)
14:17 PerlJam diakopter: logout and see if things so south again
14:17 TimToady some kind of sekrit DOS that goes away if someone logs in?
14:17 diakopter o, mebbe I shouldn't have been messing around with the tty's
14:17 hugme joined #perl6
14:17 TimToady maybe some python or ruby person has sabotaged our servers
14:17 PerlJam rakudo: say "yay!"
14:18 p6eval rakudo 8ba603: OUTPUT«yay!␤»
14:18 diakopter rakudo: say &say
14:18 p6eval rakudo 8ba603: OUTPUT«say␤»
14:18 meppl joined #perl6
14:18 TimToady maybe we're really running in an extra-virtual layer, and serving malware in the higher layer
14:19 diakopter oh, you mean malware other than p6eval
14:21 TimToady but getting rootkitted sometimes shows up as inexplicable performance problems
14:21 diakopter moritz_: I killed your htop
14:21 TimToady esp if we've been virtualized wrt the rootkit
14:21 ignacio_ joined #perl6
14:21 diakopter er, I mean the htop I started _for_you_ in one of your screen tabs
14:21 * diakopter reminds himself not to log into other people's disconnected screens
14:22 PerlJam somewhere someone is just sitting back collection passwords
14:22 PerlJam er, collecting
14:22 diakopter moritz_: I think it was that htop instance
14:23 diakopter it runs a speculative strace on everything I guess :)
14:24 diakopter TimToady: yeah but, the vps hasn't been rebooted since its initial imaging
14:24 diakopter I think.
14:24 diakopter I guess that doesn't matter
14:26 TimToady maybe we should all move to michigan or texas and start a militia...
14:26 alester joined #perl6
14:27 PerlJam Texas is already "like a whole other country"
14:27 diakopter virtual cults are less messy
14:27 * [particle]1 drinks the virtual kool-aid
14:27 mathw I don't think I'd like Michigan or Texas
14:28 diakopter [particle]1: as long as you don't claim the kool-aid *becomes* blood, okay.
14:29 mathw but in the virtual world that's easy
14:29 mathw sub transubstantiate(KoolAid $k) returns Blood { ... }
14:29 TimToady virtually anything is virtually true
14:29 mathw just fill in the ...
14:31 * [particle]1 can't wait until virtual machines become so much better that they're considered nigh machines
14:42 diakopter .u GOD
14:42 phenny U+ACE7 HANGUL SYLLABLE GOD (곧)
14:42 masak Unicode has it all.
14:44 diakopter .u Wall
14:44 phenny U+21F0 RIGHTWARDS WHITE ARROW FROM WALL (⇰)
14:44 PerlJam .u Larry
14:44 phenny PerlJam: Sorry, no results for 'Larry'.
14:44 PerlJam (had to try :)
14:45 PerlJam .u mustache
14:45 phenny PerlJam: Sorry, no results for 'mustache'.
14:45 [particle]1 .u Moe
14:45 phenny U+BAFC HANGUL SYLLABLE MOE (뫼)
14:45 [particle]1 .u Curly
14:45 phenny U+22CE CURLY LOGICAL OR (⋎)
14:45 PerlJam .u Shep
14:45 phenny U+A3B9 YI SYLLABLE SHEP (ꎹ)
14:45 masak .u :)
14:45 phenny U+003A COLON (:)
14:45 phenny U+0029 RIGHT PARENTHESIS ())
14:45 masak right.
14:46 diakopter left.
14:48 nihiliad joined #perl6
14:48 [particle]1 bear right.
14:48 [particle]1 er, no.
14:48 [particle]1 bear left. right, frog.
14:49 pmichaud joined #perl6
14:49 TimToady that was shemp
14:50 moritz_ rakudo: say 1
14:50 diakopter speaking of moe
14:50 p6eval rakudo 872898: OUTPUT«1␤»
14:51 dakkar joined #perl6
14:51 justatheory joined #perl6
14:52 xinming_ joined #perl6
14:59 mberends \o/ between $work lectures, managed to get parrot to seem to install fully in "C:\Documents and Settings\Martin\.perl6\parrot_install"
14:59 moritz_ cool
14:59 mberends well, actually "C:\DOCUME~1\Martin\.perl6\parrot_install" ;-)
15:00 jnthn :-)
15:00 mberends during commute(), will have a similar go at Rakudo
15:00 aesop lol spaces in directory names
15:00 mberends lol ?
15:00 * moritz_ thought a cool parrot configure patch was coming up the road
15:01 * jnthn hadn't ever found the especially amusing, just useful. :-)
15:01 jnthn *them
15:03 masak I try to stay as far away from spaces in filenames as I can.
15:06 kolibrie joined #perl6
15:07 SmokeMachine joined #perl6
15:08 * arnsholt is annoyed
15:08 arthur-_ joined #perl6
15:09 arnsholt Opera removed the postings for the internships I wanted to apply for on the day of the deadline
15:10 jnthn arnsholt: :-(
15:10 arnsholt And the jobs@ e-mail address I had seen previously is now defunct. Great.
15:15 arnsholt Hmm. There is the e-mail address of their corporate press contact on their homepage
15:15 hanekomu_ joined #perl6
15:15 kolibrie TimToady: I'm looking for ideas for a YAPC::NA talk and think 'Exploring viv' might be fun.  Please let me know if you have any objections or helpful insights.
15:15 nihiliad joined #perl6
15:18 pyrimidine joined #perl6
15:25 masak kolibrie++
15:26 kolibrie masak: thanks
15:26 masak kolibrie: if you manage to wrap your brain around LazyMap, let me know :)
15:26 kolibrie sure... but that's a big IF
15:31 jjore joined #perl6
15:36 cotto_work joined #perl6
15:42 masak expectations are high for April 1 from some twitterfolks: http://twitter.com/imos/status/11372247192
15:52 masak jnthn: quite a number of nqp-rx bugs here: http://wknight8111.blogspot.co​m/2010/03/austins-tickets.html
15:52 masak jnthn: don't know if it's over our heads, but maybe we can have a look at some of them during the weekend.
15:53 masak or maybe we'll be fully occupied with the grammar engine parts of nqp-rx...
15:54 jnthn masak: Hmm...
15:56 jnthn Quite a few are not directly nqp-rx issues.
15:57 masak ok.
15:57 jnthn Some are, though
15:57 * masak wants to make a difference
15:58 jnthn There's always a question of how much NQP should hide away Parrot or just expose it.
15:58 jnthn A bunch of them do appear to relate to keyed op usage through pir::op syntax
15:59 jnthn Which is something I've kinda run into as well.
15:59 jnthn I'm not sure what the answer is there.
15:59 jnthn "NQP-rx generates bad access code for non-twigiled attribute
15:59 jnthn "
15:59 jnthn Should probably be made to just require the twigil.
16:02 jnthn http://wknight8111.blogspot.com/2​010/03/lean-and-mean-parrot.html makes interesting reading (the comment).
16:06 mathw yes I found that rather interesting
16:09 jaffa4 rakudo star?
16:10 jaffa4 how is that going?
16:11 jnthn jaffa4: It's going. We chip off a bit more of the work each day. :-)
16:11 jaffa4 should not it be released soon?
16:11 jaffa4 in april?
16:11 masak jaffa4: in Q2.
16:12 masak jaffa4: probably later than April.
16:12 PerlJam I don't think anyone has actaully worked on "Rakudo Star" yet except inasmuch as they've worked on Rakudo and related items.
16:12 masak jaffa4: as you may have heard, our lead developer has been absent lately due to family matters.
16:12 PerlJam (I mean, no one has started putting together the R* distribution)
16:13 jaffa4 who is the lead developer?
16:13 PerlJam jaffa4: pmichaud
16:14 jaffa4 How much work did he do in %?
16:14 masak quite a lot.
16:14 masak but it's not just the %-age, it's also the type of work.
16:15 jaffa4 Is he paid
16:15 TimToady masak: well, but viv is really completely ignorant of LazyMap
16:15 jaffa4 ?
16:15 masak pmichaud is, along with jnthn, one of the developers most familiar with Rakudo internals.
16:15 masak jaffa4: yes, by various grants.
16:15 PerlJam jaffa4: I think, at the moment, no one is being paid (all grants have been paid out)
16:15 masak TimToady: oh, then I'm mixing things up.
16:16 TimToady viv is just a set of action routines that make a STD ast, then walk them to spit out either p5 or p6
16:16 TimToady and it only does the latter well, so far
16:17 jnthn PerlJam: There is one active Rakudo grant at the moment. :-)
16:17 TimToady LazyMap is how we emulate continuations and pass multiple Cursors around internally to STD and Cursor
16:18 PerlJam jnthn: oh!  I completely forgot.  :)
16:18 jnthn PerlJam: colomon++ is working on one. :-)
16:18 PerlJam colomon++
16:18 TimToady but the action routines in viv only know abou the current reality, not all the other potential realities
16:18 * jnthn should maybe apply for another one, to keep him in pivo. :-)
16:18 masak TimToady: isn't viv meant to replace gimme5 eventually?
16:18 jaffa4 where are the grants?
16:19 jnthn jaffa4: Usually announced on news.perlfoundation.org
16:19 TimToady but it doesn't have the part that knows how to write lazymaps yet
16:19 masak ok.
16:19 TimToady it doesn't do regexes at all yet
16:19 TimToady which is arguably the important part
16:19 masak is it the next TODO in viv?
16:21 TimToady so it seems a bit strange to give a talk about viv when it doesn't even start to do what it's supposed to
16:21 jaffa4 Is there an untaked grant now?
16:21 kolibrie well, I could just focus on gimme5
16:21 jnthn Maybe it will by the time there talk is given. ;-)
16:21 TimToady it's possible that viv will be done by then :)
16:21 * jnthn today had to file a talk proposal for November, which is kinda scary given we don't know what will work then. :-)
16:21 jnthn I was...vagueish. :-)
16:22 kolibrie for a talk title, 'Exploring viv' sounds better than 'Exploring gimme5'
16:22 TimToady everyone will think it's an editor...
16:23 kolibrie then they will need to read the abstract
16:23 masak what's a sibble?
16:23 huf easy-to-pronounce shibboleth?
16:24 masak oh, it's a member of the quasibabble family.
16:24 masak nevermind :)
16:24 jaffa4 Are regular expression wroking now?
16:24 masak jaffa4: are you aware that your question is a bit vague? :)
16:24 PerlJam you know ... thinking about how long Perl 6 has been gestating, it doesn't feel like it's got a lot of technical debt in its design, just that it needs some implementations to push things along.  However, parrot feels like it has loads of technical debt.  I wonder if that's really true.
16:25 masak sibble, tribble, quasiquibble, babble, nibble...
16:25 jaffa4 with options.... masak.
16:25 masak jaffa4: that wasn't at all clear.
16:25 masak rakudo: rx:g/ foo /
16:25 p6eval rakudo 872898: OUTPUT«Confused at line 11, near "rx:g/ foo "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:26 masak jaffa4: seems not.
16:26 diakopter masak: have you seen this one?
16:26 jnthn No, don't have modifier parsing there yet.
16:26 jnthn Patches welcome, it may not actually be that hard to put in a few of the ones the engine already supports. :-)
16:26 jaffa4 great....
16:26 jaffa4 luckily, I do not use Perl 6 much.
16:27 * masak hugs jaffa4
16:27 masak jaffa4: I'll give you a short course in complaining sometime. :)
16:28 jaffa4 did I say I complain?
16:28 masak did I say you did?
16:28 jaffa4 then why do you want to give me a course?
16:28 masak then you'd know when your praise sounds like complaints :)
16:29 diakopter rakudo: sub twigil:<@> {}; # masak: sry for the delay
16:29 p6eval rakudo 872898: OUTPUT«error:imcc:syntax error, unexpected '\n'␤  in file 'EVAL_1' line 58␤A method named '>' already exists in class 'Perl6;Grammar'. It may have been supplied by a role.␤current instr.: 'parrot;P6metaclass;add_method' pc 422 (runtime/parrot/library/P6object.pir:326)␤»
16:29 * masak submits rakudobug
16:29 masak diakopter: no, hadn't seen that one :)
16:29 jnthn heh
16:29 diakopter lue gets most of the credit
16:30 jnthn std:  sub twigil:<@> {};
16:30 p6eval std 30251: OUTPUT«ok 00:01 107m␤»
16:30 jaffa4 I cannot complain as you do not have to do anything.
16:30 jaffa4 it is voluntary
16:30 masak has lue already found that bug, or will he, two days from now? :)
16:30 diakopter http://irclog.perlgeek.de/​perl6/2010-03-31#i_2174483
16:30 diakopter ff.
16:31 hercynium joined #perl6
16:31 diakopter and ibid.
16:31 masak :)
16:31 TimToady /op cit
16:32 masak jaffa4: thanks for helping me in my training to suffer trolls gladly. :)
16:33 * TimToady hugs masak
16:33 masak right.
16:33 * masak settles down and does something else
16:33 TimToady .oO(who is being a metatroll today...)
16:33 jaffa4 masak: keep working, I do not tell you not to.
16:34 * masak smiles
16:37 TimToady jnthn: unfortunately, it looks like sink marking should be done as a later pass on the AST, so I've now got version of std (the script) that uses viv's old action autoloader to build an AST
16:37 TimToady (don't walk it yet, though)
16:37 jnthn TimToady: eww.
16:38 jnthn TimToady: But OK, I do have an AST too. ;-)
16:38 jnthn TimToady: I guess what comes next is, what is it we need to look for. :-)
16:38 TimToady It's possible to interleave such passes with the parse (p5 does it all the time), but it's probably better to prototype it as a separate pass
16:38 payload joined #perl6
16:40 TimToady of course, it's possible to take that too far too...I'm thinking of http://blogs.msdn.com/ericlippert/arc​hive/2010/02/04/how-many-passes.aspx
16:42 jnthn my word that's a lot of passes!
16:44 m6locks rakudo: class A { has $!b; submethod BUILD(:$arg) { $!b = $arg; } } my $a = A.new(arg => 4)
16:44 p6eval rakudo 872898: OUTPUT«Confused at line 11, near "class A { "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
16:45 jnthn need a ;
16:45 jnthn between } and my
16:45 TimToady std: class A { has $!b; submethod BUILD(:$arg) { $!b = $arg; } } my $a = A.new(arg => 4)
16:45 m6locks rakudo: class A { has $!b; submethod BUILD(:$arg) { $!b = $arg; } }; my $a = A.new(arg => 4)
16:45 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing punctuation (semicolon or comma?) after block at /tmp/EoZ1tu0QvE line 1:␤------> [32msubmethod BUILD(:$arg) { $!b = $arg; } }[33m⏏[31m my $a = A.new(arg => 4)[0m␤    expecting any of:␤    bracketed infix␤  infix or meta-infix␤
16:45 p6eval ..statement modifi…
16:45 p6eval rakudo 872898:  ( no output )
16:45 m6locks oh ok :)
16:45 jnthn std: show-off
16:45 p6eval std 30251: OUTPUT«Undeclared routine:␤   'show-off' used at line 1␤ok 00:01 105m␤»
16:46 TimToady "I don't know what you mean. :P"
16:46 m6locks was confused, because rakudo was complining about a constructor of some sort, Could not find non-existent sub &A
16:47 m6locks *complaining
16:47 m6locks seems to work here...
16:49 m6locks oh i got it now, the difference between sub and a method
16:49 m6locks rakudo: class A { has $!b; submethod BUILD(:$arg) { $!b = $arg; } }; my $a = new A(arg => 4)
16:49 p6eval rakudo 872898: OUTPUT«Could not find non-existent sub &A␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
16:50 m6locks i guess i should write them both then
16:50 jnthn A.new
16:50 masak is it really an error if you can't find something non-existent? :P
16:51 jnthn .oO( doesn't STD have a C++-brain-damage detector? )
16:52 jnthn std: class A { }; new A()
16:52 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax at /tmp/dot0PO3bpi line 1:␤------> [32mclass A { }; new A[33m⏏[31m()[0m␤FAILED 00:01 105m␤»
16:52 m6locks heehee
16:52 jnthn Rakudo has a want for that.
16:55 TimToady masak: I have been complaining about that double negative for a couple of years now.
16:55 masak yes, I know.
16:56 masak I don't like it more than you do.
16:56 TimToady "patches welcome" --those with the power
16:56 diakopter TimToady: hey you read my msdn link
16:56 TimToady well, yes, I don't always ignore you.
16:57 * diakopter ponders the distinction between ignorant and ignored
16:57 jnthn TimToady: Those with Parrot commit bits in this case. ;-)
16:58 jnthn Oh, damm, wait, I have one of those.
16:59 pugssvn joined #perl6
16:59 pugssvn r30240 | moritz++ | [t/spec] test for <foo=.bar> aliasing in regex
16:59 pugssvn r30241 | colomon++ | [t/spec] Add two tests for using :base by name.
16:59 pugssvn r30242 | lwall++ | [S02,S09] capitalize Junction again
16:59 pugssvn r30242 | conjecture a junction-like Each type
16:59 pugssvn r30243 | lwall++ | [viv] break out Actions.pm for use by others
16:59 TimToady in theory I have one...at least, I turned in a CLA once upon a time
16:59 pugssvn r30243 | [std] use Actions.pm to get read to do AST treewalking for sink context/purity analysis
16:59 pugssvn r30244 | jnthn++ | [t/spec] Tweak a test in light of something that was just an error now being just a warning.
16:59 pugssvn r30245 | lwall++ | [S05] much cleanup of cursor semantics to reflect what STD and Rakudo actually do
16:59 pugssvn r30245 | Retarget <&foo> form to explicitly call routine like <.foo> calls method.
16:59 pugssvn r30245 | A bare <foo> now prefers a lexical function if visible, or calls as a method if not.
16:59 pugssvn r30246 | colomon++ | [t/spec] Add tests to see that the number types are Numeric and (mostly) Real.  This test file probably no longer makes sense in S02-literals, but I'm not sure where it should be now.
16:59 pugssvn r30247 | lwall++ | [CORE] add Real role
16:59 diakopter wheh
16:59 pugssvn r30247 | [Makefile] include Actions.pm in fixins
16:59 TimToady whoa
17:00 pugssvn r30248 | lwall++ | [Cursor] typo in PERL6LIB var name
17:00 pugssvn r30249 | moritz++ | [t/spec] fudge flattening.t for rakudo
17:00 pugssvn r30250 | moritz++ | [t/spec] correct undef.t, and fudge for rakudo
17:00 pugssvn r30251 | moritz++ | [evalbot] try to rebuild rakudo only if the git revision changed, inspired by diakopter++
17:00 moritz_ sorry, it had more to catch up than I expected
17:00 diakopter Lazarus, you smelly
17:00 TimToady is okay, I got karma out of it. :)
17:00 masak jnthn: I tried tracking down the "Could not find nonexistent" error, but I got lost in the vicinity of core_ops.c
17:00 jnthn masak: Given that's a generated file, I@m not surprised. ;-)
17:01 masak right, but the file it's generated from doesn't contain the phrase.
17:01 masak so I went looking for whatever generates it, and promptly got lost.
17:01 jnthn Well, whoz op wiv dat.
17:01 diakopter moritz_: k now tryfile STD only when something in perl6/ changed
17:01 jnthn Can take a look later.
17:02 TimToady the problem is not that you can't find where it is, the problem is that it's in scads of files
17:02 TimToady it's hiding in a school of fish
17:03 jnthn At least they're educated fish in that case.
17:03 PerlJam the only "source" file it looks like it's in is src/ops/var.ops
17:03 TimToady there are 58 occurrences of 'non-existent' in my rakudo directory
17:04 TimToady on 15 of 'Could not find non-existent sub' though
17:04 TimToady *only
17:04 jnthn Please tell me none of them are in .t files. :-)
17:04 moritz_ src/ops/var.ops:487
17:04 PerlJam jnthn: yes, there is a .t file
17:04 moritz_ masak: what you have liked it replaced with?
17:04 jnthn nooooo!
17:04 PerlJam t/pmc/namespace-old.t
17:04 jnthn :-)
17:05 jnthn oh, well if it's old... :-)
17:05 PerlJam that's what I say! :)
17:05 moritz_ std: a()
17:05 p6eval std 30251: OUTPUT«Undeclared routine:␤   'a' used at line 1␤ok 00:01 107m␤»
17:05 jnthn I suspect the runtime error should be distinct in some way from the compile time one.
17:05 masak moritz_: almost anything without the two negatives.
17:05 PerlJam moritz_: s/non-existent//
17:06 jnthn Go for three.
17:06 PerlJam moritz_: "Could not find pink unicorn %Ss"   ;)
17:07 PerlJam (as long as we're not finding non-existent things ... :)
17:07 colomon As long as y'all are thinking....
17:08 colomon I'm hoping someone can suggest a better name than RealX for what I'm talking about in http://justrakudoit.wordpress.com/2​010/03/05/further-thoughts-on-real/
17:08 TimToady Interviewer: Mr. Armstrong, what do you think of folk music?  Louie: All music is folk music.  Ain't never heard no horse sing no song.
17:08 TimToady theres a quadrupal negative
17:08 colomon Unfortunately, I've got to drive back to Ann Arbor now, so can't stick around and chat.
17:09 jnthn 'an arbor?
17:09 jnthn Sounds like how they talked about the places where the boats left from where I grew up. :-)
17:09 colomon :p
17:10 masak food &
17:10 lisppaste3 colomon pasted "latest role fail" at http://paste.lisp.org/display/97141
17:10 jnthn :-/
17:10 jnthn colomon: May need a little more info on what triggered that.
17:13 colomon think it was adding a .abs method to Numeric as well as Real.
17:13 colomon gotta flee now, thanks in advance....  ;)
17:14 jnthn Gee, since I've been thunk, I'd best get on with fixing it. :-)
17:14 TimToady *quadruple
17:16 * diakopter types /me instead of I
17:18 lisppaste3 moritz_ pasted "Patching the "non-existent" out of parrot" at http://paste.lisp.org/display/97142
17:18 moritz_ this passes "make test"
17:19 moritz_ doing the fulltest now
17:19 jnthn \o/
17:19 jnthn moritz_++
17:19 moritz_ a daring soul can apply it, and receive the wrath of the parrot hackers
17:19 jnthn Wrath?
17:20 jnthn Well, I guess I'm not on #parrot, so they have to come and find me and give me wrath. :-)
17:20 moritz_ got some segfaults, need to check if they are related
17:21 TimToady if changing a string makes segfaults, then #parrot should be looking at that, not complaining :)
17:26 PerlJam moritz_: now we just have to bump PARROT_REVISION  :)
17:29 TimToady hmm, does that mean we'll have slow compiles now?
17:29 jnthn Dunno. Maybe that got fixed.
17:30 * jnthn tries optimism occasionally.
17:30 TimToady one gets the feeling that the fix for "uses too much memory" was "now use too little memory"
17:31 TimToady where's mama bear when you need her?
17:31 TimToady or was that baby bear?
17:32 TimToady .oO(Someone's been sitting on *my* parrot!!!)
17:34 revdiablo joined #perl6
17:38 pmurias joined #perl6
17:47 iblechbot joined #perl6
18:04 diakopter thought you said  mama beer
18:06 diakopter ISTR pm mentioning something in rakudo (or its stagechain) looks for the "non-existent" string in particular
18:07 diakopter vurry late commute&
18:08 * jnthn -> noms
18:11 moritz_ diakopter: can't confirm that with ack -a, but thanks for the reminder anyway
18:16 TimToady I didn't see anything either.
18:20 diakopter hm
18:20 diakopter not even in nqp-rx ?
18:20 diakopter any of its pir stages?
18:21 TimToady not in any text file under rakudo including parrot
18:24 TimToady now, 'nonexistent' without a hyphen may be a different story; looks like Test itself uses that somehow
18:26 TimToady Test::More, actually, but none of the nonexistents seem related to the non-existent stuff
18:39 ash_ joined #perl6
18:40 mssm joined #perl6
18:44 slavik joined #perl6
18:44 jaldhar joined #perl6
18:45 mberends joined #perl6
18:46 ash_ so... i was looking at how STD.pm does some stuff, i noticed it uses a "Stash" as a lexpad, but I haven't seen the "Stash" in any other details on the spec... is the stash more or less a hash?
18:47 TimToady abbrev for symbol table hash
18:47 TimToady so yes
18:47 TimToady rakudosketch in 13 mintues?
18:48 TimToady whatever a mintue is...
18:48 ash_ TimToady: got ya, thanks
18:49 ash_ i am making an attempt at implementing some sort of runtime support for my nq-nqp, so, i am trying to figure out how to lexically scope my variables, according to the p6 rules
18:51 slavik does rakudo come with an environment PERL6LIB set by default?
18:52 ash_ rakudo searches the build (or is it install?) directory and ~/.perl6/lib
18:52 ash_ by default
18:52 mberends slavik no, but if you set it the contents are appended to @*INC
18:52 ash_ rakudo: say ~@*INC;
18:52 p6eval rakudo 872898: OUTPUT«. /home/p6eval/.perl6/lib /home/p6eval//p2/lib/parrot/2.​2.0-devel/languages/perl6/lib lib␤»
18:52 slavik k
18:53 ash_ oh, and i guess '.' is set too
18:53 tinyperl6 joined #perl6
18:56 tinyperl6 Hi. Back when I worked in C++, it was often the case that we had a longish list of advanced features that the developers were not to use (because it tended to make things too complicated). Is it expected that Perl 6 will offer a way to selectively shut off various advanced features if so desired?
18:56 ShaneC joined #perl6
18:56 ShaneC left #perl6
18:57 jnthn tinyperl6: Oh, er, hmm. I forgot about #rs...
18:57 jnthn gah!
18:57 jnthn TimToady: ^^
18:58 ash_ tinyperl6: not that I am aware of
18:58 tinyperl6 @jnthn: Hi. Sorry, but I don't know anything about "#rs".
18:58 jnthn tinyperl6: Yes, I'm used to Ti<tab> getting me TimToady. ;-)
18:58 jnthn tinyperl6: Doubt anything will be offered in core. Doesn't stop somebody writing a module that does it...
18:59 tinyperl6 Ha. :) Oh. I just made up this handle.
18:59 ash_ yeah, you could probably change the grammar to remove things if you really wanted, but that seems... counter productive
18:59 tinyperl6 @jnthn: Oh, so a Perl 6 module might be able to do that.
19:00 tinyperl6 @ash_: Well, my understanding was that Perl 6 is supposed to be very ... programmable. So, if someone wants to be counter-productive, I could they could choose to do that, no? :)
19:00 ash_ yeah, sure
19:01 ash_ there is nothing stopping you from writing a module that modifies the p6 grammar to restrict things
19:02 jnthn There's a slight irony that you'd very possibly be using the "advanced features" to implement a module to disable them. ;-)
19:02 tinyperl6 @ash_: Is there a Synopsis that discusses how to do that?
19:02 tinyperl6 @jnthn: Haha. :)
19:03 tinyperl6 Ok, that answers my question. Thank you for the info.
19:03 tinyperl6 left #perl6
19:05 [particle]1 if you leave features out of perl 6, you end up with not-quite perl, don't you?
19:06 jnthn Well, depends how mnay you decide to leave out. ;-)
19:08 ash_ [particle]1: there could be various levels of perl 6 spec compatibility, but if you get to nqp you can implement a good bit of the rest of perl 6, if i am not mistaken
19:09 mathw o/
19:14 nihiliad joined #perl6
19:23 ash_ TimToady: have you had any thoughts on phasers for classes/roles inheritance/mixin's? just curious
19:24 ash_ s/mixin/compose
19:33 mariano__ joined #perl6
19:34 colomon joined #perl6
19:35 TimToady I thought we figgered that out the other day...
19:36 * jnthn has recollections of something conclusion-ish.
19:36 ash_ i was just checking, duno, maybe you decided COMPOSED or something was a bad name for a phaser
19:37 TimToady bad names are much easier to fix than bad semantics
19:38 ash_ yeah, okay, just checking, i might make a patch for S12 and S14 to mention the phasers for classes and roles if you want
19:39 slavik grammar Perl6 { token TOP { \* } }
19:39 slavik *; # where * does whatever I need to at the moment.
19:40 ash_ that would be an awesome operator
19:41 slavik ash_: that would an implementation of Larry's favorite language, called STAR
19:41 colomon afk # no sooner home than sent off to the store to buy diapers.
19:42 ash_ slavik: grammar Perl6 { token TOP { \* {  MindReader.new(@*USER};  } }
19:42 payload joined #perl6
19:42 TimToady the discussion was in the neighborhood of http://irclog.perlgeek.de/​perl6/2010-03-26#i_2158785
19:43 mathw slavik: there was some discussion of the 'dwim' function on p6l back in the day
19:44 TimToady the star language is actually out of GEB, iirc
19:45 slavik geb?
19:47 TimToady Gödel, Escher, Bach
19:47 mberends http://en.wikipedia.org/wik​i/G%C3%B6del,_Escher,_Bach
19:53 sundar joined #perl6
19:59 payload joined #perl6
20:00 TimToady phone
20:03 jaldhar joined #perl6
20:05 sjohnson my brother has that book
20:05 TimToady the phone book?
20:05 sjohnson heh
20:05 ash_ thats a good book
20:05 sjohnson he doesn't have the phone book actually
20:05 sjohnson what with all this google technology going around
20:05 sjohnson ( `ー´)
20:06 mathw I have one, but only because they keep sending me one
20:06 sjohnson i flipped through GEB and immediately felt stupid
20:06 mathw pretty much everyone I know is ex-directory anyway
20:07 mathw and yeah
20:07 mathw that's a good book for reminding people how much cleverer other people are
20:08 sbp clever, yes
20:08 sbp use Philosophical Investigations for talent
20:10 sjohnson hi mathw !
20:11 mathw hi sjohnson
20:11 mathw how's it going
20:13 sjohnson pretty good.  decided to try programming a cute 2D game
20:13 sjohnson i think computer technology has advanced enough for it to be much easier than it was 15 years ago to do so
20:14 mathw hopefully
20:14 mathw there are some good libraries for graphics these days
20:14 mathw and whole game engines lying around too
20:15 PerlJam mathw: for perl 6 ?  ;)
20:15 mathw well
20:15 mathw no
20:15 mathw not yet :)
20:17 sjohnson basically playing Cave Story inspired me to try my own
20:17 sjohnson you may have heard of this cute, successful, and very popular and free Japanese game
20:19 mathw yeah
20:20 slavik cave ... japanese?
20:20 sjohnson it'll be pretty fun to do i believe, but may also extend my virginity contract by another 5 years
20:20 slavik there has to be some perversion involved
20:22 sjohnson slavik: nothing prevented, simple cute 2D game with great music, a story, and great graphics
20:23 pmurias virginity contract = ?
20:24 sbp = will be too busy to date, I think? :-)
20:24 sjohnson sbp: bingo :]
20:25 pyrimidine left #perl6
20:25 pyrimidine joined #perl6
20:29 masak joined #perl6
20:29 masak ahoy, #perl6!
20:29 mathw sjohnson: I thought that, but then it turns out I'm not
20:29 jnthn ahej, masak!
20:29 mathw Saluton, masak!
20:29 diakopter o
20:29 masak :D
20:29 Coke joined #perl6
20:30 Coke last day for yapc::na talk submittals, I think.
20:30 sjohnson mathw: you're not what?
20:30 masak diakopter: is that a picture of a guy that can't be bothered to wave?
20:30 pyrimidine left #perl6
20:31 diakopter masak:
20:31 mathw sjohnson: too busy to date
20:31 masak hm, did I miss another rakudosketch? :(
20:32 moritz_ masak: aye
20:32 jnthn masak: Not a whole lot happened though.
20:32 masak gotta start paying more attention to those...
20:32 jnthn masak: Maybe because you missed it. ;-)
20:32 masak now we'll never know.
20:32 jnthn Oh well
20:32 jnthn Let's try again enxt week. ;-)
20:32 lisppaste3 mberends pasted "Rakudo build error on Windows XP" at http://paste.lisp.org/display/97156
20:33 * diakopter very confused by the Cave Story discussion
20:33 masak what Cave Story discussion?
20:35 masak ah. found it. backlog.
20:35 frettled masak: Was it platonic?  :D
20:36 masak frettled: now you've got me confused. :)
20:36 masak ah. gotcha.
20:36 masak Caves. Plato.
20:36 * masak is slow today :)
20:36 jnthn ETOOUNCULTUREDTOGETTHATONE
20:36 sjohnson :)
20:38 masak jnthn: there was this guy called Plato, who surmised that the world we live in is less real than this other, imagined world. think Matrix as a first approximation.
20:38 frettled masak: I think you got it rather quickly, all considering.
20:38 masak jnthn: to explain how our world might relate to that other, realer world, he employed a metaphor of shadows.
20:38 mberends joined #perl6
20:38 frettled http://en.wikipedia.org/wiki/Allegory_of_the_Cave
20:38 PerlJam plato ... not to be confused with play-doh
20:39 masak jnthn: he set up a scene in which a number of people had been trapped in a cave all their lives, facing a wall on which shadows fell.
20:39 frettled masak: to be precise, he didn't mean that the world was like that, it was an allegory
20:39 masak jnthn: you can make it from there, I think. :)
20:39 masak frettled: right. a moving-van.
20:39 diakopter 'like' is, like, allegorical
20:40 snarkyboojum (finally) an updated spectest status/graph! http://www.mutteringmadman.com/perl6/status.png
20:40 jnthn masak: Ah, yes. :-)
20:40 colomon snarkyboojum++
20:40 masak whoa! snarkyboojum++
20:41 snarkyboojum took a while to generate the data for that!
20:41 frettled snarkyboojum++
20:41 masak nuh ya. :)
20:41 masak look at that progress!
20:41 masak that's why I like doing things a second time :)
20:41 jnthn Yeah!
20:41 jnthn heh. Spot the trig shelf.
20:41 snarkyboojum now that's progress! :)
20:41 mathw fantastic progress
20:41 mathw the post-ng recovery is looking nice
20:42 frettled very nice, it's far better than I expected it would be
20:42 masak yes. almost there.
20:42 masak me too.
20:42 snarkyboojum aye - that's all I've added really (the post-ng stuff)
20:42 diakopter I'd like to see this metric: the percentage of the non-passing tests from 2008-05-22 that are currently passing.
20:43 * jnthn wonders what's special about that date.
20:43 diakopter first date of the graph
20:43 jnthn ah, ok
20:45 PerlJam diakopter: you'll probably not get that metric.
20:46 masak hah -- I remember pmichaud++ complaining in August that the graph was boring because it was self-similar... well, we fixed that :P
20:46 PerlJam whose to say tests haven't been deleted or refactored such their essence is different?
20:46 masak they have.
20:46 PerlJam s/whose/who's/
20:52 salzh joined #perl6
20:52 Trashlord joined #perl6
20:52 ash_ mberends: does \\*.o work with windows shell?
20:52 ash_ do you know off the top of your head by chance? in your build error message it has that, src\pmc\\*.o
20:52 ash_ that seems off, like it tried to escape the *
20:53 ash_ but i could be wrong /shrug i don't know windows that well
20:53 jnthn mberends: Hmm...that error is...odd. :-|
20:53 mberends ash: good point. Currently re-trying on Windows 7...
20:54 ash_ you could try manually wriring all the src\pmc\*.o files out instead of using a wild card
20:54 ash_ it also might be shell dependent, so cygwin will act different than the windows shell, probably
20:55 mberends yes, cygwin uses bash
20:57 mberends on Windows 7, an entirely different error.
20:57 mberends .\parrot.exe runtime/parrot/library/PGE/Perl6Grammar.pir --output=compilers/pge/PGE/builtins_gen.pir
20:57 mberends compilers/pge/PGE/builtins.pg
20:57 mberends Illegal escape sequence in Uxxx escape
20:57 mberends current instr.: 'parrot;PCT;HLLCompiler;init' pc 24 (compilers/pct/src/PCT/HLLCompiler.pir:29)
20:57 diakopter PerlJam: in that case, the following would be sufficient: the percentage of the non-passing tests from 2008-05-22 that are still not passing.
20:59 PerlJam diakopter: that might be doable, but there's still the question of identity.   Might not be that big of a deal, but someone has to look to do the comparison  :)
20:59 SmokeMachine joined #perl6
21:00 ash_ mberends: it looks like some escaped characters are wrong then for windows, for some reason...
21:03 mberends Windows XP liked it more than Windows 7. Same Strawberry Perl, same gcc...
21:03 mberends pushed the current proto that causes all the trouble to http://github.com/masak/proto
21:05 mberends it might be more fruitful (oh noes) to try ActiveState and msvc++
21:06 mberends less fruity, anyway
21:07 jnthn mberends: MS VC++ in theory works well.
21:07 jnthn (With ActiveState)
21:08 mberends jnthn: will be trying it soon, probably need to uninstall Strawberry first
21:08 jnthn OK
21:08 jnthn Decided to take on lexical multis, "just for fun".
21:09 masak \o/
21:10 masak "Lexical multis: because sometimes, you're in a new scope, thinking: I'll just declare a lot of new multi variants here..." :)
21:10 * mberends decided to sleep
21:11 masak will we ever see dynamic multis?
21:12 jnthn eww
21:12 jnthn :-)
21:12 * masak cackles
21:12 jnthn Well, &*foo can go looking for an &foo that's a multi
21:12 jnthn So it'd work in that sense.
21:13 jnthn I don't know that you'd get anything more than that out of it. :-)
21:13 masak but I'd have to call it with &*foo(), not with foo(), right?
21:13 jnthn Yup
21:13 jnthn Should work though.
21:14 jnthn Trouble is, how to declare a dynamic multi :-)
21:19 masak temp multi :)
21:20 jnthn You just want me to have nightmares when I finally sleep. :-P
21:20 masak mwhahaha.
21:20 lue a/way
21:20 jnthn fejl
21:20 lue hello!
21:21 masak hellue!
21:22 * jnthn fetches a beer while his patch compiles
21:22 * masak takes a look at Yapsi, to see if he can scrape together a release for tomorrow
21:23 lue Anyone up for some Shameless Self-Promotion™ ?
21:23 astrojp joined #perl6
21:23 masak please be more specific.
21:24 lue of something I've proposed to Wikimedia
21:25 jnthn patch fejl! :-(
21:25 lue http://meta.wikimedia.org/wiki/WikiGuide
21:25 lue jnthn: noo! :(
21:29 lue I'm not a Perl 5 guy. When something like ItemA::ItemB comes up (ex. Gregorian::Calendar), what does ItemA and ItemB represent?
21:29 jnthn Just parts of a package name.
21:30 PerlJam lue: ItemA::ItemB represents a namespace.
21:30 PerlJam lue: ItemA and ItemB are just identifiers
21:31 lue so you could define things like "package Gregorian;" and "package Gregorian::Calendar;" ?
21:31 masak yes.
21:31 masak or classes with that name. or some other abstraction.
21:31 jnthn .oO( not in Rakudo ;-) )
21:32 lue OK. I thought the :: did something special.
21:32 PerlJam lue: not as such, except for telling perl where to look for the .pm
21:32 masak by the way, Gregorian::Calendar is a terrible name. we still have some of that stuff in S32, but I'm pretty sure it's going away for shorter, nicer names.
21:32 jnthn Well, we pass all of lexical-multi.t now...
21:33 jnthn :-)
21:33 PerlJam lue: for a module named Foo::Bar::Baz, perl will look for Foo/Bar/Baz.pm in @INC
21:33 masak jnthn++
21:33 PerlJam masak: Greg::Cal  (greg's calendar)
21:33 PerlJam :)
21:33 lichtkind joined #perl6
21:34 masak PerlJam: definitely more Perlish :)
21:34 jnthn Ah, nice test file. It contains the Slovak word for elephant. :-)
21:34 frettled Greg::Pal
21:34 frettled Greg's pal
21:34 lue Calendar::Gregorian would make more sense
21:34 PerlJam Greg::Gal
21:34 frettled lue: but that wouldn't work with Gregorian::Chant ;)
21:34 lichtkind jnthn: whats the word for elephant?
21:34 jnthn slon
21:34 jnthn lichtkind: a po cesky?
21:34 lue >say Gregorian::Chant
21:34 masak like in Russian.
21:34 lichtkind jnthn: like in czech
21:34 lue sank-tow-sank-ooz-dom-i-nay
21:35 lichtkind all object types als now in appendix B in both languages
21:37 lue I would love to completely rework S32::Temporal (esp. considering it's NYI™ at all)
21:37 lichtkind sugared dried lemon anyone?
21:38 jnthn Prefer starobrno.
21:38 cognominal jnthn, I am thinking doing a Perl 6 obfuscation contest at the French Perl workshop. The rule would be to write a script of 100 chars of less without I/O that parses using as much Perl 6 rules as possible.
21:38 lichtkind i anyone here givin a perl 6 talk at yapc::EU
21:38 jnthn cognominal: hehe
21:38 jnthn lichtkind: probably
21:38 lichtkind s/i/is/
21:38 jnthn lichtkind: Though I didn't submit yet. Guess deadline isn't for a little bit?
21:39 lichtkind it is
21:39 jnthn it is for a little bit?
21:39 jnthn :-)
21:39 lichtkind i planning to do one about subtle things in perl6 lang design
21:39 lichtkind that one i like :)
21:39 jnthn The Call for Papers is open and will close on June 15th, 2010.
21:39 jnthn Aaaaages to go!
21:39 lichtkind jnthn: i have lobkowicke pivo
21:40 lichtkind jnthn: yes i just want to know if someone os planning similar
21:40 jnthn lichtkind: Je ceske? Alebo polske, alebo...?
21:40 * jnthn never had lobkowicke
21:40 lichtkind jnthn: české
21:40 jnthn ooh.
21:40 jnthn Must be nice then. :-)
21:41 slavik lichtkind: русский?
21:41 slavik :)
21:41 lichtkind jnthn: it tasts really chech and you get it hear in germany for decent price
21:41 slavik I need to go back to Europe
21:42 vdo joined #perl6
21:42 * jnthn is going to Russia in a week and a half's time o/
21:42 lue Considering it's THE SPEC... I can has permission to change S32::Temporal?
21:43 lue jnthn: that's .75 fortnights :)
21:43 slavik russia sucks
21:43 slavik go to ukraine
21:43 lichtkind slavik: я иемиого говорю
21:43 masak in Perl 6, is die "A\n" supposed to suppress line and file information?
21:43 slavik отлично :)
21:44 jnthn slavik: Я буду, в Июнь. :-)
21:44 jnthn I hope. :-)
21:44 lichtkind slavik: :)
21:44 lichtkind typing russian is hard
21:44 slavik а я нет :(
21:45 slavik russian phonetic :)
21:45 lue Reading russian is hard :)
21:45 slavik I couldn't live without it
21:45 slavik it's of the reasons Linux > Windows
21:45 lue I pronounce русский (based on look) pie-kin
21:45 lichtkind lue: i had at school, i read it like english even i dont understand avery word
21:46 lichtkind slavik: true
21:46 jnthn slavik: I tend to go to the Ukrainian Perl Workshop each year. It's fun. :-)
21:46 jnthn masak: I don't thik so.
21:46 jnthn masak: That'd seem...odd.
21:46 masak it does in Perl 5.
21:46 jnthn Oh?
21:47 * jnthn didn't know that.
21:47 jnthn Feels...a tad too magical.
21:47 masak I'm inclined to agree.
21:49 tewk joined #perl6
21:50 lue S32::Temporal is horrid. I would like to re-do it, considering most (if not all) of it is NYI. I'm just nervous because it's, well, the spec!
21:50 ash_ so... is there a time pm is normally on? i wanted to ask him some questions about nqp
21:50 lue rakudo: localtime()
21:50 p6eval rakudo 872898: OUTPUT«Could not find non-existent sub &localtime␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
21:50 lue rakudo: say time()
21:50 p6eval rakudo 872898: OUTPUT«1270071327.90403␤»
21:50 masak lue: yes.
21:51 masak lue: S32::Temporal needs lots of love. supernovus is currently the one carrying the torch.
21:51 masak lue: I'm currently of the opinion that S32::Temporal should mostly shrink a lot, and try to be really minimal, if not entirely gone.
21:52 * lue EPIC SWIPE! ∑>
21:52 lue masak: then where would time go?
21:52 masak lue: a rumour tells me that time is actually independent of the Perl 6 spec.
21:53 lue In Rock-Perl-Scissors-Time, Perl beats all!
21:55 salzh joined #perl6
21:55 lue Time, IMO, is an important part of any language, enough to be built in.
21:56 colomon lue: who knows where the time goes?
21:56 masak indeed. we just haven't convinced ourselves yet that we'll be able to committee this into a good thing. :)
21:57 lue Ooh! Committee as a verb! quick, trademark it!
21:58 frettled masak: three people form a group, four people are a committee
21:58 frettled (organization theory 001 ;))
21:58 lue .oO(Novell won in SCO v. Novell. The result is that Novell has the rights to Unix \o/)
21:59 lue .oO(or rather, the ownership of those rights are recognized by the law)
21:59 slavik lue: wait for MS to through 10mil more to SCO
21:59 frettled Or, in other words: the patent-trademark-copyright troll SCO didn't managed to wrestle the rights _away_ from Novell.
22:00 lue Which means SCO's other lawsuits (against IBM, for example) are likely to fall as well \o/
22:03 dalek rakudo: 6a2e0ae | jonathan++ | src/ (2 files):
22:03 dalek rakudo: Lexical multis now incorporate outer candidates.
22:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​a2e0aee5a104f233ffc44f920674b9ec10661eb
22:03 dalek rakudo: 47ab4c2 | jonathan++ | t/spectest.data:
22:03 dalek rakudo: Turn S06-multi/lexical-multis.t back on.
22:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​7ab4c26dbed10674e98684c40210ea8eca9f55f
22:04 lue Well, until we decide how to handle Time (we _will_ handle it), I'll just rewrite S32::Temporal
22:05 masak yaylexicalmultis!
22:06 lollan joined #perl6
22:06 masak lue: looking forward to what you come up with.
22:06 colomon \o/
22:06 diakopter the odd thing is that MS has been investing tons in Novell, too.
22:07 diakopter the initial few hundred mil that SCO had for its trolling originally came from Caldera, which won it in a lawsuit against Microsoft re: DR-DOS
22:09 lue Yes, and Yahoo! payed Ubuntu to put Yahoo! as the default search in their distribution of Firefox, iirc
22:10 masak std: tr/a-z/A-Z/
22:10 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of - as character range; in Perl 6 please use .. at /tmp/jB8fEZ2ejF line 1:␤------> [32mtr/a-[33m⏏[31mz/A-Z/[0m␤FAILED 00:01 108m␤»
22:10 masak \o/
22:11 lue should I just add myself to the AUTHORS list (in S32-temporal), under "The authors of the related Perl 5 docs"
22:11 ash_ wait, so SCO wants to change linux users? lol... i don't think that will ever happen
22:11 lue SCO set out on the lawsuit to force linux users to pay fees, on the grounds that Linux included Unix
22:11 ash_ but linux isn't unix... technically
22:12 ash_ its unix like, but not unix
22:12 lue included Unix *code*, or had something else in it that involved infringing upon Unix.
22:13 masak std: my @a; \|<<@a
22:13 lue I only skimmed it :)
22:13 p6eval std 30251: OUTPUT«ok 00:01 106m␤»
22:16 colomon std: 2 \| 3
22:16 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/iOcURKRnbm line 1:␤------> [32m2 [33m⏏[31m\| 3[0m␤    expecting any of:␤ POST␤   bracketed infix␤    infix or meta-infix␤      postfix␤        postfix_prefix_meta_operator␤       statement modifier loop␤FAILED 00:01
22:16 p6eval ..106m␤»
22:17 colomon std: \| 3
22:17 p6eval std 30251: OUTPUT«ok 00:01 106m␤»
22:17 colomon what is \|    ?
22:18 jnthn \(|3)
22:18 jnthn Grouped like that
22:18 jnthn |3 is the | as in foo(|@args)
22:19 lue what exactly does this end up doing: our Instant sub time()
22:20 masak lue: TimToady makes a distinction between TAI and 'civil time' in Perl 6.
22:21 masak lue: civil time is the messy, unruly thing with leap days and time zones and stuff.
22:21 lue I know, but I don't know how Instant fits in.
22:21 masak TAI, if I understood it correctly, is more orderly.
22:21 lue in that location
22:21 ash_ our ReturnTime sub name()
22:21 ash_ i think is what you mean, its how you can set the return type
22:21 lue so, Instant is defined on its own?
22:22 masak an Instant contains a TAI time point.
22:23 lue wait, aren't we getting into recursive definition now? time returns a TAI instant, but it's a useless function unless it calculates that instant, thereby creating Instant.
22:25 jnthn std: /x/i
22:25 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unsupported use of suffix regex modifiers; in Perl 6 please use prefix adverbs at /tmp/cHnV4pu75K line 0 (EOF):␤------> [32m/x/[33m⏏[31mi[0m␤Other potential difficulties:␤  Unsupported use of /i; in Perl 6 please use :i at /tmp/cHnV4pu75K line 0
22:25 p6eval ..(…
22:25 lue .oO(you wouldn't want me defining Instant, or else I'd make it un-implementable)
22:26 lue but seriously, isn't our Instant sub time() going to be recursive? I don't see how else to implement the instant other that calculating TAI, which is what this sub that's supposed to be returning an Instant does!
22:28 lue an Instant is what the time() sub returns an Instant is what the time() sub returns... (or am I reading the spec incorrectly?)
22:33 ash_ Instant is the return time, time() generates a new Instant()
22:33 masak lue: if you're looking for an independent definition of Instant, it's in S02.
22:33 lue My problem is how you would implement this without going into a recursion
22:34 masak I don't see why recursion would happen.
22:34 ash_ its like this: our Int add(Int a, Int b) { return a + b }, thats not recursive...
22:35 masak just like when you construct a Rat, you don't need to already have rational numbers to do it.
22:35 lue S02: "Instant     A point on the continuous atomic timeline" How would you figure out that point on the TAI timeline? with time()
22:35 lue I guess I just need to know how Instant is implemented :)
22:35 masak lue: ok, so your question is basically how &time does its job.
22:35 masak std: "abc" ~~ /()/
22:35 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/qs2ZjnyhDJ line 1:␤------> [32m"abc" ~~ /([33m⏏[31m)/[0m␤FAILED 00:01 107m␤»
22:35 masak rakudo: "abc" ~~ /()/
22:35 p6eval rakudo 872898: OUTPUT«Confused at line 11, near "\"abc\" ~~ /"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:35 * masak submits LTA rakudobug
22:36 masak rakudo: "abc" ~~ /[]/
22:36 p6eval rakudo 872898: OUTPUT«Confused at line 11, near "\"abc\" ~~ /"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
22:36 snarkyboojum joined #perl6
22:37 lue how is it able to return a TAI Instant, when Instant is defined as a point of time in TAI? That's my question, and I can only see recursiveness :(
22:38 masak by doing something platform dependent, and then constructing an Instant in the sub itself.
22:39 lue "by doing something" .oO(I prefer Unix Epoch anyway)
22:40 sorear How does TAI interact with special relativity?
22:40 masak a very good question.
22:40 masak while you find out, I will sleep a bit.
22:40 masak 'night
22:41 lue o/
22:41 lue TAI claims to be timezone-independant, not planet-independant :)
22:41 ash_ timestamp = open("/dev/ttyUSBGPS").write​("\r\n\r\n$QT,3").readline;
22:41 ash_ just plug a GPS into every computer running perl 6
22:41 ash_ then you can ask it for the time
22:41 ash_ they have timestamps on every GPS quey
22:41 ash_ query*
22:42 ash_ that are accurate to a few milliseconds, :P
22:42 ash_ http://www.sparkfun.com/commerce/​tutorial_info.php?tutorials_id=47 has a guide for building a clock if you want to make one that sets its time based off GPS
22:43 sorear moritz_: Can you explain why p6eval sometimes says "no output"?  Is the OOM-killer getting the perls and the IRC bot is failing to relay WIFSIGNALLED(SIGKILL)?
22:43 lue milliseconds are a few infinities bigger than instants, according to my definition.
22:43 ash_ its the instant the signal left the satellite
22:44 ash_ although with some fancy math, and enough signals, you could get a more accurate number
22:45 ash_ most GPS signals require 4 satellite links to be valid, but with good reception, one of the robots I am doing under graduate research with can get 11 satellites, so you could narrow the margin down a bit if you need more accuracy, or you could make an atomic clock if you can get ahold of something radioactive
22:46 lue funny enough, last night I considered a method of telling time involving the position of satellites :) "It's GPS-10:2 degrees 3 minutes 5 seconds"
22:47 ash_ some gps's already do the fancy math for you, if you get a $2,000 GPS (yay school funding!)
22:48 lue \o/ Legitimized Stealing™
22:49 ash_ i have to give it back, but i get to use it all i want for now
22:52 lue \o/ Mysterious Loss of Stuff™ with free Dissappearing Act™
23:04 pugssvn r30252 | jnthn++ | [t/spec] Tests for being able to see a lexical outside of a grammer inside a closure within a rule.
23:04 pugssvn r30253 | jnthn++ | [t/spec] Add a TODO.
23:04 lue going to try compiling rakudo locally, see how that goes :)
23:07 dalek rakudo: 7d00af1 | jonathan++ | src/Perl6/Grammar.pm:
23:07 dalek rakudo: Add the C++ constructor detection/error and a slightly simpler version of the Perl 5 regex modifier detection/error as per STD.
23:07 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​d00af180d9afa5b6be759e7bedde0463890968c
23:09 jnthn Ugh, early meeting tomorrow.
23:09 jnthn So early night.
23:09 jnthn o/
23:10 lue night o/
23:11 lue afk
23:11 sorear lue: The spec is publically editable for a reason.
23:11 daemon joined #perl6
23:14 sorear ash_: Atomic clocks use lasers, not radioactivity.  (Atomic can mean so many things... in this case, it's electron configurations.  Hyperfine transitions in the valence orbital of Cs-137, iirc)
23:14 sorear I wonder how the NIST 1 cc atomic clock is doing
23:14 ash_ ah, i thought they were based off the decay rate for some reason, since that happens at a very stable rate
23:15 TimToady depends on what you mean by 'stable'
23:16 TimToady over a period of time that is small compared to the half life, you'll get something like a poisson distribution of events
23:16 ash_ i don't claim to understand it, i just thought thats what they were, but i seem to be wrong
23:16 TimToady that is not conducive to measuring time
23:16 lue How about the half-life of some radioactive element with a half-life of ~ 1 second? :)
23:16 TimToady it's still probabalistic
23:16 sorear in the simplest form, atomic clocks are based on the fixed frequency of atomic spectral lines
23:16 ash_ this is why i don't wear a watch
23:16 lue the IID can fix that
23:16 ash_ time doesn't make sense to me in most cases, it also seems to go away so fast
23:17 m6locks true
23:17 lue Time is an illusion, Lunchtime doubly so
23:17 sorear however, if you just try to measure the spectral lines in a chunk of room temperature caesium, you'll get several very unwanted ppb of inaccuracy due to the doppler shift
23:17 sorear atoms move too much
23:17 lue Amen!
23:17 sorear most of the technical complexity of atomic clocks is related to how do you get atoms to /hold still/ in the light
23:18 ash_ my general strategy of keeping track of time is, is it day time? can i see the sun? how hungry am i? generally though, i end up on campus in a basement and for to many hours
23:18 TiMBuS joined #perl6
23:18 sorear now, it turns out that, if you try to stop an atom in midair, it... falls like a rock
23:19 TimToady hence, fountain clocks
23:19 sorear 9.8 m/s^2 applies equally to atoms as to asteroids...
23:19 lue 0 Kelvin is a bit chilly
23:19 lue sorear: and to unladen European Swallows
23:21 lue The airspeed velocity of an unladen *european* swallow is ~9.8 m/s (didn't see the ^2)
23:23 ash_ whats the other way to specify a return type? i know you can do (for instance) my Foo sub bar(); is it sub bar(--> Foo) ?
23:23 TimToady or sub bar() returns Foo
23:23 TimToady or of Foo
23:23 TimToady any of those work
23:23 TimToady and no two of them may be used at the same time
23:23 ash_ go ya, thanks
23:24 TimToady std: sub bar (--> Foo) of Bar {...}
23:24 Limbic_Region joined #perl6
23:24 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse signature; couldn't find final ')' at /tmp/EIvmnMZpHt line 1:␤------> [32msub bar (--> [33m⏏[31mFoo) of Bar {...}[0m␤    expecting typename␤FAILED 00:01 108m␤»
23:24 TimToady std: class Foo {}; class Bar {}; sub bar (--> Foo) of Bar {...}
23:24 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Extra 'of' type; already declared as type Foo at /tmp/x3FxtZjFa7 line 1:␤------> [32m class Bar {}; sub bar (--> Foo) of Bar [33m⏏[31m{...}[0m␤FAILED 00:01 106m␤»
23:25 TimToady std: my Int sub bar (--> Str) {...}
23:25 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Extra 'of' type; already declared as type Int at /tmp/BoN72rZ6Bl line 1:␤------> [32mmy Int sub bar (--> Str[33m⏏[31m) {...}[0m␤    expecting typename␤FAILED 00:01 107m␤»
23:25 TimToady std: my Int sub bar () returns Str {...}
23:25 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Extra 'of' type; already declared as type Int at /tmp/zRhT3nRas2 line 1:␤------> [32mmy Int sub bar () returns Str [33m⏏[31m{...}[0m␤FAILED 00:01 107m␤»
23:26 TimToady std: sub bar () returns Int returns Str {...}
23:26 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Extra 'of' type; already declared as type Int at /tmp/JXrJ3v0v77 line 1:␤------> [32msub bar () returns Int returns Str [33m⏏[31m{...}[0m␤FAILED 00:01 106m␤»
23:26 ash_ do those work for anon subs? like, my &foo = sub returns Str { }
23:26 TimToady std: anon sub () returns Int returns Str {...}
23:26 p6eval std 30251: OUTPUT«[31m===[0mSORRY![31m===[0m␤Extra 'of' type; already declared as type Int at /tmp/x3cUZHXsGh line 1:␤------> [32manon sub () returns Int returns Str [33m⏏[31m{...}[0m␤FAILED 00:01 106m␤»
23:26 ash_ neat, strong typing ftw? well, its nicer on compilers anyway
23:28 ash_ so, does anyone know if nqp-rx attempts any PAST optimizations?
23:33 sorear no part of Perl 6 does any significant optimizations
23:33 sorear this is deliberate
23:34 ash_ i know, but i was talking to #parrot about GSoC ideas, that popped up, adding some PAST optimizations to nqp and potential some other optimizations to imcc
23:34 slavik for all?
23:35 sorear slavik: Premature optimization is the root of all evil
23:35 slavik no ...
23:35 sorear And when half the spec isn't even written, it's decidedly "premature"
23:35 slavik women are root of all evil ...
23:35 slavik there's a formula that proves it
23:35 slavik :P
23:35 ash_ isn't that money?
23:35 slavik or money
23:35 ash_ or women
23:35 slavik hold on
23:36 slavik http://www.listen2unclejay.com/gallery/a​lbums/userpics/10001/women-problems.jpg
23:38 jpzork joined #perl6
23:39 k23z__ joined #perl6
23:40 ash_ but still, nqp is a pretty important code generation tool for parrot now, it might be worth it to spend a GSoC on ensuring its generating optimal code, plus when your working at AST level, so those would all be high level optimizations
23:40 snarkyboojum I don't know about you, but I find that sexist and offensive
23:40 k23z__ anyone here played with povray ?
23:41 k23z__ snarkyboojum, you find what sexist and off ?
23:41 snarkyboojum the women are the root of all evil, women = problems meme - sexist and offensive
23:47 diakopter me too; slavik, plz don't post things like that
23:48 * snarkyboojum agrees with diakopter
23:50 ash_ with an AST you can do some constant folding, you could do dead code elimination, you could do some type inference too
23:56 lichtkind good night
23:58 snarkyboojum joined #perl6

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

Perl 6 | Reference Documentation | Rakudo