Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-03-18

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:36 localhost joined #perl6
01:22 simcop2387 joined #perl6
01:28 cognominal joined #perl6
01:32 sisar joined #perl6
01:45 wolfman2000 joined #perl6
01:51 shinobicl___ left #perl6
01:54 alester joined #perl6
02:05 mucker joined #perl6
02:37 plobsing joined #perl6
02:49 tyatpi joined #perl6
03:00 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:03 japhb And is there any performance difference between spelling it Bool::False/Bool::True versus just False/True?
03:38 sorear japhb: yes, I think
03:38 sorear unless rakudo constant folds it, which it probably should eventually
03:38 sorear last I checked, rakudo always compiles Foo::Bar into a runtime hash lookup
03:56 orafu joined #perl6
04:06 sunnavy joined #perl6
04:06 kcwu joined #perl6
04:18 birdwindupbird joined #perl6
04:21 omgub joined #perl6
04:46 sisar joined #perl6
05:23 TimToady at a guess, the first thing might be a bootstrapping issue, or it might be a fossil
06:12 NamelessTee joined #perl6
06:13 tokuhiro_ joined #perl6
06:19 moritz \o
06:24 sorear o/
06:27 moritz fwiw True and Bool::True now generate identical lookup paths
06:28 moritz though Bool is special-cased in the grammar as a temporary cheat
06:58 dalek roast: ba26d03 | moritz++ | S04-phasers/pre-post.t:
06:58 dalek roast: remove outdated DBCish PRE/POST tests
06:58 dalek roast:
06:58 dalek roast: also fudges for rakudo
06:58 dalek roast: review: https://github.com/perl6/roast/commit/ba26d0301c
07:30 Trashlord joined #perl6
07:45 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.
08:07 maja joined #perl6
08:40 kaare_ joined #perl6
08:40 bacek joined #perl6
08:56 sisar joined #perl6
09:26 fglock joined #perl6
09:42 bacek joined #perl6
09:46 MayDaniel joined #perl6
09:47 fsergot o/
09:54 birdwindupbird joined #perl6
10:26 moritz \o
10:26 moritz std: PRE $_ > 5
10:26 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: https://github.com/perlorg/perlweb​/blob/29fa1e5a462f5372aa2da66d1ce9​9f600fb835c1/docs/dev/.htredirects (replacing /perl6/ with /archive where relevant :)
10:26 p6eval std 1ad3292: OUTPUT«ok 00:01 111m␤»
10:26 moritz ranguard: ok, thanks
10:26 ranguard morning btw :)
10:26 moritz and good morning to you too :-9
10:27 moritz 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 #perl6
10:33 bacek joined #perl6
10:34 bacek joined #perl6
10:51 bacek joined #perl6
10:52 moritz jnthn: any idea why http://moritz.faui2k3.org/tmp/p​re-post-typed-exceptions.patch segfaults when running a PRE block, indendently of whether the precondition fails or not?
10:53 bacek joined #perl6
10:53 moritz it segfaults in Parrot_oo_get_class
10:53 moritz and also with --ll-exception
10:58 moritz rakudo: sub a() { PRE 2 }; say a
10:58 p6eval rakudo eccc61: OUTPUT«Nil␤»
10:58 mj41 joined #perl6
11:03 moritz oh, one thing I'm doing wrong is class X::Phaser::PrePost not inheriting from X::Base
11:10 bacek joined #perl6
11:20 masak good postnoon, #perl6
11:27 bacek joined #perl6
11:37 _ilbot joined #perl6
11:37 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.perl6.org/ | UTF-8 is our friend!
12:04 dalek rakudo/nom: 5264177 | moritz++ | t/spectest.data:
12:04 dalek rakudo/nom: run pre-post.t
12:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5264177fe4
12:11 whiteknight joined #perl6
12:38 moritz hm, fixed the inheritance issue, and still segfaults :(
12:41 moritz oh, it segfaults during the compilation
12:58 PacoAir joined #perl6
13:00 sporous joined #perl6
13:04 shinobicl___ joined #perl6
13:04 moritz but it doesn't segfault inside the changed code
13:05 masak spooky segfault at a distance.
13:05 masak you wrote such exquisitely beautiful code that some unrelated code felt jealous and went on strike.
13:05 timotimo no segfault in the changed code? sign of smashed stack/heap state?
13:06 moritz yes, but I only touched fairly high-level code
13:07 timotimo hm :|
13:09 moritz http://moritz.faui2k3.org/tmp/p​re-post-typed-exceptions.patch is the patch
13:10 moritz and it segfaults with --target=pir , but not with -c
13:10 moritz so it must be during codegen
13:10 moritz but it gets to the return PAST::Var.new(:name('Nil'), :scope('lexical_6model'));
13:11 [particle]1 joined #perl6
13:11 arnsholt_ joined #perl6
13:13 snarkyboojum_ joined #perl6
13:13 colomon_ joined #perl6
13:13 mj41_nb joined #perl6
13:13 robins joined #perl6
13:14 pyrimidine1 joined #perl6
13:20 att_ joined #perl6
13:20 Yappoko____ joined #perl6
13:20 Trashlord joined #perl6
13:27 Teratogen what the
13:28 FACEFOX joined #perl6
13:58 masak as seen on Twitter: "I caught my mate drinking brake fluid. He said 'Don't worry, I can stop whenever I like.'"
14:00 masak autopun interwoven with clich?.
14:04 whiteknight joined #perl6
14:04 shinobicl___ hi... i have this derived class that works as i expect.... but it only have one issue:
14:04 shinobicl___ 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();
14:04 p6eval rakudo 526417: OUTPUT«values: 2012, 12, 2, 99␤$!x $!year $!month $!day $!daycount␤D.new(2012, 12, 2, 99)␤True␤56263␤»
14:04 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
14:09 jnthn Good morning :)
14:09 jnthn Just droping by for a moment...
14:09 jnthn moritz: The issue is that find_symbol returns the actual symbol, not a PAST node to look it up.
14:10 jnthn moritz: Need a self.get_ref(...) around the find_symbol to make it work
14:10 lichtkind joined #perl6
14:12 lichtkind moin
14:13 xinming joined #perl6
14:14 Vespakoen joined #perl6
14:15 * jnthn disappears again
14:15 ab5tract joined #perl6
14:15 gfldex shinobicl___: class A { has $!x; }; my $a = A.new(:x(10)); $a.x = 11;
14:17 gfldex and you should be careful about anything being inmutable that is not a constant
14:19 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:21 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:22 lumi__ shinobicl___: I think you're meant to write your own submethod BUILD() and not method new
14:23 gfldex kmp: Rakudo as in git pull?
14:25 kmp Yeah. Should I be surprised at a failing test?
14:26 gfldex make test should work
14:26 gfldex i'm building right now, can tell you in a few minutes if it works for me
14:26 kmp Good stuff. Thanks.
14:35 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 gfldex fails at t/02-embed/01-load.t ............... No subtests run
14:35 gfldex i would not worry tho
14:38 GlitchMr joined #perl6
14:40 Chillance joined #perl6
14:45 kmp Yep, that's the one. I'll keep on exploring. Thanks.
14:50 xinming joined #perl6
14:56 tyatpi joined #perl6
15:08 xinming joined #perl6
15:11 masak gfldex: you can't pass non-public attributes to the default .new
15:13 masak 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:14 masak immutable types can even have hidden moving parts, if it serves them. for caching purposes, for example.
15:14 masak of course, you should never be able to tell from the outside.
15:29 kmp quit
15:29 Vespakoen joined #perl6
15:36 catalin joined #perl6
15:45 catalin joined #perl6
15:46 Psyche^ joined #perl6
15:52 GlitchMr42 joined #perl6
15:54 FACEFOX joined #perl6
15:55 catalin joined #perl6
15:55 catalin_ joined #perl6
15:55 catalin joined #perl6
16:03 masak quiet day today.
16:06 fglock joined #perl6
16:10 felher indeed it is.
16:13 s1n joined #perl6
16:13 s1n left #perl6
16:15 noteventime joined #perl6
16:18 moritz \o
16:20 felher o/
16:25 GlitchMr joined #perl6
16:30 * TimToady blames jnthn for taking good care of himself...  :)
16:32 xinming joined #perl6
16:34 birdwindupbird joined #perl6
16:37 Vespakoen joined #perl6
16:45 dalek rakudo/nom: d1505ae | moritz++ | src/ (2 files):
16:45 dalek rakudo/nom: Typed exceptions from PRE/POST failures
16:45 dalek rakudo/nom:
16:45 dalek rakudo/nom: jnthn++ for the help
16:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d1505aee7c
16:47 mj41_nb joined #perl6
16:50 GlitchMr42 joined #perl6
16:56 * masak .oO( jnthn is relaxing, breathing Good Air... )
16:57 moritz evalbot rebuild nom
16:57 p6eval NOT OK (maybe a rebuild is already in progress?)
16:58 masak evalbot rebuild secret robot army bent on destroying the world
16:58 p6eval OK (started asynchronously)
16:58 dalek Rebuild of secret complete.
16:58 masak o.O
16:59 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
17:01 dalek evalbot: 07d32e8 | moritz++ | evalbot.pl:
17:01 dalek evalbot: be a wee bit stricter in checking compiler names for rebuild
17:01 dalek evalbot: review: https://github.com/perl6/evalbot/commit/07d32e8c56
17:03 dalek evalbot: 4f8355b | moritz++ | evalbot.pl:
17:03 dalek evalbot: fix regression
17:03 dalek evalbot: review: https://github.com/perl6/evalbot/commit/4f8355bf1d
17:03 p6eval joined #perl6
17:03 benabik dalek: Where is the Doctor?
17:03 moritz who?
17:03 moritz SCNR
17:04 moritz 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 #perl6
17:05 moritz r: sub a($x) { PRE { $x > 0 }; say $x.sqrt }; a 9; a -9
17:05 benabik Doctor Who's on first?
17:05 p6eval rakudo d1505a: OUTPUT«3␤Precondition ' { $x > 0 }' failed␤  in sub a at /tmp/CN2Pz3OkVy:1␤  in block <anon> at /tmp/CN2Pz3OkVy:1␤␤»
17:05 moritz r: sub a($x) { PRE { $x > 0 }; say $x.sqrt }; try a -9; say $!.perl
17:05 p6eval rakudo d1505a: OUTPUT«X::Phaser::PrePost.new(what => "Precondition", condition => " \{ \$x > 0 }")␤»
17:21 dalek roast: efa9610 | moritz++ | S32-exceptions/misc.t:
17:21 dalek roast: typed exceptions for PRE/POST failures
17:21 dalek roast: review: https://github.com/perl6/roast/commit/efa96102e4
17:24 DarthGandalf joined #perl6
17:39 rihegher joined #perl6
17:48 havenn joined #perl6
17:49 masak moritz: that's just so cool. it prints the code.
17:49 masak moritz: did you notice, however, that there's a stray space in the beginning of the code string?
17:49 moritz masak: it's not stray, but neither is it pretty
17:50 moritz 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.
17:51 masak maybe apply a .trim somewhere?
17:52 moritz I think I should, yes
17:52 moritz 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
17:53 masak nod.
17:53 * masak has been discovering this weekend exactly what can and can't be done in modern webapps without a mouse
17:53 masak as far as I can see, there's no way to sign out of Gmail in Chrome without a mouse.
17:53 moritz wow
17:53 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.
17:54 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 =)
17:55 moritz ah yes, vimperator and the likes
17:55 moritz I don't have it installed because my wife wants to use my browser too :-)
17:55 arnsholt_ =D
17:56 masak moritz: http://www.siftsoft.com/ claims to be a port of Hit-a-Hint. I'll try it out.
17:59 masak it works! \o/
17:59 masak moritz++ arnsholt_++
18:01 tadzik 'evening humans
18:02 moritz \o tadzik
18:03 masak tadzik: good evening, carbon-based life form.
18:03 GlitchMr joined #perl6
18:04 dalek rakudo/nom: 924712d | moritz++ | src/ (2 files):
18:04 dalek rakudo/nom: move PRE/POST error message logic to the error class; trim condition text
18:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/924712d262
18:04 dalek roast: 9831233 | moritz++ | S32-exceptions/misc.t:
18:04 dalek roast: track phaser error changes in rakudo
18:04 dalek roast: review: https://github.com/perl6/roast/commit/9831233761
18:04 moritz evalbot rebuild nom
18:04 p6eval OK (started asynchronously)
18:05 moritz masak: that commit should make you even more happy :-)
18:06 moritz I wonder if there are other places where it would help to include the original source code in the error message
18:07 masak this is the first time I see the throws_like assertion. it does indeed make me happy. :)
18:07 masak moritz++
18:07 moritz erm, I meant the rakudo commit :-)
18:09 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:10 dalek Rebuild of nom complete.
18:11 moritz it is very useful, but it seems to be on a different level than the other Test.pm functions
18:11 GlitchMr42 joined #perl6
18:11 moritz in particular it runs several TAP tests per call to the test function
18:12 moritz I wonder if it should go into Test::Util instead of Test
18:15 notevent` joined #perl6
18:19 kmp joined #perl6
18:21 havenn joined #perl6
18:26 masak probably.
18:32 * [Coke] yawns
18:45 [Coke] https://gist.github.com/147​6841#file_perl6_pass_rates
18:45 [Coke] both niecza and pugs are now passing less tests- I wassume this is because someone removed passing tests from the suite.
18:53 bacek joined #perl6
19:03 moritz yes, I removed some that were part of deprecated features
19:06 cogno joined #perl6
19:32 cogno joined #perl6
19:32 benabik joined #perl6
19:41 benabik joined #perl6
19:43 havenn joined #perl6
19:44 benabik joined #perl6
19:52 pernatiy joined #perl6
19:57 kmp joined #perl6
20:04 mj41_nb joined #perl6
20:09 maxiozzi joined #perl6
20:17 y3llow_ joined #perl6
20:17 bruges_ joined #perl6
20:20 y3llow joined #perl6
20:22 dalek roast: 2608abd | jonathan++ | S (2 files):
20:22 dalek roast: Merge branch 'master' of github.com:/perl6/roast
20:22 dalek roast: review: https://github.com/perl6/roast/commit/2608abdba1
20:22 dalek roast: b4d5c62 | jonathan++ | S04-phasers/pre-post.t:
20:22 dalek roast: Toss outdated TODO comment.
20:22 dalek roast: review: https://github.com/perl6/roast/commit/b4d5c62e74
20:22 y3llow joined #perl6
20:24 y3llow joined #perl6
20:37 xinming joined #perl6
20:41 havenn joined #perl6
20:44 donaldh joined #perl6
20:49 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 [particle] joined #perl6
21:06 dalek rakudo/nom: 8f4a063 | jonathan++ | src/ (2 files):
21:06 dalek rakudo/nom: POST block gets $_ set to the result.
21:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8f4a063196
21:06 dalek roast: 2339d22 | jonathan++ | S04-phasers/pre-post.t:
21:06 dalek roast: Unfudge a test for Rakudo.
21:06 dalek roast: review: https://github.com/perl6/roast/commit/2339d22abb
21:08 plobsing joined #perl6
21:09 moritz reverse order?
21:10 moritz is there anything wrong with running them in the order that they appear?
21:10 jnthn moritz: Like END blocks do
21:10 jnthn moritz: Not that is immediately clear to me.
21:10 moritz a POST is more like a LEAVE than an END
21:11 jnthn LEAVE also has LIFO semantics, iirc
21:11 moritz hm
21:15 dalek rakudo/nom: 1968b89 | jonathan++ | src/ops/perl6.ops:
21:15 dalek rakudo/nom: 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 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1968b89b59
21:15 jnthn At least, we implement LEAVE with those semantics.
21:16 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 moritz I mean when you write POST foo; POST bar; you can juste write POST foo and bar;
21:19 jnthn OK
21:20 jnthn Well, once it's decided, it should just be a case of changing the tests or changing an unshift to a push :)
21:23 xenu joined #perl6
21:27 * jnthn heads to the part of town that's rumored to have proper beer o/
21:43 cogno joined #perl6
21:51 raszym joined #perl6
21:56 masak yes, END and LEAVE and POST have LIFO semantics. it feels somehow right/consistent that they all do.
21:57 masak 'night, #perl6
22:00 japhb Anyone around that can walk me through Rakudo's gimme/reify/REIFY code?
22:07 havenn joined #perl6
22:14 shinobicl___ joined #perl6
22:19 benabik joined #perl6
22:28 cogno joined #perl6
22:35 jferrero joined #perl6
22:37 jferrero left #perl6
22:45 NamelessTee joined #perl6
22:59 aindilis joined #perl6
23:07 sorear goood * #perl6
23:14 cogno joined #perl6
23:15 aloha joined #perl6
23:49 xinming joined #perl6
23:50 havenn joined #perl6

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

Perl 6 | Reference Documentation | Rakudo