Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-03-05

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:01 SmokeMachine m: say % = $*REPO.repo-chain.flatmap(*.loaded>>.Str).grep(*.strats-with: "MyPrefix::").map({::($_)}).map: {.get-my-key => $_} # I'm doing something like this! If you want to use a plugin, load it!
00:01 camelia rakudo-moar e114d5: OUTPUT: «{}␤»
00:03 SmokeMachine star:
00:03 SmokeMachine star: say % = $*REPO.repo-chain.flatmap(*.loaded>>.Str).grep(*.strats-with: "Test::").map({::($_)}).map: {.^name => $_} # I'm doing something like this! If you want to use a plugin, load it!
00:03 camelia star-m 2016.10: OUTPUT: «{}␤»
00:04 IOninja You have a typo in starts with
00:05 naxieAlDle joined #perl6
00:06 SmokeMachine And I didn't load anything...
00:12 telex joined #perl6
00:17 SmokeMachine star: use Pod::To::HTML; say % = $*REPO.repo-chain.flatmap(*.loaded>>.Str).grep(*.starts-with: "Pod").map({::($_)}).map: {.^name => $_}
00:17 camelia star-m 2016.10: OUTPUT: «{Pod::To::HTML => (HTML)}␤»
00:27 SmokeMachine star: use Pod::To::HTML; use Pod::To::Text; say % = $*REPO.repo-chain.flatmap(*.loaded>>.Str).grep(*.starts-with: "Pod").map({::($_)}).map: {.^name => $_}
00:27 camelia star-m 2016.10: OUTPUT: «{Pod::To::HTML => (HTML), Pod::To::Text => (Text)}␤»
00:27 naxieAlDle BenGoldberg: lost my internet connection for a while, so couldn't answer
00:27 naxieAlDle BenGoldberg: for some reason it stringifies every element
00:28 naxieAlDle m: constant h = %(<a 1 b 2>); enum E (h); say E.enums
00:28 camelia rakudo-moar e114d5: OUTPUT: «Map.new(("a\t1\nb\t2" => 0))␤»
00:29 naxieAlDle m: constant h = %(<a 1 b 2>); enum E (|h); say E.enums
00:29 camelia rakudo-moar e114d5: OUTPUT: «Map.new(("a\t1" => 0,"b\t2" => 1))␤»
00:31 naxieAlDle BenGoldberg: maybe it should work, I don't know
00:31 BenGoldberg Is that a rakudobug?
00:32 naxieAlDle possibly
00:34 naxieAlDle BenGoldberg: so yes, submit a ticket and we'll see what happens then :)
00:34 llfourn joined #perl6
00:50 obfusk joined #perl6
00:51 laouji joined #perl6
00:52 Sound joined #perl6
00:59 khw joined #perl6
01:03 BenGoldberg m: enum Nums (qw,zero one two,); sub foo(-->Int) { two }; say foo;
01:03 camelia rakudo-moar e114d5: OUTPUT: «two␤»
01:03 BenGoldberg m: enum Nums (qw,zero one two,); sub foo(-->int) { two }; say foo;
01:03 camelia rakudo-moar e114d5: OUTPUT: «2␤»
01:03 BenGoldberg m: enum Nums (qw,zero one two,); sub foo(-->Str) { two }; say foo;
01:03 camelia rakudo-moar e114d5: OUTPUT: «Type check failed for return value; expected Str but got Nums (Nums::two)␤  in sub foo at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
01:03 BenGoldberg m: enum Nums (qw,zero one two,); sub foo(-->Str()) { two }; say foo;
01:03 camelia rakudo-moar e114d5: OUTPUT: «two␤»
01:03 madochan joined #perl6
01:03 aborazmeh joined #perl6
01:03 aborazmeh joined #perl6
01:07 cdg joined #perl6
01:18 aborazmeh joined #perl6
01:18 aborazmeh joined #perl6
01:39 Ven joined #perl6
01:52 laouji joined #perl6
02:08 cdg joined #perl6
02:13 user__ joined #perl6
02:14 labster m: say True ⁇ "foo" ‼️ "bar";
02:14 camelia rakudo-moar e114d5: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Confused: Found ⁇ but no ‼␤at <tmp>:1␤------> 3say True ⁇ "foo"7⏏5 ‼️ "bar";␤    expecting any of:␤        infix␤        infix stopper␤»
02:15 labster no emoji operators?  c'mon guys :P
02:16 Ven joined #perl6
02:16 SmokeMachine m: say True ⁇ "foo" ‼️ "bar";
02:16 camelia rakudo-moar e114d5: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Confused: Found ⁇ but no ‼␤at <tmp>:1␤------> 3say True ⁇ "foo"7⏏5 ‼️ "bar";␤    expecting any of:␤        infix␤        infix stopper␤»
02:18 SmokeMachine m: say True ⁇ "OK" ‼ "NOK"
02:18 camelia rakudo-moar e114d5: OUTPUT: «OK␤»
02:19 cibs joined #perl6
02:19 SmokeMachine labster: wrong ‼...
02:19 labster Hm, that's not working on the rakudo I just built.  Do I need to use a version or something?
02:20 SmokeMachine labster: that was done this week...
02:21 labster Oh duh, I forgot to pull before rebuilding rakudo!
02:23 SmokeMachine :P
02:27 SmokeMachine u: ‼️
02:27 unicodable6 SmokeMachine, U+203C DOUBLE EXCLAMATION MARK [Po] (‼)
02:27 unicodable6 SmokeMachine, U+FE0F VARIATION SELECTOR-16 [Mn] (◌️)
02:30 SmokeMachine u: double interrogation mark
02:30 unicodable6 SmokeMachine, Found nothing!
02:31 bjz joined #perl6
02:31 SmokeMachine u: double interrogation
02:31 unicodable6 SmokeMachine, Found nothing!
02:31 SmokeMachine u: double
02:31 unicodable6 SmokeMachine, U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK [Pi] («)
02:31 unicodable6 SmokeMachine, U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK [Pf] (»)
02:31 Ven joined #perl6
02:31 unicodable6 SmokeMachine, 438 characters in total: https://gist.github.com/5b903ccc52c5f3dcbf7966c1579c0434
02:32 SmokeMachine u: double question mark
02:32 unicodable6 SmokeMachine, U+2047 DOUBLE QUESTION MARK [Po] (⁇)
02:33 SmokeMachine m: 'm: say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.EVAL
02:33 camelia rakudo-moar e114d5: OUTPUT: «5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Confused␤at /home/camelia/EVAL_0:1␤------> 3m: say True7⏏5 \c[double question mark] "OK" \c[double␤    expecting any of:␤        infix␤        infix stopper␤        postfix…»
02:33 BenGoldberg m: 'm: say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.say
02:33 camelia rakudo-moar e114d5: OUTPUT: «m: say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"␤»
02:33 SmokeMachine m: 'say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.EVAL
02:33 camelia rakudo-moar e114d5: OUTPUT: «5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Confused␤at /home/camelia/EVAL_0:1␤------> 3say True7⏏5 \c[double question mark] "OK" \c[double␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤…»
02:34 SmokeMachine m: qq'say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.EVAL
02:34 camelia rakudo-moar e114d5: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3qq'say True7⏏5 \c[double question mark] "OK" \c[double␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤   …»
02:34 SmokeMachine m: qq'say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.say
02:34 camelia rakudo-moar e114d5: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3qq'say True7⏏5 \c[double question mark] "OK" \c[double␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤   …»
02:34 BenGoldberg m: "say True \c[double question mark] 'OK' \c[double exclamation mark] 'NOK'".say
02:34 camelia rakudo-moar e114d5: OUTPUT: «say True ⁇ 'OK' ‼ 'NOK'␤»
02:34 BenGoldberg m: "say True \c[double question mark] 'OK' \c[double exclamation mark] 'NOK'".EVAL.say
02:34 camelia rakudo-moar e114d5: OUTPUT: «OK␤True␤»
02:35 SmokeMachine BenGoldberg: thanks!
02:35 BenGoldberg Welcome
02:36 SmokeMachine I didn't get why the qq version didn't work...
02:36 BenGoldberg m: qq''.say;
02:36 camelia rakudo-moar e114d5: OUTPUT: «␤»
02:36 BenGoldberg m: qq'\n'.say;
02:36 camelia rakudo-moar e114d5: OUTPUT: «␤␤»
02:36 BenGoldberg m: qq'say True'.say;
02:36 camelia rakudo-moar e114d5: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3qq'say True7⏏5'.say;␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier…»
02:37 SmokeMachine m: qq|say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"|.say
02:37 camelia rakudo-moar e114d5: OUTPUT: «say True ⁇ "OK" ‼ "NOK"␤»
02:37 BenGoldberg m: qq!say True!.say;
02:37 camelia rakudo-moar e114d5: OUTPUT: «say True␤»
02:37 SmokeMachine Is that a bug? Isn't qq working well with '?
02:38 SmokeMachine m: qq'True'
02:38 camelia rakudo-moar e114d5: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3qq'True7⏏5'␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement modifier␤        statement modifie…»
02:38 SmokeMachine m: qq/True/
02:38 camelia rakudo-moar e114d5: OUTPUT: «WARNINGS for <tmp>:␤Useless use of constant string "True" in sink context (line 1)␤»
02:39 SmokeMachine m: say qq"True"
02:39 camelia rakudo-moar e114d5: OUTPUT: «True␤»
02:40 SmokeMachine 23:37 <SmokeMachine> m: qq|say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"|.EVAL
02:40 SmokeMachine m: qq|say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"|.EVAL
02:40 camelia rakudo-moar e114d5: OUTPUT: «OK␤»
02:41 SmokeMachine m: say qq''
02:41 camelia rakudo-moar e114d5: OUTPUT: «␤»
02:41 SmokeMachine m: say qq'a'
02:41 camelia rakudo-moar e114d5: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say qq'a7⏏5'␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤      …»
02:42 SmokeMachine rakudobug?
02:46 ilbelkyr m: sub qq'x () { 42 }; say qq'x
02:46 camelia rakudo-moar e114d5: OUTPUT: «42␤»
02:46 SmokeMachine Hum!
02:46 SmokeMachine Ok...
02:46 SmokeMachine m: say qq ' bla '
02:46 camelia rakudo-moar e114d5: OUTPUT: « bla ␤»
02:46 SmokeMachine m:  say qq 'bla'
02:46 camelia rakudo-moar e114d5: OUTPUT: «bla␤»
02:46 bjz joined #perl6
02:46 naxieAlDle SmokeMachine: by the way, why ⁇‼ in particular?
02:46 naxieAlDle like, why not something else?
02:46 SmokeMachine m: qq 'say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.say
02:46 camelia rakudo-moar e114d5: OUTPUT: «say True ⁇ "OK" ‼ "NOK"␤»
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:48 SmokeMachine naxieAlDle: yes
02:48 naxieAlDle SmokeMachine: out of all unicode things you can add, why did you decide to work on ⁇ ‼ ? :)
02:48 ZzZombo joined #perl6
02:48 ZzZombo joined #perl6
02:50 SmokeMachine I thought that was too much coincidence both parts of the operator exist as Unicode char to do not do that!
02:50 SmokeMachine naxieAlDle: ^^
02:51 SmokeMachine naxieAlDle: and that will help on golf...
02:54 naxieAlDle SmokeMachine: how so?
02:54 naxieAlDle most golf tasks only care about bytes
02:54 naxieAlDle ?? is two bytes
02:54 naxieAlDle u: ‘⁇’.encode.elems.say
02:54 unicodable6 naxieAlDle, U+2018 LEFT SINGLE QUOTATION MARK [Pi] (‘)
02:54 unicodable6 naxieAlDle, U+2047 DOUBLE QUESTION MARK [Po] (⁇)
02:54 unicodable6 naxieAlDle, 20 characters in total: https://gist.github.com/7fe9640cd507887483ddc7b5504563ed
02:54 naxieAlDle m: ‘⁇’.encode.elems.say
02:54 camelia rakudo-moar e114d5: OUTPUT: «3␤»
02:54 naxieAlDle ⁇ is 3
02:54 naxieAlDle m: ‘⁇‼’.encode.elems.say
02:54 camelia rakudo-moar e114d5: OUTPUT: «6␤»
02:54 naxieAlDle m: ‘??!!’.encode.elems.say
02:54 camelia rakudo-moar e114d5: OUTPUT: «4␤»
02:55 naxieAlDle 🤷
02:55 SmokeMachine m: ‘⁇‼’.elems.say
02:55 camelia rakudo-moar e114d5: OUTPUT: «1␤»
02:56 SmokeMachine m: ‘⁇‼’.chars.say
02:56 camelia rakudo-moar e114d5: OUTPUT: «2␤»
02:56 SmokeMachine Unicode language means Unicode golf...
02:58 SmokeMachine And that was the first thing that I tried the Unicode version and didn't work...
02:59 SmokeMachine I thought that, for completeness, would make sense to do that...
02:59 naxieAlDle ≤ ≥ ≠ :P
02:59 SmokeMachine I didn't try... :P
03:01 SmokeMachine naxieAlDle: why are you changing the anagram you are using as nick?
03:02 naxieAlDle SmokeMachine: I wanted some change
03:02 naxieAlDle and given that Zoffix does it every freaking month, I guessed it won't hurt anything :)
03:04 ZzZombo joined #perl6
03:04 Guest93070 joined #perl6
03:05 SmokeMachine m: "SmokeMachine".comb.pick(*).join.say #should I? :P
03:05 camelia rakudo-moar e114d5: OUTPUT: «chMkmSaeione␤»
03:16 noganex joined #perl6
03:20 imcsk8 joined #perl6
03:25 ufobat_ joined #perl6
03:25 ZzZombo_ joined #perl6
03:25 ZzZombo_ joined #perl6
03:27 wamba joined #perl6
03:49 BenGoldberg m: .say for lines().map: /(.*?) /;
03:49 camelia rakudo-moar e114d5: OUTPUT: «No such method '!cursor_start' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
03:57 naxieAlDle m: lines().map: /./
03:57 camelia rakudo-moar e114d5: OUTPUT: «No such method '!cursor_start' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
03:57 naxieAlDle m: lines.map: /./
03:57 camelia rakudo-moar e114d5: OUTPUT: «No such method '!cursor_start' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
03:57 naxieAlDle m: (‘hello’,).Seq.map: /./
03:57 camelia rakudo-moar e114d5: OUTPUT: «No such method '!cursor_start' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
03:58 naxieAlDle BenGoldberg: well, that's a bug of some sort
03:58 naxieAlDle even if that is not supposed to work, it is definitely LTA
03:58 BenGoldberg Do you want to rakudobug it?
03:59 naxieAlDle BenGoldberg: well, would be nice if you do it :)
04:00 naxieAlDle m: say (‘hello’,).Seq.map: * ~~ /./
04:00 camelia rakudo-moar e114d5: OUTPUT: «(「h」)␤»
04:00 naxieAlDle this is what should happen, right?
04:10 cdg joined #perl6
04:50 mawkish__ joined #perl6
04:53 b2gills m: say [~]  %*ENV<ME>.comb.pick(*)
04:53 camelia rakudo-moar e114d5: OUTPUT: «isbll2g␤»
04:55 Cabanoss- joined #perl6
04:57 SmokeMachine m: say (‘hello’,).Seq.map: /./
04:57 camelia rakudo-moar e114d5: OUTPUT: «No such method '!cursor_start' for invocant of type 'Str'␤  in block <unit> at <tmp> line 1␤␤»
04:58 SmokeMachine m: say (‘hello’,).Seq.map: {/./}
04:58 camelia rakudo-moar e114d5: OUTPUT: «(/./)␤»
04:58 SmokeMachine m: say (‘hello’,).Seq.map: {/./;}
04:58 camelia rakudo-moar e114d5: OUTPUT: «(/./)␤»
04:58 SmokeMachine m: say (‘hello’,).Seq.map: -> $_ {/./}
04:58 camelia rakudo-moar e114d5: OUTPUT: «(/./)␤»
04:59 araraloren joined #perl6
05:07 bjz joined #perl6
05:25 BenGoldberg m: module Foo {  }; use Foo;
05:25 camelia rakudo-moar e114d5: OUTPUT: «===SORRY!===␤Could not find Foo at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUnit::Reposit…»
05:52 snowblack joined #perl6
05:59 adu joined #perl6
05:59 snowblack question, $ perl6 gives me prompt. How do I load a file with definitions I have writen in a file?
06:02 araraloren What prompt ?
06:04 geekosaur I think they want to know how to load a file from the repl
06:04 geekosaur ...which should be require, I think?
06:05 masak morning, #perl6
06:06 perlawhirl joined #perl6
06:07 araraloren o/
06:09 snowblack how to load a file into the repl, yes. filename is k1,  require "./k1"
06:10 snowblack results in "Could not find ./k1 in: [a list of directories]; how to make it look in current dir?
06:11 geekosaur mm, was afraid of that :/
06:11 araraloren Add module search path ?
06:11 geekosaur use lib '.'
06:11 cdg joined #perl6
06:11 araraloren use lib may be work
06:11 geekosaur I am not sure there's a better way at present
06:15 snowblack use lib "."      require "./k1" does execute k1, but doesn't seem to have remembered the definitions in the file
06:19 araraloren use lib "path"; use "filename without extension";
06:19 araraloren Will be work
06:19 geekosaur joined #perl6
06:22 mawkish__ joined #perl6
06:22 geekosaur joined #perl6
06:23 araraloren snowblack,  eg. ls output: module.pm6 In ERPL: use lib "."; ↓  use module; ↓  Then you can use class or variable definitions in module.pm6
06:33 llfourn joined #perl6
06:57 ZzZombo joined #perl6
06:57 ZzZombo joined #perl6
07:00 CIAvash joined #perl6
07:02 zakharyas joined #perl6
07:07 darutoko joined #perl6
07:07 snowblack still not working
07:08 snowblack cat k2.pm6
07:08 snowblack sub sample($x) {$x * $x}
07:09 snowblack use lib ".";
07:09 snowblack require "k2";
07:09 snowblack say sample(45345);
07:10 snowblack require "k2";
07:10 snowblack Could not find k2 in:
07:10 snowblack /black1/home_alt/carl/btr/carlthuban/math/projecteuler.net/060
07:10 snowblack etc
07:11 snowblack Is there not a simple example somewhere?
07:28 ZzZombo joined #perl6
07:28 ZzZombo joined #perl6
07:54 cibs joined #perl6
07:55 laouji joined #perl6
07:57 timotimo IOninja: if i remember correctly, "closing" was a sort of crutch that was needed to make sure things get called in the right order for cleanup. i might be100% wrong here, but i think it was kicked when supplies got a major internal overhaul at some point
07:57 timotimo bisectable6: my $s = Supplier.new; my $tap = $s.Supply.tap(-> $v { say "the value is $v" }, done    => { say "Supply is done" }, closing => { say "Tap closed" }, quit    => -> $ex { say "Supply finished with error $ex" }, ); $tap.close
07:57 bisectable6 timotimo, On both starting points (old=2015.12 new=e114d52) the exit code is 0 and the output is identical as well
07:57 bisectable6 timotimo, Output on both points:
07:58 timotimo bisectable6: my $s = Supplier.new; my $tap = $s.Supply.tap(-> $v { say "the value is $v" }, done    => { say "Supply is done" }, done => { say "Tap done" }, quit    => -> $ex { say "Supply finished with error $ex" }, ); $tap.close
07:58 bisectable6 timotimo, On both starting points (old=2015.12 new=e114d52) the exit code is 0 and the output is identical as well
07:58 bisectable6 timotimo, Output on both points:
07:58 timotimo well, done only runs when the supplier closes it, not the tap
07:58 timotimo so that's probably fine
07:59 naxieAlDle all: my $s = Supplier.new; my $tap = $s.Supply.tap(-> $v { say "the value is $v" }, done    => { say "Supply is done" }, done => { say "Tap done" }, quit    => -> $ex { say "Supply finished with error $ex" }, ); $tap.close
07:59 timotimo IOninja: note however that an on-demand supply has a closing argument and attribute. you don't pass it via tap, though
07:59 committable6 naxieAlDle, https://gist.github.com/156e4cc6b1547bf653fc12e2e3b55900
08:00 naxieAlDle bisect: old=2015.07 my $s = Supplier.new; my $tap = $s.Supply.tap(-> $v { say "the value is $v" }, done    => { say "Supply is done" }, done => { say "Tap done" }, quit    => -> $ex { say "Supply finished with error $ex" }, ); $tap.close
08:00 bisectable6 naxieAlDle, Bisecting by exit code (old=2015.07 new=e114d52). Old exit code: 1
08:00 bisectable6 naxieAlDle, bisect log: https://gist.github.com/fcc9da46c9bc422e66722d29e6ea04b9
08:00 bisectable6 naxieAlDle, (2015-11-26) https://github.com/rakudo/rakudo/commit/6bd80ec9cc412c00cdaf4d48a0946830409bb74f
08:00 naxieAlDle bisect: old=6bd80ec9cc my $s = Supplier.new; my $tap = $s.Supply.tap(-> $v { say "the value is $v" }, done    => { say "Supply is done" }, done => { say "Tap done" }, quit    => -> $ex { say "Supply finished with error $ex" }, ); $tap.close
08:00 bisectable6 naxieAlDle, On both starting points (old=6bd80ec new=e114d52) the exit code is 0 and the output is identical as well
08:00 bisectable6 naxieAlDle, Output on both points:
08:01 naxieAlDle ah right
08:02 naxieAlDle anyway, I have no idea what you were trying to find
08:04 mawkish__ joined #perl6
08:07 naxieAlDle timotimo, IOninja: is it this? https://github.com/rakudo/rakudo/commit/a8231f14b2d5400e0653aac453496e00318142c5
08:08 naxieAlDle had to do this to find it: bisect: old=6bd80ec9~50 new=6bd80ec9^ my $s = Publisher.new; #`(rest is same)
08:08 mawkish__ joined #perl6
08:09 timotimo looks right on the money!
08:14 timotimo when someone fixes up that piece of documentation, it'd be nice to point people towards supply blocks
08:14 timotimo supply/react blocks
08:17 naxieAlDle m: say ‘hello’
08:17 camelia rakudo-moar e114d5: OUTPUT: «hello␤»
08:17 timotimo oh no
08:17 timotimo is hack hanging again?
08:18 timotimo ugh, it absolutely is
08:19 dalek joined #perl6
08:20 synopsebot6 joined #perl6
08:20 timotimo it'd be great if we could get util, perljam, and sergot off of hack.p6c.org and onto irc.p6c.org
08:21 timotimo cool, that's a downtime of just a little bit over an hour
08:21 timotimo i just randomly wanted to sign into hack and there it was
08:21 timotimo i just be magic
08:21 naxieAlDle well, occasional reboot is good!
08:22 timotimo it's not a good kind of reboot, though
08:22 timotimo it's the kind where you just flip the power switch off
08:22 timotimo because it can't properly reboot ... the hard drives have just full-on disappeared in those cases
08:23 naxieAlDle I've only rebooted my server once in two years, not a good way to do it also :P
08:24 timotimo ah
08:24 timotimo yeah, maybe :)
08:24 timotimo unless of course you've subscribed to ksplice or what it's called
08:28 synopsebot6 joined #perl6
08:28 naxieAlDle not only that, but I'm also not sure if everything that is supposed to come up on boot actually does so
08:29 timotimo i changed synopsebot a tiny bit so that it hopefully understands Geth doc links now
08:29 timotimo someone wanna change some docs to try it? ;)
08:33 xinming joined #perl6
08:34 domidumont joined #perl6
08:36 gk_1wm_su joined #perl6
08:40 parv joined #perl6
08:40 domidumont joined #perl6
09:00 mawkish__ joined #perl6
09:05 rindolf joined #perl6
09:05 xinming joined #perl6
09:08 mawkish__ joined #perl6
09:08 eroux joined #perl6
09:10 Geth ¦ doc/≤≥≠: 150de2b6a0 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
09:10 Geth ¦ doc/≤≥≠: Docs for ≤ ≥ ≠ unicode ops
09:10 Geth ¦ doc/≤≥≠: review: https://github.com/perl6/doc/commit/150de2b6a0
09:10 timotimo it won't trigger for branches because those don't get built on the docs site
09:11 Geth ¦ doc: AlexDaniel++ created pull request #1234: Docs for ≤ ≥ ≠ unicode ops
09:11 Geth ¦ doc: review: https://github.com/perl6/doc/pull/1234
09:12 mawkish__ joined #perl6
09:15 Actualeyes joined #perl6
09:16 mawkish__ joined #perl6
09:16 sena_kun joined #perl6
09:20 mawkish__ joined #perl6
09:21 naxieAlD` joined #perl6
09:22 naxieAlDle` :|
09:22 RabidGravy joined #perl6
09:23 zakharyas joined #perl6
09:24 Sound joined #perl6
09:27 Geth ¦ whateverable: 13cbe9a899 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 6 files
09:27 Geth ¦ whateverable: Sync OUTPUT with style in docs
09:27 Geth ¦ whateverable:
09:27 Geth ¦ whateverable: Resolves issue #101, tests changed accordingly.
09:27 Geth ¦ whateverable:
09:27 Geth ¦ whateverable: Committable will now show exit code in a funny way (with nested
09:27 Geth ¦ whateverable: «»). This has to be changed in the future.
09:27 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/13cbe9a899
09:28 cibs joined #perl6
09:40 gk_1wm_su joined #perl6
09:40 gk_1wm_su left #perl6
09:42 unicodable6 joined #perl6
09:42 bisectable6 joined #perl6
09:42 benchable6 joined #perl6
09:42 evalable6 joined #perl6
09:42 committable6 joined #perl6
09:42 statisfiable6 joined #perl6
09:42 travis-ci joined #perl6
09:42 travis-ci Doc build passed. Aleks-Daniel Jakimenko-Aleksejev 'Docs for ≤ ≥ ≠ unicode ops'
09:42 travis-ci https://travis-ci.org/perl6/doc/builds/207859179 https://github.com/perl6/doc/commit/150de2b6a01b
09:42 travis-ci left #perl6
09:44 FROGGS joined #perl6
09:48 dct joined #perl6
09:59 moritz good morning
10:02 lizmat moritz  o/
10:02 moritz lol I blogged: https://perlgeek.de/blog-en/perl-6/2017-010-unicode.html
10:04 lizmat whee!  :-)
10:12 Ven joined #perl6
10:15 nebuchadnezzar \o/
10:15 nebuchadnezzar I thought english use “” to quote…
10:17 RabidGravy boo!
10:30 sammers joined #perl6
10:49 cdg joined #perl6
10:52 ZzZombo_ joined #perl6
10:52 ZzZombo_ joined #perl6
10:56 mawkish__ joined #perl6
11:11 lukaramu joined #perl6
11:15 Ven joined #perl6
11:17 * RabidGravy wonders idly if POSIX mqueues would play nicely
11:27 RabidGravy there's only one way to find out
11:27 LeCamarade joined #perl6
11:28 El_Che boom
11:36 RabidGravy oh va_args :(
11:49 IOninja AlexDanial: s/Geth/GitHub/ reports the name inconsistently. Eventually Geth will use the rakudo/CREDITS file to fish out the names tho
11:53 IOninja Gee, we're now adding ≤ ≥ ≠ ops -_-
11:54 IOninja I wish people were as eager to fix the 1,500 bug tickets for existing features.
11:55 DrForr Just like typical jobs :/ No time to fix bugs, always time to add new features.
11:56 laouji joined #perl6
12:01 bjz_ joined #perl6
12:06 mawkish__ joined #perl6
12:09 llfourn joined #perl6
12:27 lep-delete joined #perl6
12:36 Sound joined #perl6
12:38 bjz joined #perl6
12:50 IOninja I notice we call the colon form on this page "Filetest operators": https://docs.perl6.org/type/IO$COLON$COLONPath#File_test_operators
12:51 IOninja However, that syntax is much more general and is a property of Pair.ACCEPTS
12:51 IOninja m: say 31337 ~~ :is-prime
12:51 camelia rakudo-moar e114d5: OUTPUT: «True␤»
12:52 IOninja It calls the method with the name of the .key, and I don't see that listed under Pair.ACCEPTS
12:52 mr-foobar joined #perl6
12:52 IOninja s: :foo, 'ACCEPTS', \(42)
12:52 MasterDuke huh, never knew it was a general syntax
12:53 SourceBaby joined #perl6
12:53 IOninja s: :foo, 'ACCEPTS', \(42)
12:53 SourceBaby IOninja, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Str, Capture, :foo); none of these signatures match:␤    ($thing, Str:D $method, Capture $c)␤    ($thing, Str:D $method)␤    (&code)␤    (&code, Capture $c)␤  in block <unit> at -e line 6␤␤
12:53 Undercover joined #perl6
12:53 IOninja s: Pair.new("foo", True), 'ACCEPTS', \(42)
12:53 SourceBaby IOninja, Sauce is at https://github.com/rakudo/rakudo/blob/e114d52/src/core/Pair.pm#L36
12:54 IOninja Right, it calls the method and checks its .Bool matches the .Bool of LHS of ~~
12:54 IOninja m: say 0 ~~ :abs
12:54 camelia rakudo-moar e114d5: OUTPUT: «False␤»
12:54 IOninja really
12:54 IOninja m: say 0.abs
12:54 camelia rakudo-moar e114d5: OUTPUT: «0␤»
12:54 IOninja m: say 0.abs.Bool
12:54 camelia rakudo-moar e114d5: OUTPUT: «False␤»
12:54 IOninja m: say 0.Bool
12:54 camelia rakudo-moar e114d5: OUTPUT: «False␤»
12:55 IOninja :/
12:55 IOninja m: say 0.Bool === 0.abs.Bool
12:55 camelia rakudo-moar e114d5: OUTPUT: «True␤»
12:55 IOninja Oh, doh
12:55 IOninja m: say 0 ~~ :!abs
12:55 camelia rakudo-moar e114d5: OUTPUT: «True␤»
12:55 IOninja :)
12:56 * IOninja writes up Pair.ACCEPTS
12:58 IOninja Umm... I'll open an Issue. There several other candidates too...
13:01 DrForr Incidentally I'm going to start writing Perl6::Tidy today, with the basic editing I can at least get a few things reformatted.
13:02 El_Che \o/
13:04 DrForr Also submitted a ML talk for YAPC::NA.
13:13 g0d355__ joined #perl6
13:14 ZzZombo_ joined #perl6
13:16 mawkish__ joined #perl6
13:17 MasterDuke DrForr++ and Perl6::Critic shortly to follow?
13:18 DrForr Maybe. I expect testing ::Tidy will show up a few design flaws I'll have to rectify.
13:22 El_Che ML as in OCaml?
13:23 DrForr Machine Learning.
13:23 sena_kun El_Che, machine learning.
13:23 El_Che thx
13:24 tbrowder hi, #perl6
13:24 IOninja DrForr: ML with Perl 6?
13:24 IOninja \o
13:25 sena_kun hi
13:25 tbrowder ref bug fixes, what about a bug smashing party at YAPC::NA 2017?
13:26 cpage_ joined #perl6
13:26 DrForr With 1500+ I expect itd be a verification party :)
13:26 tbrowder well, as teenagers say, "whatever!"
13:27 tbrowder verification is good, too
13:27 DrForr Definitely.
13:33 lukaramu_ joined #perl6
13:33 tbrowder i have discovered the power of str.subst-rw and would like to add some more practical examples in the docs if no one objects. i am using it to replace some old c code that uses c strings and temp buffers to work through individual chars and do transformations including adding sets of chars in place of zero or more chars at desired positions. such use as
13:33 tbrowder insertion and growing the Str i don't think is clear in the docs.
13:34 tbrowder s/subst/substr/
13:36 moritz sure, go ahead
13:38 espadrine joined #perl6
13:40 Ven joined #perl6
13:45 laouji joined #perl6
13:52 ZofBot_ joined #perl6
13:53 ZofBot joined #perl6
13:58 masak an OT question and a trip down memory lane:
13:58 masak does anyone recall the name of a DOS program that had a browsable list of all the 386 assembly instructions, and all the MS-DOS interrupts?
13:59 masak it had a surprisingly polished ASCII interface. you navigated it mostly with the arrow keys.
14:00 IOninja :o
14:00 IOninja .oO( pretty sure I wasn't born at the time.... )
14:04 masak I've been searching half of the morning. confused/frazzled search results tell me it *might* have been called DOSREF
14:06 Ven joined #perl6
14:07 tbrowder masak: are you sure it wasn't part of MS's asm package?
14:10 masak I won't rule it out that it was
14:10 masak that'd explain why it was so polished
14:10 masak also, the confused/frazzled search results seemed to indicate something similar
14:11 masak it's hard to tell, because at that age I didn't exactly buy software off the shelf
14:12 DrForr I'm guessing that at that age I was actually buying software off the shelf. In the form of cassettes. :)
14:13 tbrowder i had it on floppys at one time but i'm afraid i may have dumped it. i'll look when i get homemin a couple of weeks.
14:13 masak \o/
14:14 tbrowder there are some dos code sites around...
14:14 El_Che tbrowder: you kept floppies?
14:14 El_Che wow
14:14 tbrowder also the drdobbs site i think is still up
14:14 * El_Che has an usb floppy reader, but no floppies :)
14:15 * DrForr has the hole punch for the other side somewhere in storage.
14:16 IOninja damn, simply commenting on code in PR is not enough anymore. You must also "submit changes". Just accidentally noticed my comment from 4 hours ago wasn't ever submitted :(
14:16 El_Che Last time I saw a floppy was on an electronic piano at a firend
14:16 El_Che friend
14:16 tbrowder yes, for a lng time, 5.25 in as well 3.5--wife shamed me into dumping a lot of that--was easy just keeping it on a closet shelf
14:20 masak I kept floppies too, with my first computer
14:22 El_Che the single medium I haven't thrown out are music cd's and dvd's (never went to BD)
14:22 El_Che all the rest went in the trash, mostly 3.5 floppies and VHS and music cassettes
14:24 stmuk masak: maybe a form of https://en.wikipedia.org/wiki/Ralf_Brown's_Interrupt_List
14:25 stmuk I seem to remember a TSR version of that (or something similar)
14:30 stmuk masak: HELPPC21.ZIP?
14:31 masak HELPPC21!
14:31 masak that rings a bell!
14:31 masak stmuk++!
14:31 masak also, lazyweb++
14:31 masak together we are schtrong :D
14:32 masak found it immediately here: http://www.cs.nyu.edu/~yap/classes/machineOrg/helppc/
14:32 masak so happy right now <3
14:33 stmuk I still have lots of DOS stuff under dosbox :)
14:33 masak I'm running around old parts of the web, planning what to put together onto a vintage PC for my son, who is turning 3 in December
14:35 IOninja Are you planning to raise him on 1980s technology so he doesn't beg for latest smartphone when he becomes a teen? :)
14:35 masak yes to the plan, no to the reason :)
14:36 El_Che masak: were you a sociology major?
14:36 masak I just found the tools I grew up with suprior to today's tools
14:36 IOninja :)
14:36 masak El_Che: am not. I majored in bioinformatics.
14:36 Util joined #perl6
14:36 El_Che masak: sound like The Borg to me
14:36 El_Che :)
14:37 masak not entirely unlike the Borg, actually.
14:37 El_Che "sorry son, your life was a sociology experiment". /masak opens the door and shows the 21st century
14:37 El_Che :)
14:37 IOninja :D
14:37 masak firstly, the 21st century isn't all that awesome
14:37 El_Che and specimen 327a, you can call me Dr. Masak now
14:38 b2gills I have a copy of MS Quick C along with the manuals less than 10 feet away from me
14:38 El_Che I threw away my Dos 5.2 books last year
14:38 masak secondly, I find there's something alluring and seductive about a computer whose stack I can grok completely
14:39 masak today's Internet-connected browser-based full-stack things don't have that quality
14:39 yqt joined #perl6
14:39 El_Che I a lots of litature and human sciences book, but I don't tend you keep IT books that are too outdated
14:39 b2gills If you want some ISA Ethernet cards I have some
14:39 masak and so, I'm stuffing everything that gave me the warm fuzzies onto as old an IBM PC as I can possibly find, and giving it to my son
14:39 El_Che my girls (7 & 9) love the old games I installed in the living room
14:40 masak anyone else here grew up on Turbo BASIC?
14:40 El_Che stuff from the 80s and 90s
14:40 * masak .oO( SELECT CASE INKEY$ )
14:40 b2gills I grew up on learning how to program with batch files
14:40 stmuk gorilla.bas :)
14:40 El_Che hah
14:42 El_Che masak: I don't miss fighting with trumpet to get my tcp/ip stack or editing autoexec.bat to free mem to play games though
14:42 b2gills the only Basic I programming in was Visual Basic in the mid to late 90s ☹
14:42 MasterDuke gorilla.bas++
14:42 masak heh, everyone knows about QBASIC and/or QuickBasic, it seems
14:43 masak I wonder how it was that I came across Turbo BASIC so much earlier
14:43 MasterDuke i started with QBasic, then moved to Turbo Pascal
14:43 El_Che I had turbo pascal at the uni
14:43 b2gills If you need spare parts like a power supply, I still have some
14:44 MasterDuke then tried Java, and it turned me off of programming completely for several years (until i got to college)
14:44 stmuk I mostly played with Turbo Pascal and C
14:44 mawkish__ joined #perl6
14:46 llfourn joined #perl6
14:49 El_Che masak: so the idea is also to install old OS'es on hw?
14:49 masak you mean rather than running DOS in DOSBox or VMWare? yes.
14:49 timotimo i'm not sure what the difference between QBASIC and QuickBasic is
14:49 timotimo but i definitely had one of the two
14:50 masak timotimo: for one thing, QuickBasic could compile to .EXE
14:50 moritz timotimo: quickbasic allowed compilation to .exe files, QBAISC didn't
14:50 masak moritz: stop that :P
14:50 MasterDuke jinx
14:50 El_Che masak: you go for the full experience. Nice
14:50 timotimo OK, that sounds like i had QBASIC.
14:50 moritz masak: you stop that, OK? :-)
14:50 stmuk QBASIC was the stripped down version which shipped with DOS 5 and QuickBasic was the full product
14:50 masak moritz: would you s... argh
14:51 moritz for the record, masak and I haven't met in person for nearly a year
14:51 masak there was also a fun relationship between QBASIC.EXE and EDIT.EXE (or EDIT.COM, don't remember)
14:51 masak yeah, moritz and I have maintained our quantum resonance for months now
14:51 moritz qbasic had this fun thing where when you started to write a function, it would automatically open a new window
14:52 masak the EDIT.* was a thin shell that delegated to QBASIC.EXE telling it to run an editor without the BASIC programming stuff :P
14:52 moritz but when you saved the file, it was an ordinary, single text file
14:52 masak moritz: it also preceded Visual Basic with the "feature" of autocorrecting your code to its own capitalization
14:52 stmuk I think edit.exe was qbasic.exe at first and became another program (but could be wrong)
14:52 masak feels like a very MS-y feature, for some reason
14:52 moritz masak: ah fun. I noticed the similarities, but I just assumed that QBASIC used EDIT.COM, not the other way 'round :-)
14:53 masak could've been the other way around, I can't be 100% sure
14:53 masak but I think QBASIC was the big file
14:54 moritz re MS-y feature, yes. Until about 3 years ago, MS tried very hard to make choices for developers
14:54 stmuk it was  "qbasic /edit" at first
14:55 moritz if you bought in to the whole stack, things were great. But if you tried to compiled projects without visual studio, people looked very funny at you
14:55 stmuk FreeDOS is quite nice now
14:56 moritz I'm currently trying to come up with a small project with Inline::Python, which I could use for my "Perl 6 by Example" book
14:56 moritz any suggestions?
14:56 masak moritz: please be more specific re "small project"
14:56 masak what are your parameters?
14:56 nadim joined #perl6
14:57 nadim Good afternoon all.
14:58 moritz masak: I actually thought about that in the past: https://gist.github.com/moritz/25db24be2e9b6cdbb500b2332b365c6b
14:58 masak nadim: ahoj
14:58 nadim I go away for a few months and 1000+ commits have happened on P6 , Great work
14:58 nadim masak: hej på dig ;)
14:59 moritz so, the concept or feature I want to illustrate is the Inline::* family of modules
14:59 skaji joined #perl6
14:59 IOninja huh... I though El_Che was nadim
14:59 masak moritz: evaluate poker hand; parse S-expression; count words in article and return reading time (words/100 minutes)
15:00 nadim IOninja: I am sneaky but not that sneaky
15:01 MasterDuke moritz: perlpilot has a couple blog posts in the works about using Inline::Python for matplotlib
15:01 timotimo moritz: does it make any sense to go for PyQt for that example?
15:01 moritz masak: none of those are things that I would naturally use one of the Inline:: modules for
15:01 IOninja nadim: oh, I guess I was misreading this twitter handle then.... https://twitter.com/nxadm
15:01 moritz timotimo: maybe, if PyQt code can be compact
15:01 MasterDuke which seems like a good example, using something Python is particularly good at (or has a good module/library for)
15:01 masak moritz: print a file with lines numbered (getting the width of the numbers column right -- involves log(L)/log(10))
15:01 timotimo it can be, really depends on how much stuff you want to build ;)
15:02 masak er, log(L+1)/log(10)
15:02 moritz MasterDuke: not a bad idea; maybe extract some stats from the IRC logs and graph them
15:02 masak what MasterDuke++ said :)
15:02 MasterDuke oops, it was perlawhirl i think
15:03 sena_kun moritz, pygments maybe?
15:03 stmuk Python has NAG libaries doesn't it?
15:03 timotimo nags you about what?
15:03 nadim I am fixing Data::Dump::Tree after a few bug reports, no change to the code really some "use some::module". one of my test examples dumps a call frame and groaked on dumping Test and Data. Anyone knows what those contain? I will ahh  a Stash handler to avoid the error but I'd like to know what those are.
15:04 stmuk timotimo: whitespace?
15:04 moritz fwiw I'm currently planning to have one chapter about Unicode (see today's blog), and one on Inline::Python, and then I'm mostly done with the manuscript
15:04 timotimo haha :)
15:04 timotimo but really, what is NAG?
15:04 moritz something nmerical?
15:04 moritz *numerical
15:04 moritz numerical algebra, i'd think
15:04 timotimo numerical alge bra?
15:05 timotimo does that include pandas?
15:05 moritz yes
15:05 moritz the problem with that is the domain knowledge
15:05 stmuk yeah some numerical libs from fortran
15:05 timotimo what was the one called where you write formulas in abstract and manipulate them? that's not pandas, right?
15:05 timotimo right, numpy and scipy have lots of fortran code in them
15:06 moritz I can either assume every reader knows why need a SVD, or spend 3 pages explaining it
15:06 moritz neiter feels very satisfactory
15:06 stmuk I remember web scraping with python's beautifulsoup as well
15:06 moritz sena_kun's idea about pygments has some merits; need to think a bit about it
15:07 masak python is supposed to be good at parsing RSS/Atom, too
15:07 timotimo oh how hard can RSS/Atom be, it's just xml! /s
15:08 stmuk yeah its simple like SOAP
15:08 masak timotimo: though I note the sarcasm, ISTR the answer is quite interesting
15:09 masak (hint: people aren't good at writing RSS/Atom)
15:09 masak like, *really* not good
15:09 nadim moritz:  any simple clarification about what Data and Test are in a Stah?
15:09 moritz nadim: what's a Stah?
15:09 sena_kun moritz, there are no "big" alternatives, it is a simple and useful task and the API is super-simple. Though, explanation of lexers/parsers can be, well, quite arguable.
15:10 moritz .oO( Alternativlos )
15:10 stmuk I think there are raw socket libraries in python used in security as well
15:11 moritz sena_kun: before pygments I used vim with Text::VimColor for hilighting
15:11 moritz (with obvious disavantages, but i works)
15:11 timotimo yeah, i imagine those feeds you'll encounter on the web are as bad as some web sites (i.e. html code) used to be just a few years ago
15:12 stmuk ah "scapy"
15:13 sena_kun moritz, well, either is fine, I guess, it is just an example. Anyway, I just think that this type of libraries(robust, useful, well-known yet small) should be searched for. :)
15:13 moritz so maybe the example could be to point at a feed aggregator, extract some statistics, and plot the result using matplotlib
15:13 moritz sena_kun: yes, agreed
15:15 timotimo "requests" is a python library that regularly gets lots of praise
15:16 sena_kun ++ for requests
15:16 stmuk pygame
15:16 moritz timotimo: aye; hence the idea to get data from the IRC logs to parse, and extract some stats
15:16 timotimo to be quite honest, pygame isn't very good. quite popular, though.
15:17 nadim moritz: a Stash (I am going to re-hate this keyboard soon)
15:17 naxieAlDle joined #perl6
15:18 moritz nadim: sorry, I still think I'm missing some context here
15:18 MasterDuke timotimo: should i report the code we were playing with last night as a MoarVM issue?
15:19 timotimo probably. if only as a discussion platform for how it should be dealt with
15:19 kurahaupo__ joined #perl6
15:19 MasterDuke k, will do
15:20 stmuk there are also probably plenty of official python libraries to Google APIs where no perl ones exist :/
15:23 nadim Moritz: dd callframe();  that contains a My of type Stash. the Stash is a hash and it has two elements Data and Test.  I wonder what those are/contain. also when I send them as an element to a sub, the sub receives them as two elements. I saw this before when I put my nose where I shouldn't; but that happens when one writes a dumper. I am going to write a handler for Stash but I'd like to know what Test and Data are.
15:25 moritz nadim: Test sounds like the module that 'use Test;' imported
15:26 moritz nadim: and Data is likely another package or module, for example if you imported Data::Dump or so, you have Data in your lexical environment
15:26 MasterDuke timotimo: https://github.com/MoarVM/MoarVM/issues/545, please make any edits you'd like
15:27 timotimo wrote a little summary of what the irc discussion contained
15:28 sufrostico joined #perl6
15:28 lizmat m: class A {}; say callframe.my<A>  # nadim
15:28 camelia rakudo-moar d04c47: OUTPUT: «(A)␤»
15:28 timotimo at least i guess that that's what you linked to, i didn't actually click the link %)
15:30 RabidGravy my my
15:31 ZzZombo_ m: my \my '!!!';say my
15:31 camelia rakudo-moar 9cec31: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Term definition requires an initializer␤at <tmp>:1␤------> 3my \my7⏏5 '!!!';say my␤»
15:31 ZzZombo_ m: my \my='!!!';say my
15:31 camelia rakudo-moar 9cec31: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Malformed my␤at <tmp>:1␤------> 3my \my='!!!';say my7⏏5<EOL>␤»
15:31 ZzZombo_ m: my \my:='!!!';say my
15:31 camelia rakudo-moar 9cec31: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Malformed my␤at <tmp>:1␤------> 3my \my:='!!!';say my7⏏5<EOL>␤»
15:31 ZzZombo_ m: my $my='!!!';say $my
15:31 camelia rakudo-moar 9cec31: OUTPUT: «!!!␤»
15:32 ZzZombo_ :((
15:34 laouji joined #perl6
15:35 laouji joined #perl6
15:37 naxieAlDle ZzZombo_: what's wrong? :)
15:38 naxieAlDle ZzZombo_: oh I see. Cannot create a constant called “my”
15:38 naxieAlDle m: my \my = 42; say ::<my>
15:38 camelia rakudo-moar 9cec31: OUTPUT: «42␤»
15:38 naxieAlDle hehe
15:38 naxieAlDle cannot use, rather
15:42 cdg joined #perl6
15:56 naxieAlDle github down -_-
15:57 IOninja works fine for me
15:57 naxieAlDle “We track these errors automatically, but if the problem persists feel free to contact us. In the meantime, try refreshing.”
15:57 * naxieAlDle bangs on F5
15:57 naxieAlDle IOninja: try this: https://github.com/rakudo/rakudo/pull/1032/commits
15:58 naxieAlDle hm, indeed, other parts of it are working
16:02 lizmat FWIW, I've seen that error several hours ago as well
16:02 mawkish__ joined #perl6
16:04 khw joined #perl6
16:09 moritz nine: I'm having some trouble with Inline::Python, see https://gist.github.com/moritz/766d05b4e6400a49db2166f09e80aea8
16:10 moritz first, requests.get($url, headers => %hash) complains that headers isn't a valid named argument
16:10 moritz second, $response.text says unicode isn't callable
16:11 moritz I get the impression that accessing attributes doesn't work through the normal method call syntax, because it always tries to invoke the result?
16:12 MilkmanDan joined #perl6
16:12 cale2 joined #perl6
16:14 moritz 'get' here is defined as 'def get(url, params=None, **kwargs):'
16:14 cale2 This should print out "Talk", but instead it prints out "Sub". Any idea why? https://glot.io/snippets/enplb6nk6h
16:15 timotimo .WHO gives you the package that belongs to the object
16:15 timotimo rather than the package the object belongs to
16:16 moritz &greet.package is maybe what you want
16:16 cale2 ahhh. I'm brainstorming about how to making real docstrings in Perl6, but I think those methods aren't going to be the key
16:17 cale2 moritz: you're right!
16:19 cale2 Theoretically, Pod is already parsed on a per-file basis. Like it organizes your docs into the groups of files that you've already created, right?
16:20 timotimo pod parsing itself knows nothing about other files, i don't think
16:20 timotimo i mean besides the file it's currently parsing
16:20 timotimo all cross-file stuff lives in either Pod::To::HTML or htmlize.p6
16:21 cale2 I'd like to make something like ex-doc in elixir or https://crystal-lang.org/docs/conventions/documenting_code.html
16:23 cale2 Where is grabs all of the `#|` or `#=` Pod and groups it by packages. Then when it renders, it has all of your packages listed on a sidebar on the left
16:26 llfourn joined #perl6
16:26 cale2 I guess I can use $?PACKAGE and $?MODULE for that too though
16:29 IOninja m: (("a" x 1000000) x 1073741824).chars.say
16:29 camelia rakudo-moar 9cec31: OUTPUT: «0␤»
16:29 IOninja huh?
16:31 naxieAlDle 6c: (("a" x 1000000) x 1073741824).chars.say
16:31 IOninja m: (('a' x 1000000) x 1000000).chars.say
16:31 camelia rakudo-moar 22f43d: OUTPUT: «3567587328␤»
16:32 committable6 naxieAlDle, ¦6c (16 commits): «0»
16:32 wamba joined #perl6
16:34 IOninja Filed: https://rt.perl.org/Ticket/Display.html?id=130924#txn-1452590
16:34 cale2 m: package Stuff { module Talk { say $?PACKAGE ~ '::' ~ $?MODULE } }
16:34 camelia rakudo-moar 22f43d: OUTPUT: «Use of uninitialized value of type Stuff::Talk in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤  in block  at <tmp> line 1␤Use of uninitialized value of type Stuff::Talk in string contex…»
16:34 cale2 package Stuff { module Talk { say $?MODULE } }
16:34 cale2 m: package Stuff { module Talk { say $?MODULE } }
16:34 camelia rakudo-moar 22f43d: OUTPUT: «(Talk)␤»
16:35 cale2 m: package Stuff { module Talk { say $?PACKAGE } }
16:35 camelia rakudo-moar 22f43d: OUTPUT: «(Talk)␤»
16:39 andrzejku joined #perl6
16:39 Geth ¦ Inline-Python: 71bd44d76f | (Stefan Seifert)++ | 3 files
16:39 Geth ¦ Inline-Python: Support named arguments in wrappers for imported Python packages
16:39 Geth ¦ Inline-Python: review: https://github.com/niner/Inline-Python/commit/71bd44d76f
16:39 nine moritz: ^^^
16:42 Geth ¦ doc: 35e69981b2 | (Tom Browder)++ | doc/Type/Str.pod6
16:42 Geth ¦ doc: amplify the substr-rw examples
16:42 Geth ¦ doc: review: https://github.com/perl6/doc/commit/35e69981b2
16:55 moritz nine: thanks!
16:57 * moritz runs zef upgrade Inline::Python
17:02 moritz nine: can I run getattr from python in Perl 6 code somehow?
17:04 timotimo just call ."__getattr__(...)"?
17:04 timotimo er
17:05 timotimo ."__getattr__"(...)
17:06 n1ce joined #perl6
17:06 timotimo https://twitter.com/whitequark/status/837925144156725248/photo/1 <3
17:06 IOninja why quotes?
17:07 IOninja m: class Foo { method __getattr__ { say "hi" } }.__getattr__
17:07 camelia rakudo-moar bdd472: OUTPUT: «hi␤»
17:08 nine m: use Inline::Python; my $py = Inline::Python.new; $py.call("__builtin__", "getattr", "a", "title")
17:08 camelia rakudo-moar bdd472: OUTPUT: «===SORRY!===␤Could not find Inline::Python at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUn…»
17:08 nine err... moritz: use Inline::Python; my $py = Inline::Python.new; $py.call("__builtin__", "getattr", "a", "title")
17:10 nine moritz: or submit a PR exposing the py_getattr sub as a getattr method on the Inline::Python object :)
17:15 naxieAlDle timotimo: that's pretty cool!
17:20 skids joined #perl6
17:24 g-k--1-w-m--s-u- joined #perl6
17:25 laouji joined #perl6
17:25 moritz nine: might do
17:27 llfourn joined #perl6
17:34 timotimo naxieAlDle: isn't unicode fun.
17:35 naxieAlDle well, this particular one makes sense
17:35 naxieAlDle except for the name, of course…
17:35 timotimo so, er, what is it good for again?
17:36 timotimo it's for when you want to have two strings that look the same but don't eq?
17:36 naxieAlDle if you don't want stuff to be normalized
17:36 naxieAlDle or that, yes :DDDD
17:36 naxieAlDle I didn't think about it this way :DD
17:36 timotimo not only look the same
17:36 timotimo but also each grapheme is composed of the same combiners each time
17:38 naxieAlDle sooo, if you simply change the order of your combiners, then this character will also prevent them from being reordered
17:38 naxieAlDle amazing stuff
17:39 naxieAlDle m: say ‘a͏̈’.chars
17:39 camelia rakudo-moar bdd472: OUTPUT: «1␤»
17:39 naxieAlDle m: say ‘a͏̈’
17:39 camelia rakudo-moar bdd472: OUTPUT: «a͏̈␤»
17:40 naxieAlDle we already support it?
17:41 naxieAlDle m: say ‘ä͏’
17:41 camelia rakudo-moar bdd472: OUTPUT: «ä͏␤»
17:41 naxieAlDle m: say ‘ä͏’.chars
17:41 camelia rakudo-moar bdd472: OUTPUT: «1␤»
17:41 naxieAlDle mhm
17:42 naxieAlDle m: say “\c[CGJ]”.uniname
17:42 camelia rakudo-moar bdd472: OUTPUT: «COMBINING GRAPHEME JOINER␤»
17:44 MasterDuke IOninja, naxieAlDle: https://rt.perl.org/Ticket/Display.html?id=130924 seems related to https://rt.perl.org/Ticket/Display.html?id=127971 and https://rt.perl.org/Ticket/Display.html?id=127973
18:14 cibs joined #perl6
18:17 IOninja ugh... stupid game. Killed off one of the most lovable characters :(  Now I'm sad.
18:18 tadzik which game?
18:19 IOninja Witcher 3
18:19 pmurias joined #perl6
18:19 pmurias timotimo: isn't pygame good in it's niche of having a well documented way to make a (toy) 2d game?
18:21 drbojingle_ joined #perl6
18:22 espadrine joined #perl6
18:22 IOninja MasterDuke: yes, merged 130924 into 127971. But 127973 doesn't really look like a bug, if native `str` don't use the rope thing. If you do nqp::indexingoptimized($a).chars to flatten the ropes first, it's slow AF too.
18:23 timotimo pmurias: it's ... all right i guess
18:26 llfourn joined #perl6
18:32 laouji joined #perl6
18:37 pmurias timotimo: anything better in it's niche?
18:42 j75 Any reason why this code takes 30 seconds to run? I would expect it to take about 10 seconds. perl6 -e 'my @promises ; for ^100 { @promises.push: start { sleep (^10).pick } } ; await(@promises) '
18:42 j75 Rakudo version 2017.02-157-g4707360 built on MoarVM version 2017.02-18-g5f9d698
18:42 lizmat j75: the default is a max of 32 threads
18:43 lizmat when you start something, it is merely pushed onto a queue for processing when a thread becomes available
18:43 IOninja Default is 16.
18:43 lizmat use v6.d.PREVIEW might make this run faster
18:44 lizmat IOninja: ah, ok  :-)
18:44 IOninja https://github.com/rakudo/rakudo/blob/nom/src/core/ThreadPoolScheduler.pm#L195
18:44 lizmat as in v6.d.PREVIEW a sleep doesn't block a thread (if I remember correctly)
18:48 j75 thanks!
18:48 BenGoldberg joined #perl6
18:57 jnthn In 6.d sleep is still the real sleep
18:57 jnthn So will block a real thread
18:57 jnthn For non-blocking, you'd do `await Promise.in(10)`
18:58 MasterDuke heh, and i bet optimizing `Int :$!max_threads = (%*ENV<RAKUDO_MAX_THREADS> // 16).Int` to `Int :$!max_threads = (%*ENV<RAKUDO_MAX_THREADS>.?Int // 16)` will make it run even faster!
18:58 * IOninja doesn't follow the optimization
18:59 IOninja m: dd %*ENV<RAKUDO_MAX_THREADS>
18:59 camelia rakudo-moar bdd472: OUTPUT: «Any %ENV = Any␤»
18:59 IOninja m: dd %*ENV<RAKUDO_MAX_THREADS>.^lookup('Int')
18:59 camelia rakudo-moar bdd472: OUTPUT: «Mu␤»
18:59 IOninja m: dd %*ENV<RAKUDO_MAX_THREADS>.Int
18:59 camelia rakudo-moar bdd472: OUTPUT: «No such method 'Int' for invocant of type 'Any'␤  in block <unit> at <tmp> line 1␤␤»
18:59 IOninja nevermind
19:00 MasterDuke i was being facetious, but meant saving calling `16.Int`
19:00 IOninja It's slower too
19:00 lizmat jnthn: how about adding a :dontblock to sleep() ?
19:01 jnthn lizmat: Eww
19:01 lizmat or simply make sleep not block at all ?
19:01 jnthn lizmat: I'd rather sleep continues to mean what it traditionally has
19:01 lizmat but Perl 6 is not traditional, especially in that respect  :-)
19:02 jnthn That's not really true. We provide high-level things and low-level things for when people need them.
19:03 lizmat perhaps we need a rem-sleep()  :-)
19:04 lizmat await Promise.in(10) seems poorly huffmann coded as an alternative to sleep(10) looking towards the future
19:04 jnthn Or we could just use the thing that already works fine? :)
19:06 timotimo pmurias: not sure. would you consider love2d to be in that niche at all?
19:19 Geth ¦ doc: 180aaeb300 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
19:19 Geth ¦ doc: Docs for ≤ ≥ ≠ unicode ops
19:19 Geth ¦ doc: review: https://github.com/perl6/doc/commit/180aaeb300
19:19 naxieAlDle “AlexDaniel committed with AlexDaniel” pfffffft
19:19 naxieAlDle e: say 5 ≤ 10
19:19 evalable6 naxieAlDle, rakudo-moar 4bc826da3: OUTPUT: «True»
19:23 moritz jnthn, lizmat: have you considered a delay() function which is basically a non-blocking sleep?
19:24 moritz the Perl way is to have separate names for separate operations after all
19:25 lizmat delay would work for me
19:25 lizmat I actually worked a long time in a programming language where sleep was called delay  :-)
19:25 lizmat so I should have thought of that
19:26 jnthn Does it happen often enough to huffmanize it?
19:27 llfourn joined #perl6
19:32 moritz does sleep happen often enough to huffmanize it?
19:32 moritz Thread.delay(5) # better?
19:33 IOninja Promise.in: 5
19:33 lizmat await Promise.in(5)
19:33 lizmat you need the await
19:33 moritz IOninja: but it won't work as the last statement
19:33 moritz because that might not be in sink context, so no auto-await
19:34 moritz so it's kind of a dangerous pattern
19:34 BenGoldberg sink Promise.in: 5?
19:34 BenGoldberg . o O (sink is one fewer char than await)
19:34 IOninja What's "huffman coded"? The wiki talks about some sort of encoding:/
19:35 BenGoldberg Huffman coded is perlspeak for commonly used functions having shorter names.
19:35 lizmat things you use more often should be shorter
19:35 IOninja Ah
19:35 Cabanossi joined #perl6
19:36 Ven joined #perl6
19:36 BenGoldberg m: wait;
19:36 camelia rakudo-moar 4bc826: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    wait used at line 1. Did you mean 'await'?␤␤»
19:37 BenGoldberg . o O (wait 5)
19:37 lizmat I guess that semantically close enough to await
19:37 lizmat perhaps "await 5"
19:37 lizmat as short for "await Promise.in(5)" ?
19:39 jnthn It's also been proposed that non-awaitable things that are awaited would just be passed through, fwiw
19:40 lizmat m: await 5
19:40 camelia rakudo-moar 4bc826: OUTPUT: «Must specify a Promise, Channel, or Supply to await on (got a Int)␤  in block <unit> at <tmp> line 1␤␤»
19:40 BenGoldberg That would be confusing, if something changed from non-awaitable to awaitable (like 5)
19:40 lizmat it currently doesn't get passed along
19:40 jnthn I know that
19:40 jnthn I'm saying it's been proposed :)
19:40 jnthn m: use v6.d.PREVIEW; await 5
19:40 camelia rakudo-moar 4bc826: OUTPUT: «Must specify an Awaitable to await (got a Int)␤  in block <unit> at <tmp> line 1␤␤»
19:40 jnthn Notice how the error is differnt in 6.d
19:40 jnthn Because we now have made it "anything that does the Awaitable role"
19:41 IOninja m: sub prefix:<⏲> { await Promise.new: $^a }; ⏲5; say now - INIT now;
19:41 camelia rakudo-moar 4bc826: OUTPUT: «Default constructor for 'Promise' only takes named arguments␤  in sub prefix:<⏲> at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
19:41 lizmat m: use v6.d.PREVIEW; await 5 but Awaitable
19:41 camelia rakudo-moar 4bc826: OUTPUT: «Method 'get-await-handle' must be implemented by Int+{Awaitable} because it is required by roles: Awaitable.␤  in block <unit> at <tmp> line 1␤␤»
19:41 IOninja m: sub prefix:<⏲> { await Promise.in: $^a }; ⏲5; say now - INIT now;
19:41 camelia rakudo-moar 4bc826: OUTPUT: «5.00847205␤»
19:41 IOninja hehe, cool
19:41 BenGoldberg How much code depends on sleep() doing an actual low-level sleep, and blocking the thread instead of scheduling it for later?
19:42 BenGoldberg I.e., what would break?
19:42 lizmat .u ⏲
19:42 yoleaux U+23F2 TIMER CLOCK [So] (⏲)
19:42 BenGoldberg .u clock
19:42 yoleaux U+20D5 COMBINING CLOCKWISE ARROW ABOVE [Mn] (◌⃕)
19:42 yoleaux U+20D9 COMBINING CLOCKWISE RING OVERLAY [Mn] (◌⃙)
19:42 yoleaux U+21B7 CLOCKWISE TOP SEMICIRCLE ARROW [So] (↷)
19:42 tbrowder ugexe: i'm trying to create a module release with the preferred info in the META6.json file, and can't seem to find the proper pointer to the META6.json file in the release to enter in the ecosystem.  Can you tell me how to find it?  Also, i want to show both release urls: zip and tar.gz. that seems to pass the META6.json test. What.
19:42 lizmat BenGoldberg: my feeling is that it would probably unbreak a lot of things  :-)
19:42 felher joined #perl6
19:43 tbrowder do you think about the desirability of showing both?
19:44 BenGoldberg sleep($n, :block-thread) for the current behavior?
19:44 jnthn It'd put sleep into the category of things where you don't know what thread you're going to be on after it
19:44 BenGoldberg Ahh, so that's the problem.
19:44 naxieAlDle u: clock
19:44 unicodable6 naxieAlDle, U+20D4 COMBINING ANTICLOCKWISE ARROW ABOVE [Mn] (◌⃔)
19:44 unicodable6 naxieAlDle, U+20D5 COMBINING CLOCKWISE ARROW ABOVE [Mn] (◌⃕)
19:44 unicodable6 naxieAlDle, 64 characters in total: https://gist.github.com/5abdd8f19be98b8abb55331ab4d8034a
19:46 jnthn Which doesn't matter for *most* code
19:47 ugexe tbrowder: while looking at your META6.json file on github go to "history" and choose the top (most recent) item. that will reopen it using its hash-id, and from that page you just click 'view raw'. That will be the raw view of that specific commit meta6.json file
19:47 jnthn I'm just a bit wary about changing the semantics of something that has well-understood ones, is all.
19:47 BenGoldberg . o O (sleep($n, :no-context-switch))
19:48 tbrowder ugexe: thanks!
19:49 ugexe there is no mechanism for using multiple source urls yet
19:49 BenGoldberg u: ' ' clock ' '
19:49 unicodable6 BenGoldberg, U+0027 APOSTROPHE [Po] (')
19:49 unicodable6 BenGoldberg, U+0020 SPACE [Zs] ( )
19:49 unicodable6 BenGoldberg, 13 characters in total: https://gist.github.com/a8a929ee1831d4b5a4653bad73b120b9
19:49 BenGoldberg u: /' ' clock ' '/
19:49 unicodable6 BenGoldberg, Regexes are not supported yet, sorry! Try code blocks instead
19:49 nadim timotimo: thanks for the answer
19:50 BenGoldberg u: { .index: " CLOCK " }
19:50 unicodable6 BenGoldberg, Found nothing!
19:50 BenGoldberg u: { .uniname.index: " CLOCK " }
19:50 unicodable6 BenGoldberg, Found nothing!
19:51 BenGoldberg u: { .uniname.ends-with: " CLOCK" }
19:51 unicodable6 BenGoldberg, U+23F0 ALARM CLOCK [So] (⏰)
19:51 unicodable6 BenGoldberg, U+1F570 MANTELPIECE CLOCK [So] (🕰)
19:51 unicodable6 BenGoldberg, U+23F2 TIMER CLOCK [So] (⏲)
19:51 ugexe the nice thing about using .zip is that windows has support to unzip archives built into powershell / .net
19:55 ugexe so if someone replaced all the .git links in the ecosystem with their .zip links on github zef on windows could fetch/extract/test/install without git out of the box
19:56 ugexe we should probably be linking to our .tar.gz/.zip anyway though. the only reason not to is because panda doesnt understand non-git sources
19:57 timotimo nadim: i don't remember what i answered you about? :o
20:00 nadim timotimo: thank you ... because moritz did answer :)
20:00 timotimo oh
20:00 nadim I have this code: { $m.sort(*.key)>>.kv.map: -> ($k, $v) {$k, ' => ', $v} }
20:01 nadim now I want to grep out some of the elements out. Can I do that in a nifty way?
20:01 moritz m: say (:a, :b, :c)>>.kv.perl
20:01 camelia rakudo-moar f11752: OUTPUT: «(("a", Bool::True), ("b", Bool::True), ("c", Bool::True))␤»
20:02 moritz m: say (:a, :b, :c)>>.kv.map(-> ($k, $v) {$k, ' => ', $v }).perl
20:02 camelia rakudo-moar f11752: OUTPUT: «(("a", " => ", Bool::True), ("b", " => ", Bool::True), ("c", " => ", Bool::True)).Seq␤»
20:02 moritz m: say (:a, :b, :c)>>.kv.map(-> ($k, $v) {$k, ' => ', $v }).grep(*[0] ne 'a').perl
20:02 camelia rakudo-moar f11752: OUTPUT: «(("b", " => ", Bool::True), ("c", " => ", Bool::True)).Seq␤»
20:02 moritz nadim: ^^ like that?
20:05 nadim great!
20:08 nadim is argument parsing (there was another name)  in the form of ->($, $v) passed as part of the block?
20:08 IOninja unpacking
20:08 IOninja It's a signature on the block, so yes, it's passed
20:09 IOninja m: -> ($, $v) { &?BLOCK.signature.say }($, $)
20:09 camelia rakudo-moar f11752: OUTPUT: «Too few positionals passed; expected 2 arguments but got 0 in sub-signature␤  in block <unit> at <tmp> line 1␤␤»
20:09 nadim right, unpacking.
20:09 IOninja m: -> ($, $v) { &?BLOCK.signature.say }([$, $])
20:09 camelia rakudo-moar f11752: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of $] variable; in Perl 6 please use $*PERL.version or $*PERL.compiler.version␤at <tmp>:1␤------> 3($, $v) { &?BLOCK.signature.say }([$, $]7⏏5)␤»
20:09 IOninja *sigh*
20:09 IOninja m: -> ($, $v) { &?BLOCK.signature.say }([ $, $ ])
20:09 camelia rakudo-moar f11752: OUTPUT: «($ ($, $v))␤»
20:09 moritz nine: fwiw I get the impression that Inline::Python introduces unnecessary scalar containers; for example if I return a json-decoded data structure, I get { foo => ($[list elements]) }
20:09 moritz sounds like a pre-GLR relict
20:10 moritz and it means I can't iterate over %result<foo>, but have to write %result<foo>.list
20:17 nadim Any onw knows where types Data and Test are defined?
20:17 nadim I have this code: multi method get_elements (Stash $s) { $s.sort(*.key)>>.kv.map(-> ($k, $v) {$k, ' => ', $v}).grep{ *[2] !~~ Data && *[2] !~~ Test}}
20:17 nadim but it won't compile as those types are not defined in the compilation context
20:18 moritz nadim: there can be arbitrary types in any scope you introspect
20:19 nadim OK, but I don't get the point.
20:20 lizmat nadim: perhaps grep on ^name eq 'Data' ?
20:21 moritz nadim: what are you actually trying to accomplish?
20:22 nadim moritz: the method gets called when a Stash is dumped. I want to remove the Data and Test entries as they crash the dumper
20:22 nadim but the ^name is a good idea
20:25 moritz nadim: but that will happen for any lexically defined types
20:25 TEttinger joined #perl6
20:25 moritz do { my class A { }; dump A }
20:25 moritz or something like that
20:26 moritz maybe you want to instead whitelist names by whether they are available?
20:26 moritz you can a dynamic lookup with ::($name)
20:26 moritz m: say ::('nosuchname')
20:26 camelia rakudo-moar f11752: OUTPUT: «No such symbol 'nosuchname'␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
20:27 moritz ... and use exception handle to cover the case where a name isn't available
20:27 moritz blacklisting just two names that happen to occur in your test ignores the wider problem
20:27 nadim Indeed, but the method would be added by the user. in this case I am adding metlhods in the dumper to handle P6 types. user defined types handler are added elsewhere
20:27 nine moritz: could you file that as a bug please?
20:28 moritz nine: will do, I'll try to find a minimal example first
20:28 llfourn joined #perl6
20:29 nadim moritz: hmm, I wasn
20:30 nadim moritz: hmm, I wasnt very clear. the method I am adding now it to handle a specific type that is part of P6. For user defined types, the user can define handlers and those are either defined in the user type or in a method declared when the type is in scope
20:30 dct joined #perl6
20:31 Sound joined #perl6
20:33 lichtkind joined #perl6
20:33 moritz nadim: blacklisting still seems a rather fragile approach
20:34 nadim maybe but it is type specific, Stash, and element specific.
20:36 nadim otherwise i get a:too many positionals passed, 3 expecting 2. I have no idea where the 3rd argument comes from, the code passes one.
20:36 moritz I'm trying to understand this argument. You mean that since it's type specific, fragility is OK?
20:37 nadim you said it was fragile. I say it is not. this is applied randomly and on all types. It handles one specific case.
20:37 nadim I'd prefer be able to dump Data and Test but the error is mystic at best.
20:38 moritz then I haven't seen the argument yet for it being not fragile
20:38 nadim the other way I have to handle it, I have multiple ways, is to handle Data and Test specificaly rather than Stash
20:38 moritz but well, it#s your code
20:39 nadim haven't seen an argument for not being fragile ... is a fragile argument. But I am open to other ideas of course.
20:39 nadim Right now it is not working, so it is certainly fragile altogether for Stashes
20:41 nadim BTW, it doesn't have to be black listed, the code can transform the non dumpable Data/Test into something else if necessary. Trying to have it run first, polishing comes later
20:42 moritz Data and Test come from code outside of your control, it seems
20:42 nadim Yes it does
20:43 moritz nobody gives you any gurantuees that there won't be more symbols like that in future versions
20:43 nadim P6 types or internals
20:43 moritz that makes blacklisting fragile
20:43 moritz </argument>
20:43 nadim Indeed
20:44 nadim moritz: : how something like $.my_method($e) generate error: too many positionals is what is makes me pull my hair
20:44 nadim works for other types but not Data and Test
20:48 moritz have you tried it with --ll-exception ?
20:48 lichtkind_ joined #perl6
20:49 nadim don't know what that is. I have been away from all development for months now, particularely P6, don't remember all the vocabulary either. I guess it will take some time to get back to speed, whatever speed I gathered.
20:50 nadim foound the doc, willl try
20:51 naxieAlDle m: say 5 ≤ 8 ≤ 10 # nobody is celebrating? :o
20:51 camelia rakudo-moar 9019a5: OUTPUT: «True␤»
20:54 Geth ¦ ecosystem: 7ojo++ created pull request #303: Add Powerline::Prompt to ecosystem
20:54 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/pull/303
20:55 Geth ¦ ecosystem: e3612a70c1 | (Jarkko Haapalainen)++ | META.list
20:55 Geth ¦ ecosystem: Add Powerline::Prompt to ecosystem
20:55 Geth ¦ ecosystem:
20:55 Geth ¦ ecosystem: See https://github.com/7ojo/perl6-powerline-prompt
20:55 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/e3612a70c1
20:55 Geth ¦ ecosystem: 2e74da6509 | Altai-man++ | META.list
20:55 Geth ¦ ecosystem: Merge pull request #303 from 7ojo/patch-1
20:55 Geth ¦ ecosystem:
20:55 Geth ¦ ecosystem: Add Powerline::Prompt to ecosystem
20:55 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/2e74da6509
21:09 hankache joined #perl6
21:09 robertle I am a bit confused: I am starting to write an app, essentially a big networking monkey. so lots of outgoing and incoming sockets, timeouts etc
21:10 robertle as I said lots at the same time, so I want to use IO::socket::async
21:10 robertle now events on these come in on various threads, right? so to make this safe when modifying internal state as a reaction to an internal event I still need to use locks?
21:11 robertle I thought the whole plan was to not use locks anymore?
21:12 jnthn Locks are usually a last resort
21:12 jnthn Well, direct use of them, anyway
21:12 jnthn Depending on the scope of the state, use supply/react and whenever blocks
21:12 hankache hello #perl6
21:12 robertle ok, looking into react/whenever some more, don't really understand that yet
21:13 robertle but also, if async events come in on threads from a pool? why is HTTP::Server::Async doing "start" and then handling stuff there? wouldn' it be more natural to simply call the handler on the IO thread when you have the request?
21:13 jnthn It's a concurrency control and subscription management construct primarily for working with supplies.
21:15 jnthn In a web server you'd typically want to just do the concurrency control per connection, so maybe it's something to do with that
21:15 jnthn Though there's ways of handling that without start too, but it depends on the overall code design
21:16 jnthn If you have something like: react { whenever IO::Socket::Async.listen(...) -> $conn { whenever $conn { say "got a packet" } } }
21:17 jnthn Then essentially you serialize everything for all connections
21:17 jnthn Depending on what you're doing, that may be a good option for you
21:17 jnthn Since you can't get into any kind of concurrency trouble then
21:18 jnthn At the same time, if there's any significant computation to do, then you might bottleneck on it
21:18 robertle but the supply itself doesn't do anything with trheads, right? the tap just gets run on whoever calls emit?
21:18 jnthn Indeed
21:19 jnthn A react block only allows a single thread to be inside of a given instance of it *at a time*
21:19 jnthn But it doesn't care if the first message is delivered on thread 2, the second on thread 3, etc.
21:20 robertle ok, that is what i wanted to do wiuth the lock :)
21:20 robertle sweet
21:21 jnthn Also worth noting that if you do something like
21:21 * IOninja grumbles
21:21 IOninja naxieAlDle: some do, apparently: https://twitter.com/mschatweet/status/838490367179833344
21:21 jnthn whenever $conn { ..blah...; my $promise = start { some-long-running-operation }; await $promise; } }
21:22 jnthn Then it won't let stuff happen inside the react block untl the long-running operation is done
21:22 jnthn But if you wrote `whenever $promise -> $result { }` or so, it means that you don't mind if other stuff happens inbetween
21:24 zengargoyle joined #perl6
21:25 naxieAlDle well, 3½ is not going to fly any time soon, and √∛∜ are definitely not the highest priority. But you can always wish :P
21:25 cibs joined #perl6
21:26 hankache m: say 3½
21:26 camelia rakudo-moar 9019a5: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Bogus postfix␤at <tmp>:1␤------> 3say 37⏏5½␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤        state…»
21:26 bjz joined #perl6
21:27 hankache m: say 2 + ⅒
21:27 camelia rakudo-moar 9019a5: OUTPUT: «2.1␤»
21:27 naxieAlDle yes, just stick a + in between, as simple as that :P
21:27 hankache :)
21:27 naxieAlDle just like we don't allow 2$x
21:28 naxieAlDle or 2x even
21:28 * jnthn bbl
21:28 hankache m: say 3+½ == 3.5
21:28 camelia rakudo-moar 9019a5: OUTPUT: «True␤»
21:28 zengargoyle it is '3 and ½'
21:28 * IOninja wonders how long it will take before people will be whining about √-1² producing "unexpected" results.
21:28 zengargoyle not 'three one-half'
21:28 awwaiid Y'all should come to TPC-2017-DC (YAPC::NA 2017)! CFP is still open for a bit, http://www.perlconference.us/tpc-2017-dc/cfp/
21:29 IOninja Pfft. Yeah, come and get stuck in the country. No thanks :)
21:29 awwaiid If you can get in I'm pretty sure you can get back out
21:29 naxieAlDle IOninja: o, that's a good one :P
21:30 IOninja Not worth the risk with current administration.
21:31 naxieAlDle m: say False nand False
21:31 camelia rakudo-moar 9019a5: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say False7⏏5 nand False␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifi…»
21:32 llfourn joined #perl6
21:32 awwaiid I'm sad that that is such a huge factor on people's minds. I had a co-worker in Canada who didn't want to come to our office around the election time for that overall reason. On the one hand I don't think it's a realistic risk for most people. On the other ... I'm not the one taking even that miniscule risk so don't feel like I'm in a good position to evaluate.
21:33 IOninja I've seen a cancelled conf fly by on Twitter for the exact same reason...
21:33 awwaiid Well for anyone willing to take the risk (even domestic!), I very much look forward to an IRL interaction!
21:33 IOninja :)
21:34 naxieAlDle wtf is going on there?
21:34 IOninja Where?
21:35 hankache across the pond
21:35 IOninja Which pond?
21:36 naxieAlDle Atlantic Pond
21:36 hankache atlantic ocean
21:36 IOninja So... the where is UK? :)
21:38 girafe joined #perl6
21:39 zengargoyle a fucked up electoral system left over from 200 years ago that allows a winner who doesn't hold the majority of the popular vote.
21:39 hankache what's an election?
21:40 hankache :)
21:43 zengargoyle an attempt to balance densely populated areas vs sparsely populated areas from a time when news and communication traveled slowly
21:45 zengargoyle each area gets votes based both on population and votes based on just being a distinct area.  in the edge case the total vote can go to the person with the least popular support.
21:46 IOninja But that's not the real reason for electors.
21:46 zengargoyle for the rest, wikipedia is probably better explainer.
21:46 IOninja There's nothing "fucked up" about ensuring your country doesn't always get run by how California and New York what it run.
21:47 naxieAlDle zengargoyle: well, 2% difference doesn't sound like a good reason to complain
21:48 naxieAlDle what “popular vote” is it if roughly the same amount of people voted for another candidate…
21:49 zengargoyle when more voted for the looser but the winner still won.
21:50 lizmat joined #perl6
21:51 zengargoyle anyhow, politics is probably better somewhere else.
21:58 zengargoyle see also: https://www.washingtonpost.com/news/wonk/wp/2015/03/01/this-is-the-best-explanation-of-gerrymandering-you-will-ever-see/   this is how the system is gemed on the state level.  pretty easy to have a blue majority but have red win the election.
21:58 bpmedley joined #perl6
21:59 tbrowder ugexe: ok, i'll just use the zip. also, is naming releases "v1.2.3" ok, or should it be "1.2.3"?
22:01 dct joined #perl6
22:02 ugexe i dont think it matters what you name them on github
22:05 tbrowder i was thinkink about how zef interprets the info to get a release verssion
22:15 tbrowder ugexe: is the definitive version inside the META6.json or not? and is it critical to have the github release version number the same as that in the META6.json? excuse my perhaps dumb questions but i want to get it entirely correct so i can put a recipe for adding github modules to the current ecosystem somewhere.
22:16 zengargoyle tbrowder: i think zef/panda get version info from the META6.json so look at others for guidance.
22:16 zengargoyle nm :)
22:17 tbrowder well at the moment it isn't so standard for entries in the modules list, hence the questions
22:18 ugexe it always comes from inside the META6.json, because thats what CUR uses
22:18 wamba joined #perl6
22:19 ugexe so you should name your things reflecting the version inside META6.json file
22:19 Ven joined #perl6
22:22 tbrowder makes sense--thanks
22:30 zengargoyle ugexe: how does that match with the :ver<???> inside any modules?
22:33 geekosaur joined #perl6
22:33 llfourn joined #perl6
22:36 ugexe CUR has no concept of ver outside of whats in META6.json
22:39 Ven joined #perl6
22:42 zengargoyle so, inside my module the 'unit class Algorithm::Trie::libdatrie:ver<v0.2>:auth<github:zengargoyle>;' doesn't really do anything and only the META6.json "version" : "0.2" and "auth" : "github:zengargoyle" actually count for anything at the moment at least.
22:44 zengargoyle or maybe later for automated tools that create META6.json from files ala dzil...
22:44 Voldenet joined #perl6
22:44 Voldenet joined #perl6
22:49 ZzZombo joined #perl6
22:51 ZzZombo_ joined #perl6
22:52 llfourn joined #perl6
22:55 kurahaupo__ joined #perl6
22:56 kurahaupo__ joined #perl6
22:58 ZzZombo_ joined #perl6
23:06 lichtkind_ yay finally panda works
23:23 dct joined #perl6
23:44 kurahaupo__ joined #perl6
23:49 spebern joined #perl6

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

Perl 6 | Reference Documentation | Rakudo