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