»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:35 localhost left 00:36 localhost joined 00:54 tyatpi left 01:20 simcop2387 left 01:21 whiteknight left 01:22 simcop2387 joined 01:28 cognominal left, cognominal joined 01:32 sisar joined 01:45 wolfman2000 joined 01:51 shinobicl___ left 01:54 Chillance left, alester joined 02:02 PacoAir left 02:05 mucker joined 02:37 plobsing joined 02:41 bacek left 02:44 mucker left 02:49 tyatpi joined
japhb In Rakudo's src/core/Bool.pm, why are prefix:<!> and prefix:<not> defined in terms of *both* nqp::p6bool() and ternary (returning 0 and 1) instead of just ternary (returning Bool::False and Bool::True directly)? 03:00
And is there any performance difference between spelling it Bool::False/Bool::True versus just False/True? 03:03
03:07 dbrx left 03:20 sisar left
sorear japhb: yes, I think 03:38
unless rakudo constant folds it, which it probably should eventually
last I checked, rakudo always compiles Foo::Bar into a runtime hash lookup
03:56 orafu left, orafu joined 04:02 sunnavy left, kcwu left 04:06 sunnavy joined, kcwu joined 04:18 birdwindupbird joined 04:21 omgub joined 04:46 sisar joined
TimToady at a guess, the first thing might be a bootstrapping issue, or it might be a fossil 05:23
05:56 alester left 06:12 NamelessTee joined 06:13 tokuhiro_ joined
moritz \o 06:19
sorear o/ 06:24
moritz fwiw True and Bool::True now generate identical lookup paths 06:27
though Bool is special-cased in the grammar as a temporary cheat 06:28
dalek ast: ba26d03 | moritz++ | S04-phasers/pre-post.t:
remove outdated DBCish PRE/POST tests

also fudges for rakudo
06:58
07:27 birdwindupbird left 07:28 Trashlord left 07:30 Trashlord joined
japhb sorear, TimToady, moritz: Thanks for the info. Up for next round of tuits: seeing if I can knock off the top few items in this profile trace. 07:45
08:07 maja joined 08:08 maja left 08:09 sisar left 08:40 kaare_ joined, bacek joined 08:56 sisar joined 09:26 fglock joined 09:29 bacek left 09:42 bacek joined 09:46 MayDaniel joined
fsergot o/ 09:47
09:55 birdwindupbird joined 10:10 MayDaniel left 10:17 bacek left
moritz \o 10:26
std: PRE $_ > 5
ranguard moritz: redirects are live, Ask pointed out I hadn't kept the old redirects, if you find you are getting quite a few 404's the redirects to impliment are here: github.com/perlorg/perlweb/blob/29...tredirects (replacing /perl6/ with /archive where relevant :)
p6eval std 1ad3292: OUTPUT«ok 00:01 111m␤»
moritz ranguard: ok, thanks
ranguard morning btw :)
moritz and good morning to you too :-9
rakudo: sub a($x) { PRE $x > 5; $x ** 2 }; say a 10; say a 4 10:27
p6eval rakudo eccc61: OUTPUT«100␤Precondition failed␤ in sub a at /tmp/kFf4qYcDV3:1␤ in block <anon> at /tmp/kFf4qYcDV3:1␤␤»
10:27 kmp joined 10:32 sisar left 10:33 bacek joined, bacek left 10:34 bacek joined, bacek left 10:51 bacek joined 10:52 bacek left
moritz jnthn: any idea why moritz.faui2k3.org/tmp/pre-post-typ...ions.patch segfaults when running a PRE block, indendently of whether the precondition fails or not? 10:52
10:53 bacek joined
moritz it segfaults in Parrot_oo_get_class 10:53
and also with --ll-exception
10:53 bacek left
moritz rakudo: sub a() { PRE 2 }; say a 10:58
p6eval rakudo eccc61: OUTPUT«Nil␤»
10:58 mj41 joined
moritz oh, one thing I'm doing wrong is class X::Phaser::PrePost not inheriting from X::Base 11:03
11:10 bacek joined 11:11 bacek left
masak good postnoon, #perl6 11:20
11:22 tokuhiro_ left 11:27 bacek joined, fglock left 11:37 tyatpi left, _ilbot left, _ilbot joined
dalek kudo/nom: 5264177 | moritz++ | t/spectest.data:
run pre-post.t
12:04
12:11 whiteknight joined
moritz hm, fixed the inheritance issue, and still segfaults :( 12:38
oh, it segfaults during the compilation 12:41
12:58 PacoAir joined 13:00 sporous left, sporous joined 13:04 shinobicl___ joined
moritz but it doesn't segfault inside the changed code 13:04
masak spooky segfault at a distance. 13:05
you wrote such exquisitely beautiful code that some unrelated code felt jealous and went on strike.
timotimo no segfault in the changed code? sign of smashed stack/heap state?
moritz yes, but I only touched fairly high-level code 13:06
timotimo hm :| 13:07
moritz moritz.faui2k3.org/tmp/pre-post-typ...ions.patch is the patch 13:09
and it segfaults with --target=pir , but not with -c 13:10
so it must be during codegen
but it gets to the return PAST::Var.new(:name('Nil'), :scope('lexical_6model')); 13:11
13:11 [particle]1 joined, arnsholt_ joined 13:13 snarkyboojum_ joined, colomon_ joined, mj41_nb joined 13:14 robins joined, pyrimidine1 joined 13:19 mj41 left, Trashlord left, att_ left, colomon left, [particle] left, robinsmidsrod left, pyrimidine left, arnsholt left, snarkyboojum left, Yappoko____ left, colomon_ is now known as colomon, snarkyboojum_ is now known as snarkyboojum 13:20 att_ joined, Yappoko____ joined, Trashlord joined 13:21 FACEFOX left 13:23 whiteknight left 13:25 robins is now known as robinsmidsrod
Teratogen what the 13:27
13:28 FACEFOX joined 13:57 birdwindupbird left
masak as seen on Twitter: "I caught my mate drinking brake fluid. He said 'Don't worry, I can stop whenever I like.'" 13:58
autopun interwoven with clich?. 14:00
14:04 whiteknight joined
shinobicl___ hi... i have this derived class that works as i expect.... but it only have one issue: 14:04
nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; my $D = callwith(year=>$year, month=>$month, day=>$day); $D.x = $x; return $D; }; method perl { say "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.^attributes; say $var.perl; say $var.get-daycount();
p6eval rakudo 526417: OUTPUT«values: 2012, 12, 2, 99␤$!x $!year $!month $!day $!daycount␤D.new(2012, 12, 2, 99)␤True␤56263␤»
shinobicl___ the issue is that i want D to be inmmutable. But i don't know how to remove the "is rw" from x and still makeit work
jnthn Good morning :) 14:09
Just droping by for a moment...
moritz: The issue is that find_symbol returns the actual symbol, not a PAST node to look it up.
moritz: Need a self.get_ref(...) around the find_symbol to make it work 14:10
14:10 lichtkind joined
lichtkind moin 14:12
14:13 xinming joined 14:14 Vespakoen joined
jnthn disappears again 14:15
14:15 ab5tract joined
gfldex shinobicl___: class A { has $!x; }; my $a = A.new(:x(10)); $a.x = 11; 14:15
and you should be careful about anything being inmutable that is not a constant 14:17
shinobicl___ my priority is that it should be inmutable. moritzs suggested that if the base clase is inmutable, i should try to make the derived one inmutable too. 14:19
kmp Hi guys. Could I ask if there are any known Radoku test failures at the moment? I was just having a look around the source, built it and saw that the 01-load test failed for me. 14:21
lumi__ shinobicl___: I think you're meant to write your own submethod BUILD() and not method new 14:22
gfldex kmp: Rakudo as in git pull? 14:24
kmp Yeah. Should I be surprised at a failing test? 14:25
gfldex make test should work 14:26
i'm building right now, can tell you in a few minutes if it works for me
kmp Good stuff. Thanks.
gfldex kmp: This is perl6 version 2012.02-183-g5264177 built on parrot 4.1.0 revision RELEASE_4_1_0-105-gd923903 14:35
fails at t/02-embed/01-load.t ............... No subtests run
i would not worry tho
14:38 GlitchMr joined 14:40 Chillance joined 14:41 xinming left 14:44 Teratogen left
kmp Yep, that's the one. I'll keep on exploring. Thanks. 14:45
14:50 xinming joined 14:54 xinming left 14:56 tyatpi joined 15:03 Vespakoen left 15:08 xinming joined
masak gfldex: you can't pass non-public attributes to the default .new 15:11
also, having things be immutable-but-not constant is perfectly fine; the main thing is that the clas upholds an invariant of some sort. 15:13
immutable types can even have hidden moving parts, if it serves them. for caching purposes, for example. 15:14
of course, you should never be able to tell from the outside.
15:20 tyatpi left
kmp quit 15:29
15:29 kmp left, Vespakoen joined 15:36 catalin joined 15:37 catalin left 15:38 mj41_nb left 15:45 catalin joined 15:46 Psyche^ joined 15:49 Patterner left, Psyche^ is now known as Patterner 15:52 lichtkind left, GlitchMr42 joined 15:53 FACEFOX left 15:54 catalin left, FACEFOX joined 15:55 catalin joined, GlitchMr left, catalin_ joined, catalin left, catalin_ left, catalin joined 15:57 catalin left, [particle]1 is now known as [particle]
masak quiet day today. 16:03
16:06 fglock joined
felher indeed it is. 16:10
16:13 s1n joined, s1n left 16:15 noteventime joined
moritz \o 16:18
felher o/ 16:20
16:25 GlitchMr joined 16:29 GlitchMr42 left
TimToady blames jnthn for taking good care of himself... :) 16:30
16:31 xinming left 16:32 xinming joined 16:34 birdwindupbird joined 16:37 Vespakoen left, Vespakoen joined 16:39 ab5tract left 16:40 [particle] left
dalek kudo/nom: d1505ae | moritz++ | src/ (2 files):
Typed exceptions from PRE/POST failures

  jnthn++ for the help
16:45
16:47 mj41_nb joined 16:48 leprevost left 16:50 GlitchMr42 joined 16:53 GlitchMr left
masak .oO( jnthn is relaxing, breathing Good Air... ) 16:56
16:57 plobsing left
moritz evalbot rebuild nom 16:57
p6eval NOT OK (maybe a rebuild is already in progress?)
masak evalbot rebuild secret robot army bent on destroying the world 16:58
p6eval OK (started asynchronously)
dalek Rebuild of secret complete.
masak o.O
benabik Now the secret is out. Careful, masak, they'll be after you first for revealing them. 16:59
masak at least the bots are named, reassuringly, p6eval and... dalek. O.O
dalek albot: 07d32e8 | moritz++ | evalbot.pl:
be a wee bit stricter in checking compiler names for rebuild
17:01
17:01 mj41_nb left, p6eval left
dalek albot: 4f8355b | moritz++ | evalbot.pl:
fix regression
17:03
17:03 p6eval joined, ChanServ sets mode: +v p6eval
benabik dalek: Where is the Doctor? 17:03
moritz who?
SCNR
r: sub a($x) { PRE $x > 0; say $x.sqrt }; a 9; a -9 17:04
p6eval rakudo d1505a: OUTPUT«3␤Precondition ' $x > 0' failed␤ in sub a at /tmp/2279kWnNQ4:1␤ in block <anon> at /tmp/2279kWnNQ4:1␤␤»
17:04 MayDaniel joined
moritz r: sub a($x) { PRE { $x > 0 }; say $x.sqrt }; a 9; a -9 17:05
benabik Doctor Who's on first?
p6eval rakudo d1505a: OUTPUT«3␤Precondition ' { $x > 0 }' failed␤ in sub a at /tmp/CN2Pz3OkVy:1␤ in block <anon> at /tmp/CN2Pz3OkVy:1␤␤»
moritz r: sub a($x) { PRE { $x > 0 }; say $x.sqrt }; try a -9; say $!.perl
p6eval rakudo d1505a: OUTPUT«X::Phaser::PrePost.new(what => "Precondition", condition => " \{ \$x > 0 }")␤»
17:20 DarthGandalf left
dalek ast: efa9610 | moritz++ | S32-exceptions/misc.t:
typed exceptions for PRE/POST failures
17:21
17:24 DarthGandalf joined 17:32 MayDaniel left 17:39 rihegher joined 17:48 havenn joined
masak moritz: that's just so cool. it prints the code. 17:49
moritz: did you notice, however, that there's a stray space in the beginning of the code string?
moritz masak: it's not stray, but neither is it pretty
it comes verbatimly from the <blorst> rule that is used to parse the text after the PRE 17:50
masak I can see how it occurs. but that's an explanation, not a good reaso... right.
maybe apply a .trim somewhere? 17:51
moritz I think I should, yes 17:52
I also think that I should pass the phaser name to the exception object, and do the PRE -> precondition translation inside the error message, not inside Perl6::World
masak nod. 17:53
masak has been discovering this weekend exactly what can and can't be done in modern webapps without a mouse
as far as I can see, there's no way to sign out of Gmail in Chrome without a mouse.
moritz wow
masak also as far as I can see, there's no way to give a github issue a label, save for pressing Tab 34 times. :) but I'm less sure about that one.
moritz I think I'd use some browser extension like hit-a-hint for mouseless browsing 17:54
arnsholt_ masak: If you're mouseless, an extension like vimium might be in order (if you can install it without a mouse =)
moritz ah yes, vimperator and the likes 17:55
I don't have it installed because my wife wants to use my browser too :-)
arnsholt_ =D
masak moritz: www.siftsoft.com/ claims to be a port of Hit-a-Hint. I'll try it out. 17:56
17:57 rihegher left
masak it works! \o/ 17:59
moritz++ arnsholt_++
tadzik 'evening humans 18:01
moritz \o tadzik 18:02
masak tadzik: good evening, carbon-based life form. 18:03
18:03 GlitchMr joined
dalek kudo/nom: 924712d | moritz++ | src/ (2 files):
move PRE/POST error message logic to the error class; trim condition text
18:04
ast: 9831233 | moritz++ | S32-exceptions/misc.t:
track phaser error changes in rakudo
moritz evalbot rebuild nom
p6eval OK (started asynchronously)
18:04 wolfman2000 left 18:05 att_ left, GlitchMr42 left
moritz masak: that commit should make you even more happy :-) 18:05
I wonder if there are other places where it would help to include the original source code in the error message 18:06
masak this is the first time I see the throws_like assertion. it does indeed make me happy. :) 18:07
moritz++
moritz erm, I meant the rakudo commit :-)
18:07 havenn left
moritz fwiw throws_like is currently defined in that test file; once I get more feedback about it, I'll move it to Test.pm and S24 18:09
dalek Rebuild of nom complete. 18:10
moritz it is very useful, but it seems to be on a different level than the other Test.pm functions 18:11
18:11 GlitchMr42 joined
moritz in particular it runs several TAP tests per call to the test function 18:11
I wonder if it should go into Test::Util instead of Test 18:12
18:14 GlitchMr left, fglock left 18:15 notevent` joined 18:17 noteventime left 18:19 kmp joined 18:21 havenn joined 18:23 kmp left
masak probably. 18:26
[Coke] yawns 18:32
18:37 bacek left
[Coke] gist.github.com/1476841#file_perl6_pass_rates 18:45
both niecza and pugs are now passing less tests- I wassume this is because someone removed passing tests from the suite. 18:46
18:53 bacek joined
moritz yes, I removed some that were part of deprecated features 19:03
19:05 dwierenga left 19:06 cogno joined 19:09 birdwindupbird left, GlitchMr42 left 19:18 havenn left 19:30 cogno left 19:31 benabik left 19:32 cogno joined, benabik joined 19:41 benabik left, benabik joined 19:43 pernatiy left, benabik left, havenn joined 19:44 benabik joined 19:52 pernatiy joined 19:57 kmp joined 20:01 havenn left 20:04 mj41_nb joined 20:09 maxiozzi joined 20:17 y3llow_ joined, bruges_ joined 20:18 bruges left 20:19 y3llow left, y3llow_ left 20:20 y3llow joined 20:21 y3llow left
dalek ast: 2608abd | jonathan++ | S (2 files):
Merge branch 'master' of github.com:/perl6/roast
20:22
ast: b4d5c62 | jonathan++ | S04-phasers/pre-post.t:
Toss outdated TODO comment.
20:22 y3llow joined 20:24 y3llow left, y3llow joined 20:37 xinming left, xinming joined 20:41 havenn joined 20:44 donaldh joined
jnthn I can't see anything in the spec that indicates that POST phasers run in the opposite order to PRE phasers. The tests don't expect it either; a comment in the tests says the spec seems to indicate otherwise, yet I can't find where the spec indicates at all 20:50
20:50 [particle] joined 20:51 [particle] left 20:54 donaldh left 21:04 xinming left
dalek kudo/nom: 8f4a063 | jonathan++ | src/ (2 files):
POST block gets $_ set to the result.
21:06
ast: 2339d22 | jonathan++ | S04-phasers/pre-post.t:
Unfudge a test for Rakudo.
21:08 plobsing joined
moritz reverse order? 21:09
is there anything wrong with running them in the order that they appear? 21:10
jnthn moritz: Like END blocks do
moritz: Not that is immediately clear to me.
moritz a POST is more like a LEAVE than an END
jnthn LEAVE also has LIFO semantics, iirc 21:11
moritz hm
dalek kudo/nom: 1968b89 | jonathan++ | src/ops/perl6.ops:
If one POST fails, don't run any more. The spectest for this still fails as it expects POST to run in declaration order, not reverse order.
21:15
jnthn At least, we implement LEAVE with those semantics.
21:15 tadzik is now known as CptKirk, CptKirk is now known as tadzik
moritz I don't really see the use case for multiple POST phasers in the same block, so I can't comment on the desired semantics 21:16
I mean when you write POST foo; POST bar; you can juste write POST foo and bar;
jnthn OK 21:19
Well, once it's decided, it should just be a case of changing the tests or changing an unshift to a push :) 21:20
21:23 xenu left, xenu joined 21:24 cogno left
jnthn heads to the part of town that's rumored to have proper beer o/ 21:27
21:43 cogno joined 21:45 shinobicl___ left 21:46 havenn left 21:51 raszym joined
masak yes, END and LEAVE and POST have LIFO semantics. it feels somehow right/consistent that they all do. 21:56
'night, #perl6 21:57
japhb Anyone around that can walk me through Rakudo's gimme/reify/REIFY code? 22:00
22:07 havenn joined 22:14 shinobicl___ joined, cogno left 22:19 benabik left, benabik joined 22:20 benabik left 22:23 kaare_ left 22:25 havenn left 22:28 cogno joined 22:33 NamelessTee left 22:34 jferrero left 22:35 jferrero joined 22:36 raszym left 22:37 jferrero left 22:45 NamelessTee joined 22:52 bacek_at_work left 22:56 aloha left 22:59 aindilis joined
sorear goood * #perl6 23:07
23:07 cogno left 23:14 cogno joined 23:15 aloha joined 23:19 NamelessTee left 23:20 mj41_nb left 23:46 cogno left 23:49 xinming joined 23:50 havenn joined 23:51 PacoAir left