Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-08-09

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

All times shown according to UTC.

Time Nick Message
00:07 skids joined #perl6-dev
00:40 dalek nqp: 778d1a1 | timotimo++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
00:40 dalek nqp: use index_s even with ignorecase when scanning for literals
00:40 dalek nqp: review: https://github.com/perl6/nqp/commit/778d1a1269
00:40 dalek nqp: cedea6d | timotimo++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
00:40 dalek nqp: literal with ignorecase now caches lc results
00:40 dalek nqp:
00:40 dalek nqp: of both the haystack and the needle.
00:40 dalek nqp: review: https://github.com/perl6/nqp/commit/cedea6da8d
00:43 travis-ci joined #perl6-dev
00:43 travis-ci NQP build failed. Timo Paulssen 'literal with ignorecase now caches lc results
00:43 travis-ci https://travis-ci.org/perl6/nqp/builds/150799770 https://github.com/perl6/nqp/compare/04c4ae3dc097...cedea6da8d39
00:43 travis-ci left #perl6-dev
00:43 timotimo damn it.
00:56 dalek nqp: 03f2d37 | timotimo++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
00:56 dalek nqp: fix logic error in ignoremark scan optimization
00:56 dalek nqp: review: https://github.com/perl6/nqp/commit/03f2d37569
00:56 timotimo should probably be "logic mistake" not "logic error"?
00:59 timotimo hum. i wonder ...
00:59 travis-ci joined #perl6-dev
00:59 travis-ci NQP build failed. Timo Paulssen 'fix logic error in ignoremark scan optimization'
00:59 travis-ci https://travis-ci.org/perl6/nqp/builds/150802237 https://github.com/perl6/nqp/compare/cedea6da8d39...03f2d3756924
00:59 travis-ci left #perl6-dev
01:06 dalek nqp: 94ff637 | timotimo++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
01:06 dalek nqp: cannot statically figure out when haystacklc needs init.
01:06 dalek nqp:
01:06 dalek nqp: so we check haystacklc for null-ness every time we use it.
01:06 dalek nqp: if we had a prelude thing that sets up all our stuff, like
01:06 dalek nqp: suggested in another piece of the code, that setup of the
01:06 dalek nqp: haystacklc could sensibly go there, too.
01:06 dalek nqp: review: https://github.com/perl6/nqp/commit/94ff637629
01:09 travis-ci joined #perl6-dev
01:09 travis-ci NQP build passed. Timo Paulssen 'cannot statically figure out when haystacklc needs init.
01:09 travis-ci https://travis-ci.org/perl6/nqp/builds/150803906 https://github.com/perl6/nqp/compare/03f2d3756924...94ff6376295f
01:09 travis-ci left #perl6-dev
01:09 timotimo yay, passed
01:48 ilbot3 joined #perl6-dev
01:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
02:41 AlexDaniel joined #perl6-dev
03:27 cog_ joined #perl6-dev
06:57 ggoebel joined #perl6-dev
07:32 RabidGravy joined #perl6-dev
07:40 [Tux] This is Rakudo version 2016.07.1-141-gfb42520 built on MoarVM version 2016.07-16-g85b6537
07:40 [Tux] test            15.429
07:40 [Tux] test-t           7.338
07:40 [Tux] csv-parser      16.633
07:58 sno joined #perl6-dev
08:25 dalek rakudo/nom: ddcbae9 | lizmat++ | src/core/Array.pm:
08:25 dalek rakudo/nom: Make Array.splice(offset,size) 20x to 40x faster
08:25 dalek rakudo/nom:
08:25 dalek rakudo/nom: - small candidates
08:25 dalek rakudo/nom: - rewritten using nqp ops
08:25 dalek rakudo/nom: - smarter conditionals set up
08:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ddcbae980b
08:25 * lizmat wonders how this will affect masak's 007
08:28 lizmat only Array.splice(offset,size,list) left to optimize now
08:34 lizmat afk&
10:12 bisectable joined #perl6-dev
10:27 Tux__ I want to install Text::CSV on my own machine: $ panda install Text::CSV==> Installing Text::CSV
10:27 Tux__ Text::CSV:ver<0.002>:auth<github:Tux>:api<> already installed
10:28 Tux__ on github it is version 0.005
10:28 nine Tux__: panda update
10:28 Tux__ Ahhhhhrg, forgot to update META :(
11:10 edehont joined #perl6-dev
11:30 brrt joined #perl6-dev
11:51 stmuk does panda allow different versions of the same module? I've a feeling it doesn't anyway?
11:56 lizmat I'm not sure rakudo supports this already ?   nine should know
12:02 RabidGravy panda doesn't support explicitly installing different versions, but if you have different versions installed you can use a specific version iirc
12:02 nine what RabidGravy said
12:05 nine Note that one cannot load different versions of the same module in the same process. They would try to create the same global name.
12:07 RabidGravy I was thinking about that the other day, it would occasionally if, at least, it was possible to load two modules with the same name but a different auth
12:07 lizmat nine: that's not according to spec?
12:07 RabidGravy ^be useful
12:22 nine lizmat: what does the spec say for when I use "Test:auth<perl>; use Test:auth<nine>; Test::output;"? To which of both Test modules would Test::output refer?
12:23 lizmat depends on the scope: if they would be done in the same scope, the second use should fail
12:23 lizmat if you really want to have both in the same scope, you will have to rename one of them
12:24 lizmat S11:528
12:24 synopsebot6 Link: http://design.perl6.org/S11.html#line_528
12:29 nine That link only displays a "Note: these documents may be out of date" on an otherwise completely red page?
12:31 unmatched} o.o Which browser?
12:31 RabidGravy :-O
12:31 nine rekonq
12:32 unmatched} Based on the name, I'm assuming it's something they cooked up based on Konquerer?
12:32 nine No, it's a browser for KDE based on Webkit
12:33 nine Works better when you change html::before into body::before
12:34 unmatched} hehe, that's amusing :) At least the warning message is there :)
12:37 unmatched} Should be fixed on next build
12:38 unmatched} "reconq: Development status Unmaintained"
12:38 unmatched} .oO( well there's your problem :) )
12:38 dalek rakudo/nom: e1205c8 | lizmat++ | src/core/Iterator.pm:
12:39 dalek rakudo/nom: Some Iterator comments corrections
12:39 dalek rakudo/nom:
12:39 dalek rakudo/nom: Inspired by http://irclog.perlgeek.de/perl6/2016-08-09#i_12991096
12:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e1205c8195
12:39 nine I miss the time when one could use a browser that's more than half a year old.
12:46 RabidGravy lynx --version
12:46 RabidGravy Lynx Version 2.8.9dev.6 (06 May 2015)
12:46 RabidGravy there you go ;-)
12:49 unmatched} What's interesting is lynx actually gets the page position right.... Palemoon (Firefox fork) doesn't :/
12:51 unmatched} m: use Perl:ver<6.0.0>
12:51 camelia rakudo-moar e1205c: OUTPUT«===SORRY!===␤Perl is a builtin type, not an external module␤»
12:51 perlpilot joined #perl6-dev
12:58 AlexDaniel one time in uni I had to create a rather simple website as a homework. The teacher was slightly confused when he saw a big banner saying “This website is optimized for w3m!”.
13:28 moritz what I pushed just now to the specs repo is an attempt to get the discussion about v6.d rolling a bit more :-)
13:29 unmatched} hm
13:30 skids joined #perl6-dev
13:31 unmatched} m: sub f(Int:D @x) { };
13:31 camelia rakudo-moar e1205c: ( no output )
13:31 unmatched} m: class { has Int:D @.x };
13:31 camelia rakudo-moar e1205c: ( no output )
13:31 unmatched} m: class { has Int:D $.x };
13:31 camelia rakudo-moar e1205c: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Variable definition of type Int:D requires an initializer␤at <tmp>:1␤------> class { has Int:D $.x ⏏};␤»
13:32 unmatched} I actually have something for 6.d
13:45 unmatched} lol "Stakeholder" :)
13:45 * unmatched} pictures a vampire hunt
13:45 jnthn After a succesful hunt, they're a steakholder?
13:45 unmatched} :)
13:50 dalek rakudo/nom: 9e497cc | lizmat++ | src/core/Iterator.pm:
13:50 dalek rakudo/nom: Fix is-lazy comment, ilmari++
13:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9e497cc2b3
14:04 * unmatched} adds https://github.com/perl6/specs/blob/master/v6d.pod#signatureattribute-defaults-based-on-definedness
14:12 lizmat afk&
14:22 brrt joined #perl6-dev
14:49 brrt joined #perl6-dev
14:50 Tux__ «sub foo (Str :$s, Int $:i) { ... } ; my %args = s => "a", i => 1; foo(%args)»
14:50 Tux__ is obviouslu wrong. How do I pass %args as named arguments?
14:50 moritz foo(|%args)
14:51 unmatched} You also have a typo there: Int $:i -> Int :$i
14:58 Tux__ m: sub foo (Bool :$b) { say "1" }; my %x = bar => True; foo(|%x)
14:58 camelia rakudo-moar 9e497c: OUTPUT«Unexpected named parameter 'bar' passed␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
14:59 Tux__ ignore that
15:05 [Coke] RT: 1329; @LARRY: 13; CONC: 25; GLR: 6; JVM: 66; LTA: 99; NEW: 857; NYI: 82; OSX: 6; PERF: 21; POD: 17; PRECOMP: 9; RFC: 28; SEGV: 32; STAR: 4; TESTNEEDED: 15; TODO: 9; UNI: 28; UNTAGGED: 518; WEIRD: 3
15:20 [Coke] r: my $value = True but False; say $value; say ?$value;
15:20 camelia rakudo-moar 9e497c: OUTPUT«False␤False␤»
15:20 camelia ..rakudo-jvm cd19db: OUTPUT«1␤True␤»
15:25 [Coke] down to 493 untagged tickets.
15:39 unmatched} \o/
15:45 dalek roast: 25869eb | (Zoffix Znet)++ | S04-blocks-and-statements/temp.t:
15:45 dalek roast: Remove fudged tests for RT#128544
15:45 dalek roast:
15:45 dalek roast: The behaviour tested by tests is a limitation and unlikely to get fixed.
15:45 dalek roast: The ticket itself has been narrowed in scope to hash keys only, which
15:45 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128544
15:45 dalek roast: aren't tested by this fudge.
15:45 dalek roast: review: https://github.com/perl6/roast/commit/25869ebe13
15:47 unmatched} And I kinda showed wrong examples for that ticket yesterday. The actual ones were supposed to be:
15:47 unmatched} m: my @a; { temp @a[10] = "foo" }; dd @a
15:47 camelia rakudo-moar 9e497c: OUTPUT«Array @a = [Any, Any, Any, Any, Any, Any, Any, Any, Any, Any, Any]␤»
15:47 unmatched} m: my %h; { temp %h<not-foo> = 'meow'; }; say %h
15:47 camelia rakudo-moar 9e497c: OUTPUT«{not-foo => (Any)}␤»
16:45 Tux__ http://tux.nl/Talks/CSVh/hb3.html Done!
16:48 Tux__ Design By Conference
17:21 hankache joined #perl6-dev
17:27 unmatched} m: say 2 + 2; END my &infix:<+> = { $^a - $^b }; say 2 + 2
17:27 camelia rakudo-moar 9e497c: OUTPUT«Cannot invoke this object (REPR: Uninstantiable; Callable)␤  in block <unit> at <tmp> line 1␤␤»
17:36 unmatched} Heh. The internals course has building a subset PHP compiler as an excercise.
17:37 * unmatched} feels dirty... and not in a good way
17:37 TimToady m: say 2 + 2; END constant &infix:<+> = { $^a - $^b }; say 2 + 2
17:37 camelia rakudo-moar 9e497c: OUTPUT«0␤0␤»
17:37 gfldex is there a module that produces a IO::Handle instance from a string or list of strings?
17:38 unmatched} Such a thing would be handy. Especially for testing stuff
17:39 unmatched} gfldex: there seems to be IO::Blob and IO::String
17:41 gfldex unmatched}: sadly handles writing to strings/blob but not reading
17:42 jnthn unmatched}: An artistic interpretation of PHP is allowable ;)
17:42 unmatched} :D
17:53 gfldex m: "abc".fmt("%*s")
17:53 camelia rakudo-moar 9e497c: OUTPUT«This type cannot unbox to a native number: P6opaque, Failure␤␤»
17:55 gfldex m: {a=>1}.fmt("%*s => %d", "\n")
17:55 camelia rakudo-moar 9e497c: OUTPUT«This representation (Null) does not support elems (for type VMNull)␤  in any  at /home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm line 1␤␤»
17:55 gfldex fmt is quite picky
18:02 dalek nqp: cf79448 | timotimo++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
18:02 dalek nqp: Revert "literal with ignorecase now caches lc results"
18:02 dalek nqp:
18:02 dalek nqp: it broke some perl5 regex spec tests.
18:02 dalek nqp:
18:02 dalek nqp: This reverts commit cedea6da8d398870d918a3b2018a8ae9ffb058a8.
18:02 dalek nqp:
18:02 dalek nqp: # Conflicts:
18:02 dalek nqp: #src/vm/moar/QAST/QASTRegexCompilerMAST.nqp
18:02 dalek nqp: review: https://github.com/perl6/nqp/commit/cf79448c98
18:05 brrt joined #perl6-dev
18:09 perlpilot joined #perl6-dev
18:14 TimToady m: say await start { 42 }
18:14 camelia rakudo-moar 9e497c: OUTPUT«42␤»
18:14 TimToady m: say await 42
18:14 camelia rakudo-moar 9e497c: OUTPUT«Must specify a Promise or Channel to await on (got a Int)␤  in block <unit> at <tmp> line 1␤␤»
18:15 TimToady is there some particular reason we don't allow awaiting a non-promise as a degenerate case of something that might or might not be a promise?
18:17 unmatched} What does Q in QAST stand for?
18:17 TimToady one more than P
18:17 perlpilot unmatched}: the letter after P
18:18 unmatched} um... what does P in PAST stand for? :)
18:18 AlexDaniel was it Parrot? :)
18:18 AlexDaniel yea
18:19 TimToady it's for "Pining"  :)
18:19 TimToady that doesn't stop a whole bunch of our code from using $past though :)
18:26 sno joined #perl6-dev
18:28 nine TimToady: do you have a specific use case in mind for something that might or might not be a Promise?
18:32 timotimo i'd be delighted if someone could help me (or straight up task-steal) find out why i had to do that revert to please the p5 regexes, and if there's a few p6 regexes that will show the same behavior with the revert reverted.
18:40 FROGGS joined #perl6-dev
18:41 jnthn TimToady: Mostly just out of being a bit conservative because it wsan't clear what the more general interface of an awaitable thing was going to be
18:42 jnthn TimToady: As part of the await changes I've got lined up, I expect we'll be introducing some kind of Awaitable (or better name of your choice) role. At which point I think we can safely say that anything that doesn't do that role counts as just a value that's already available.
18:43 unmatched} benchable: my $i = 0; for 1..20000 { $i = $i + $_ }
18:43 benchable unmatched}: ¦«my»:Cannot find this revision
18:43 unmatched} benchable: HEAD my $i = 0; for 1..20000 { $i = $i + $_ }
18:43 benchable unmatched}: ¦«HEAD»:0.1051
18:44 unmatched} A big improvement from the 1.69s listed in this article :) https://eev.ee/blog/2011/06/27/perl-5-is-dead-perl-6-is-a-disaster/
18:44 TimToady jnthn: I was just thinking that making await degenerate to returning the value would allow futureproofing of code that might return a promise someday
18:45 TimToady such as the .close in question
18:48 timotimo unmatched}: well, that's really mostly just start-up time
18:48 timotimo benchable: HEAD my $i = 0; for 1..2_000_000 { $i = $i + $_ }
18:48 benchable timotimo: ¦«HEAD»:1.9624
18:49 unmatched} benchable: HEAD my $i = 0; for 1..20_000_000 { $i = $i + $_ }
18:49 timotimo m: say "a hundredth of the work takes { 10.51 / 1.9624 }% of the time"
18:49 camelia rakudo-moar 9e497c: OUTPUT«a hundredth of the work takes 5.355687% of the time␤»
18:49 timotimo so 5x overhead it seems like
18:50 benchable unmatched}: ¦«HEAD»:10.0061
18:51 timotimo after that it scales pretty well
18:52 * TimToady was trying to figure out who added a HEAD phaser :)
18:52 timotimo sadly, native ints aren't as awesome at the moment as they should be
18:52 timotimo so with $i declared as int, it actually takes about 3x longer
18:52 TimToady need escape analysis and better jit
18:52 unmatched} Compared with Perl 5, the result is... pathetic really: https://gist.github.com/zoffixznet/39bea0d017ad2f2f4f75519e080d26c7
18:54 timotimo yeah
18:55 timotimo interesting
18:55 timotimo when i use int $i as well as int $_, i get just 9.7 seconds for 20_000_000
18:56 timotimo with only int $_ or no -> for the for loop at all, it's 17.3 seconds
18:56 timotimo maybe we're just bad at adding 64bit integers into big integers?
18:57 brrt joined #perl6-dev
19:00 brrt probably our pretty box, unbox dance
19:00 brrt better jit is beiong worked upon
19:00 brrt but better analysis is the key thing
19:00 unmatched} python 2.7 does in in 3s and ruby and python3 in ~3.7s: https://gist.github.com/zoffixznet/b8d01cc56b16329857cb5cd1244548f0
19:01 brrt hmmm
19:01 brrt interesting. i wonder if that is the cost of bigint math
19:02 timotimo and pypy probably does it 10x faster than perl5
19:02 unmatched} That's compared to 30.821s for Perl 6 and 1.345s for Perl 5 on this box
19:03 timotimo in the int-and-int case we're invoking the for loop's block every time around the loop
19:04 brrt yeah, i saw that too
19:04 timotimo with a capturelex on top of it, apparently
19:05 timotimo actually, that may be wrong
19:05 brrt i wonder what makes it so hard to strength-reduce these to simple loops
19:05 timotimo i think i looked at the wrong invoke here
19:05 timotimo which also means we're not even fastinvoking that block, we're regular-invoking it ;_;
19:05 brrt unmatched}: try "time perl6 -e 'my int $i = 0; for (1..2_000_000) -> int $j { $i = $i + $j }'"
19:05 timotimo also, why are we not invoke_v-ing it? we're invoke_o-ing it ...
19:05 timotimo brrt: superstitious parens!
19:05 brrt it returns an integer
19:05 brrt haha
19:06 timotimo urgh, the block doesn't even inline the + operation
19:06 timotimo (for some reason it finishes speshing the block before it finishes speshing the +
19:07 brrt that's... weird
19:07 brrt maybe that is because the + is a larger routine than the $i = $i + $j
19:08 timotimo could be
19:08 brrt i'm actually kind of surprised we still 'win' from the interpreted case with those handicapss
19:08 timotimo how do you mean?
19:08 unmatched} brrt: 2.024s
19:08 brrt alright, we lose
19:09 unmatched} Well, we win over python and ruby :)
19:09 timotimo how is that even possible
19:09 unmatched} native types
19:09 brrt well, python and ruby and perl5 don't have to invoke a closure and do multi-method dispatch to do +
19:09 brrt perl5, i think, doesn't do method dispatch on + at all
19:10 brrt so it can just do get-and-cast, add, store, in a loop
19:10 brrt i may be wrong there
19:11 brrt python and ruby probably do a check/dispatch in a cycle which is why they are slower
19:15 brrt so the fact that we win from ruby and python despite having a multi-method dispatch and closure invocation, well, that's not bad
19:20 timotimo huh.
19:20 timotimo fancy that:
19:21 timotimo time perl6 -e 'use nqp; my $i = 0; for 1..20_000_000 { $i = nqp::add_I(nqp::decont($i), nqp::decont($_), Int) }'
19:21 timotimo 13.83user 0.02system 0:13.86elapsed 99%CPU (0avgtext+0avgdata 89492maxresident)k
19:21 timotimo time perl6 -e 'my $i = 0; for 1..20_000_000 { $i = $i + $_ }'
19:21 timotimo 16.62user 0.67system 0:17.30elapsed 99%CPU (0avgtext+0avgdata 88828maxresident)k
19:22 timotimo the overhead from invoking the + is negligible compared to what we'd probably win from getting escape analysis
19:22 timotimo i.e. not having to re-allocate all the Int objects all the time
19:23 timotimo AFK for about an hour
19:44 * unmatched} tries to see the pattern in the precedence level names... f= u= t= j= ... do they stand for anything? alphabetical?
19:45 hoelzro unmatched}: IIRC, it's just a way of ordering the levels
19:45 hoelzro unmatched}: you're digging into O and EXPR, huh?
19:47 unmatched} I'm doing the Internals Course, and yeah, I'm at O and EXPR portion ATM: https://github.com/edumentab/rakudo-and-nqp-internals-course
19:47 unmatched} hoelzro: but what's the order? Alphabetical?
19:47 hoelzro ahhhh
19:47 hoelzro unmatched}: yes
20:06 dalek rakudo/nom: 3284025 | TimToady++ | src/Perl6/Actions.nqp:
20:06 dalek rakudo/nom: unwanted method in Want node needs explicit .sink
20:06 dalek rakudo/nom:
20:06 dalek rakudo/nom: This fixes the sinking of the inside of:
20:06 dalek rakudo/nom:     for ^3 { ^10 .map: *.say }
20:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/328402599c
20:09 stmuk lizmat: that perl6-bench PR should be fixed ow
20:09 stmuk +n
20:14 TimToady m: sub infix:<op>($a,$b) is tighter(&[+]) { $a + 2 * $b }; say &[op].prec
20:14 camelia rakudo-moar 328402: OUTPUT«{prec => t@=}␤»
20:14 jnthn TimToady: Ah, also an interesting point :)
20:14 TimToady note that precedence is infinitely extensible
20:14 jnthn Will work on that .close thing tomorrow. Will be another flappy test down :)
20:14 jnthn Of course, meaning there's just another flappy one waiting for me...
20:15 TimToady now you're just flapping :P
20:15 jnthn :P
20:16 jnthn I *think* that I may well be onto the last couple by now.
20:18 TimToady I keep saying that about sink bugs :)
20:24 arnsholt unmatched}: The precedence levels in Rakudo/NQP are just alphabetic order
20:24 arnsholt Perl6/Grammar.nqp:3731 to 3761 in my local copy
20:24 arnsholt :q
20:25 arnsholt Or NQP/Grammar.nqp:700 to 714
20:25 arnsholt The NQP one has holes, so that the prec levels match the Perl 6 ones, IIRC
20:26 jnthn Oh, I know there's a lot more bugs awaiting me. See RT. :)
20:35 arnsholt unmatched}: Also, I recommend spending some time to figure out approximately how HLL::Grammar.EXPR works. Time well spent, IMO
20:36 brrt joined #perl6-dev
20:37 TimToady incidentally, 3284025 above resolves RT #127879, though I forgot to mention it in the commit log
20:37 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127879
21:06 unmatched} arnsholt, thanks, will do. I think you already explained EXPR. It's a something something algorithm where ops go on one stack and terms on another, etc, etc
21:09 timotimo "shunting yard" iirc
21:09 unmatched} ah, right, yeah :)
21:11 brrt rather weird to reread all the perl6 negativity in 2011
21:12 brrt although there was no sign of moarvm or of a christmas release back then
21:21 unmatched} I find it amusing that Perl 6 "first appeared" (according to wiki) right about the month when I decided that I'd be a programmer, before I even wrote my first code.
21:27 unmatched} The wiki is kinda LTA... I'd change "first appeared" to "first planned" and add a "first stable release" row with 2015 Christmas date. Right now, the "16 years ago" misrepresents expected stability and performance, and makes dubious claims and about modernity and brand neweness
21:32 brrt fix the wiki :-)
21:35 unmatched} Will do.... now that I have someone to blame if someone doesn't like it :p
21:37 brrt sure, blame it all on me
21:38 brrt :-P
21:38 [Coke] ok, trying to use panda inside a rakudo-star docker image, having issues.
21:39 [Coke] it worked fine when I did everything as root. adding a "USER perl6" directive, and now panda is complaining about living inside my corporate proxy, with: Could not download module metadata: Failed to resolve host name.
21:39 [Coke] my run command is RUN http_proxy=xxx https_proxy=xxx GIT_PROTOCOL=https panda install Bailador
21:40 [Coke] (yup; commenting out User perl6, and now all the networking works) - if I'm going to be running the rakudo in the container as the perl6 user, does it matter if I install all the modules as root?
21:41 [Coke] nine++, this may be a question for you.
22:00 AlexDaniel What is the point of this line? https://github.com/rakudo/rakudo/blob/8cbb1efd1d84fd57298e0e0813b64d8dd37140ba/src/core/Whatever.pm#L10
22:00 AlexDaniel m: say HyperWhatever.new
22:00 camelia rakudo-moar 328402: OUTPUT«sub (*@_) { #`(Sub|78339456) ... }␤»
22:00 AlexDaniel I am asking because there is the same thing for Scalar
22:00 AlexDaniel and this looks a bit scary:
22:00 AlexDaniel m: Scalar.new
22:00 camelia rakudo-moar 328402: OUTPUT«Cannot make a Scalar object using .new␤  in block <unit> at <tmp> line 1␤␤»
22:00 AlexDaniel ah
22:00 AlexDaniel hm
22:01 AlexDaniel bisect: good 2016.07 Scalar.new
22:01 bisectable AlexDaniel: No build for 'bad' revision. Right now the build process is in action, please try again later or specify some older 'bad' commit (e.g., bad=HEAD~40)
22:01 AlexDaniel bisect: good 2016.07 bad HEAD~40 Scalar.new
22:01 bisectable AlexDaniel: On both starting points (good=2016.07 bad=HEAD~40) the exit code is 1 and the output is identical as well
22:01 bisectable AlexDaniel: Output on both points: Cannot call method 'BUILDALL' on a null object␤  in block <unit> at /tmp/uWQVgDMCun line 1␤
22:02 geekosaur it's supposed to be scary. Scalar is more or less an internal detail whose existence is leaked by some things
22:02 geekosaur you can only create one in nqp
22:02 AlexDaniel bisect: good 2016.07 bad HEAD~40 Scalar.new
22:02 bisectable AlexDaniel: On both starting points (good=2016.07 bad=HEAD~40) the exit code is 1 and the output is identical as well
22:02 bisectable AlexDaniel: Output on both points: Cannot call method 'BUILDALL' on a null object␤  in block <unit> at /tmp/BelPIE8neh line 1␤
22:02 AlexDaniel bisect: good 2016.07 bad Scalar.new
22:02 bisectable AlexDaniel: On both starting points (good=2016.07 bad=3284025) the exit code is 1 and the output is identical as well
22:02 bisectable AlexDaniel: Output on both points: ===SORRY!=== Error while compiling /tmp/Xur7LEf_jO␤Undeclared routine:␤    bad used at line 1. Did you mean 'bag'?␤
22:02 AlexDaniel bisect: good 2016.07 Scalar.new
22:02 geekosaur and I think the commit that added that message is too recent for HEAD~40
22:02 bisectable AlexDaniel: Exit code is 1 on both starting points (good=2016.07 bad=3284025), bisecting by using the output
22:02 bisectable AlexDaniel: bisect log: https://gist.github.com/2394b662a6953f20e9de77d11f87e451
22:02 bisectable AlexDaniel: (2016-08-04) https://github.com/rakudo/rakudo/commit/552d9cb
22:02 geekosaur try HEAD~5 or something
22:03 AlexDaniel ah, I see
22:04 AlexDaniel committable: HEAD~40 Scalar.new
22:04 committable AlexDaniel: ¦«HEAD~40»: Cannot call method 'BUILDALL' on a null object␤  in block <unit> at /tmp/cXivmE8_7u line 1␤ «exit code = 1»
22:04 AlexDaniel geekosaur: it looked scary because every time I saw a null object previously there was a segfault somewhere near to it ;)
22:05 AlexDaniel okay then, nvm
22:06 AlexDaniel ah no, wait
22:06 AlexDaniel still, what is the point of X::Cannot::New being thrown in HyperWhatever.new?
22:07 AlexDaniel m: say HyperWhatever.new # look alright? Kinda
22:07 camelia rakudo-moar 328402: OUTPUT«sub (*@_) { #`(Sub|46403216) ... }␤»
22:07 AlexDaniel s
22:09 lizmat AlexDaniel: if I remember correctly, there was a die in there before
22:09 lizmat I simply made it a typed exception
22:10 AlexDaniel lizmat: sure, but it does not look like this code is being reached? Or am I understanding it incorrectly?
22:11 lizmat hmmm... you may have a point there  :-)
22:17 lizmat indeed...
22:18 lizmat not sure what is going on there
22:19 lizmat looks like it is being handled in Actions already
22:20 lizmat anyways, too tired now to really have a look at that...
22:22 lizmat good night, #perl6-dev!

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