»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
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 | {} | ||
SmokeMachine | star: | 00:03 | |
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! | |||
camelia | {} | ||
IOninja | You have a typo in starts with | 00:04 | |
00:05
naxieAlDle joined
|
|||
SmokeMachine | And I didn't load anything... | 00:06 | |
00:11
telex left
00:12
telex joined
00:17
risou is now known as risou_awy
|
|||
SmokeMachine | star: use Pod::To::HTML; say % = $*REPO.repo-chain.flatmap(*.loaded>>.Str).grep(*.starts-with: "Pod").map({::($_)}).map: {.^name => $_} | 00:17 | |
camelia | {Pod::To::HTML => (HTML)} | ||
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 | {Pod::To::HTML => (HTML), Pod::To::Text => (Text)} | ||
naxieAlDle | BenGoldberg: lost my internet connection for a while, so couldn't answer | ||
BenGoldberg: for some reason it stringifies every element | |||
m: constant h = %(<a 1 b 2>); enum E (h); say E.enums | 00:28 | ||
camelia | Map.new(("a\t1\nb\t2" => 0)) | ||
naxieAlDle | m: constant h = %(<a 1 b 2>); enum E (|h); say E.enums | 00:29 | |
camelia | Map.new(("a\t1" => 0,"b\t2" => 1)) | ||
00:29
llfourn left
|
|||
naxieAlDle | BenGoldberg: maybe it should work, I don't know | 00:31 | |
BenGoldberg | Is that a rakudobug? | ||
naxieAlDle | possibly | 00:32 | |
BenGoldberg: so yes, submit a ticket and we'll see what happens then :) | 00:34 | ||
00:34
llfourn joined
00:36
espadrine left
00:38
bjz left
00:50
obfusk left,
obfusk joined
00:51
laouji joined
00:52
Sound joined
00:55
laouji left
00:56
irobotnot left
00:59
khw joined
|
|||
BenGoldberg | m: enum Nums (qw,zero one two,); sub foo(-->Int) { two }; say foo; | 01:03 | |
camelia | two | ||
BenGoldberg | m: enum Nums (qw,zero one two,); sub foo(-->int) { two }; say foo; | ||
camelia | 2 | ||
BenGoldberg | m: enum Nums (qw,zero one two,); sub foo(-->Str) { two }; say foo; | ||
camelia | 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 |
||
BenGoldberg | m: enum Nums (qw,zero one two,); sub foo(-->Str()) { two }; say foo; | ||
camelia | two | ||
01:03
madochan joined,
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
cdg left
01:07
cdg joined
01:12
cdg left
01:14
aborazmeh left
01:18
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:21
telex left
01:23
lukaramu_ left
01:39
Ven joined
01:52
laouji joined
01:57
laouji left
01:58
risou_awy is now known as risou
02:02
aborazmeh left
02:08
cdg joined
02:13
cdg left,
user__ joined
02:14
Ven left
|
|||
labster | m: say True ⁇ "foo" ‼️ "bar"; | 02:14 | |
camelia | 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 |
||
labster | no emoji operators? c'mon guys :P | 02:15 | |
02:16
Ven joined
|
|||
SmokeMachine | m: say True ⁇ "foo" ‼️ "bar"; | 02:16 | |
camelia | 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:16
risou is now known as risou_awy
02:17
cibs left,
kalkin- left
|
|||
SmokeMachine | m: say True ⁇ "OK" ‼ "NOK" | 02:18 | |
camelia | OK | ||
02:19
cibs joined
|
|||
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:19
madochan left
|
|||
SmokeMachine | labster: that was done this week... | 02:20 | |
labster | Oh duh, I forgot to pull before rebuilding rakudo! | 02:21 | |
02:22
Sound left
|
|||
SmokeMachine | :P | 02:23 | |
u: ‼️ | 02:27 | ||
unicodable6 | SmokeMachine, U+203C DOUBLE EXCLAMATION MARK [Po] (‼) | ||
SmokeMachine, U+FE0F VARIATION SELECTOR-16 [Mn] (◌️) | |||
02:27
Ven left
|
|||
SmokeMachine | u: double interrogation mark | 02:30 | |
unicodable6 | SmokeMachine, Found nothing! | ||
02:31
bjz joined
|
|||
SmokeMachine | u: double interrogation | 02:31 | |
unicodable6 | SmokeMachine, Found nothing! | ||
SmokeMachine | u: double | ||
unicodable6 | SmokeMachine, U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK [Pi] («) | ||
SmokeMachine, U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK [Pf] (») | |||
02:31
Ven joined
|
|||
unicodable6 | SmokeMachine, 438 characters in total: gist.github.com/5b903ccc52c5f3dcbf...c1579c0434 | 02:31 | |
SmokeMachine | u: double question mark | 02:32 | |
unicodable6 | SmokeMachine, U+2047 DOUBLE QUESTION MARK [Po] (⁇) | ||
SmokeMachine | m: 'm: say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.EVAL | 02:33 | |
camelia | 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… |
||
BenGoldberg | m: 'm: say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.say | ||
camelia | m: say True \c[double question mark] "OK" \c[double exclamation mark] "NOK" | ||
SmokeMachine | m: 'say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.EVAL | ||
camelia | 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 … |
||
SmokeMachine | m: qq'say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.EVAL | 02:34 | |
camelia | 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 … |
||
SmokeMachine | m: qq'say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.say | ||
camelia | 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 … |
||
BenGoldberg | m: "say True \c[double question mark] 'OK' \c[double exclamation mark] 'NOK'".say | ||
camelia | say True ⁇ 'OK' ‼ 'NOK' | ||
BenGoldberg | m: "say True \c[double question mark] 'OK' \c[double exclamation mark] 'NOK'".EVAL.say | ||
camelia | OK True |
||
SmokeMachine | BenGoldberg: thanks! | 02:35 | |
BenGoldberg | Welcome | ||
02:35
dct left
|
|||
SmokeMachine | I didn't get why the qq version didn't work... | 02:36 | |
BenGoldberg | m: qq''.say; | ||
camelia | |||
BenGoldberg | m: qq'\n'.say; | ||
camelia | |||
BenGoldberg | m: qq'say True'.say; | ||
camelia | 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… |
||
SmokeMachine | m: qq|say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"|.say | 02:37 | |
camelia | say True ⁇ "OK" ‼ "NOK" | ||
BenGoldberg | m: qq!say True!.say; | ||
camelia | say True | ||
SmokeMachine | Is that a bug? Isn't qq working well with '? | ||
m: qq'True' | 02:38 | ||
camelia | 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… |
||
SmokeMachine | m: qq/True/ | ||
camelia | WARNINGS for <tmp>: Useless use of constant string "True" in sink context (line 1) |
||
SmokeMachine | m: say qq"True" | 02:39 | |
camelia | True | ||
SmokeMachine | 23:37 <SmokeMachine> m: qq|say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"|.EVAL | 02:40 | |
m: qq|say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"|.EVAL | |||
camelia | OK | ||
02:40
bjz left
|
|||
SmokeMachine | m: say qq'' | 02:41 | |
camelia | |||
SmokeMachine | m: say qq'a' | ||
camelia | 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 … |
||
SmokeMachine | rakudobug? | 02:42 | |
ilbelkyr | m: sub qq'x () { 42 }; say qq'x | ||
camelia | 42 | ||
SmokeMachine | Hum! | 02:43 | |
Ok... | |||
m: say qq ' bla ' | 02:44 | ||
camelia | bla | ||
SmokeMachine | m: say qq 'bla' | ||
camelia | bla | ||
02:45
bjz joined
|
|||
naxieAlDle | SmokeMachine: by the way, why ⁇‼ in particular? | 02:45 | |
like, why not something else? | |||
SmokeMachine | m: qq 'say True \c[double question mark] "OK" \c[double exclamation mark] "NOK"'.say | 02:46 | |
camelia | say True ⁇ "OK" ‼ "NOK" | ||
02:46
ilbot3 left
|
|||
SmokeMachine | naxieAlDle: what do you mean? | 02:46 | |
Those nicks are getting complex... | 02:47 | ||
02:47
imcsk8 left
|
|||
naxieAlDle | SmokeMachine: wasn't it you who implemented ⁇‼ ? | 02:47 | |
02:47
ilbot3 joined,
ChanServ sets mode: +v ilbot3
|
|||
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,
ZzZombo left
02:49
ZzZombo joined
|
|||
SmokeMachine | I thought that was too much coincidence both parts of the operator exist as Unicode char to do not do that! | 02:50 | |
naxieAlDle: ^^ | |||
naxieAlDle: and that will help on golf... | 02:51 | ||
02:53
user__ left
|
|||
naxieAlDle | SmokeMachine: how so? | 02:54 | |
most golf tasks only care about bytes | |||
?? is two bytes | |||
u: ‘⁇’.encode.elems.say | |||
unicodable6 | naxieAlDle, U+2018 LEFT SINGLE QUOTATION MARK [Pi] (‘) | ||
naxieAlDle, U+2047 DOUBLE QUESTION MARK [Po] (⁇) | |||
naxieAlDle, 20 characters in total: gist.github.com/7fe9640cd507887483...b5504563ed | |||
naxieAlDle | m: ‘⁇’.encode.elems.say | ||
camelia | 3 | ||
naxieAlDle | ⁇ is 3 | ||
m: ‘⁇‼’.encode.elems.say | |||
camelia | 6 | ||
naxieAlDle | m: ‘??!!’.encode.elems.say | ||
camelia | 4 | ||
naxieAlDle | 🤷 | 02:55 | |
SmokeMachine | m: ‘⁇‼’.elems.say | ||
camelia | 1 | ||
SmokeMachine | m: ‘⁇‼’.chars.say | 02:56 | |
camelia | 2 | ||
02:56
Ven left
|
|||
SmokeMachine | Unicode language means Unicode golf... | 02:56 | |
And that was the first thing that I tried the Unicode version and didn't work... | 02:58 | ||
I thought that, for completeness, would make sense to do that... | 02:59 | ||
naxieAlDle | ≤ ≥ ≠ :P | ||
SmokeMachine | I didn't try... :P | ||
naxieAlDle: why are you changing the anagram you are using as nick? | 03:01 | ||
03:01
ZzZombo left
|
|||
naxieAlDle | SmokeMachine: I wanted some change | 03:02 | |
and given that Zoffix does it every freaking month, I guessed it won't hurt anything :) | |||
03:04
ZzZombo joined,
ZzZombo is now known as Guest93070,
Guest93070 left,
Guest93070 joined,
Guest93070 is now known as ZzZombo
|
|||
SmokeMachine | m: "SmokeMachine".comb.pick(*).join.say #should I? :P | 03:05 | |
camelia | chMkmSaeione | ||
03:16
noganex joined
03:19
noganex_ left
03:20
imcsk8 joined
03:25
ufobat_ joined,
ZzZombo_ joined,
ZzZombo_ left,
ZzZombo_ joined,
ZzZombo is now known as Guest54591
03:26
Guest54591 left
03:28
wamba joined
03:29
ufobat left
|
|||
BenGoldberg | m: .say for lines().map: /(.*?) /; | 03:49 | |
camelia | No such method '!cursor_start' for invocant of type 'Str' in block <unit> at <tmp> line 1 |
||
naxieAlDle | m: lines().map: /./ | 03:57 | |
camelia | No such method '!cursor_start' for invocant of type 'Str' in block <unit> at <tmp> line 1 |
||
naxieAlDle | m: lines.map: /./ | ||
camelia | No such method '!cursor_start' for invocant of type 'Str' in block <unit> at <tmp> line 1 |
||
naxieAlDle | m: (‘hello’,).Seq.map: /./ | ||
camelia | No such method '!cursor_start' for invocant of type 'Str' in block <unit> at <tmp> line 1 |
||
naxieAlDle | BenGoldberg: well, that's a bug of some sort | 03:58 | |
even if that is not supposed to work, it is definitely LTA | |||
BenGoldberg | Do you want to rakudobug it? | ||
naxieAlDle | BenGoldberg: well, would be nice if you do it :) | 03:59 | |
03:59
risou_awy is now known as risou
|
|||
naxieAlDle | m: say (‘hello’,).Seq.map: * ~~ /./ | 04:00 | |
camelia | (「h」) | ||
naxieAlDle | this is what should happen, right? | ||
04:10
cdg joined
04:14
cdg left
04:16
risou is now known as risou_awy
04:50
mawkish__ joined
04:51
khw left
|
|||
b2gills | m: say [~] %*ENV<ME>.comb.pick(*) | 04:53 | |
camelia | isbll2g | ||
04:55
Cabanoss- joined
|
|||
SmokeMachine | m: say (‘hello’,).Seq.map: /./ | 04:57 | |
camelia | No such method '!cursor_start' for invocant of type 'Str' in block <unit> at <tmp> line 1 |
||
SmokeMachine | m: say (‘hello’,).Seq.map: {/./} | 04:58 | |
camelia | (/./) | ||
SmokeMachine | m: say (‘hello’,).Seq.map: {/./;} | ||
camelia | (/./) | ||
SmokeMachine | m: say (‘hello’,).Seq.map: -> $_ {/./} | ||
camelia | (/./) | ||
04:59
araraloren joined,
Cabanossi left,
Cabanoss- is now known as Cabanossi
05:05
bjz left
05:07
bjz joined
|
|||
BenGoldberg | m: module Foo { }; use Foo; | 05:25 | |
camelia | ===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
05:59
adu joined
|
|||
snowblack | question, $ perl6 gives me prompt. How do I load a file with definitions I have writen in a file? | 05:59 | |
05:59
risou_awy is now known as risou
|
|||
araraloren | What prompt ? | 06:02 | |
geekosaur | I think they want to know how to load a file from the repl | 06:04 | |
...which should be require, I think? | |||
masak | morning, #perl6 | 06:05 | |
06:06
perlawhirl joined
|
|||
araraloren | o/ | 06:07 | |
06:07
llfourn left
06:08
BenGoldberg left
|
|||
snowblack | how to load a file into the repl, yes. filename is k1, require "./k1" | 06:09 | |
results in "Could not find ./k1 in: [a list of directories]; how to make it look in current dir? | 06:10 | ||
geekosaur | mm, was afraid of that :/ | 06:11 | |
araraloren | Add module search path ? | ||
geekosaur | use lib '.' | ||
06:11
cdg joined
|
|||
araraloren | use lib may be work | 06:11 | |
geekosaur | I am not sure there's a better way at present | ||
snowblack | use lib "." require "./k1" does execute k1, but doesn't seem to have remembered the definitions in the file | 06:15 | |
06:16
cdg left
06:17
risou is now known as risou_awy
06:18
geekosaur left
|
|||
araraloren | use lib "path"; use "filename without extension"; | 06:19 | |
Will be work | |||
06:19
geekosaur joined
06:20
geekosaur left
06:21
mawkish__ left
06:22
mawkish__ joined,
geekosaur joined
|
|||
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:23 | |
06:30
adu left
06:33
llfourn joined
06:43
ufobat_ left
06:57
ZzZombo joined,
ZzZombo left,
ZzZombo joined
06:58
ZzZombo left
06:59
ZzZombo_ left
07:00
CIAvash joined
07:02
zakharyas joined
07:07
darutoko joined
|
|||
snowblack | still not working | 07:07 | |
cat k2.pm6 | 07:08 | ||
sub sample($x) {$x * $x} | |||
use lib "."; | 07:09 | ||
require "k2"; | |||
say sample(45345); | |||
require "k2"; | 07:10 | ||
Could not find k2 in: | |||
/black1/home_alt/carl/btr/carlthuban/math/projecteuler.net/060 | |||
etc | |||
Is there not a simple example somewhere? | 07:11 | ||
07:18
dalek left
07:28
ZzZombo joined,
ZzZombo left,
ZzZombo joined
07:47
zakharyas left
07:52
cibs left
07:54
cibs joined
07:55
laouji joined
|
|||
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 | |
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 | |||
bisectable6 | timotimo, On both starting points (old=2015.12 new=e114d52) the exit code is 0 and the output is identical as well | ||
timotimo, Output on both points: | |||
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 | ||
timotimo, Output on both points: | |||
timotimo | well, done only runs when the supplier closes it, not the tap | ||
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 | ||
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
laouji left
|
|||
committable6 | naxieAlDle, gist.github.com/156e4cc6b1547bf653...e2e3b55900 | 07:59 | |
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 | ||
naxieAlDle, bisect log: gist.github.com/fcc9da46c9bc422e66...29e6ea04b9 | |||
naxieAlDle, (2015-11-26) github.com/rakudo/rakudo/commit/6b...30409bb74f | |||
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 | ||
bisectable6 | naxieAlDle, On both starting points (old=6bd80ec new=e114d52) the exit code is 0 and the output is identical as well | ||
naxieAlDle, Output on both points: | |||
08:00
risou_awy is now known as risou
|
|||
naxieAlDle | ah right | 08:01 | |
anyway, I have no idea what you were trying to find | 08:02 | ||
08:04
mawkish__ left,
mawkish__ joined
|
|||
naxieAlDle | timotimo, IOninja: is it this? github.com/rakudo/rakudo/commit/a8...00318142c5 | 08:07 | |
had to do this to find it: bisect: old=6bd80ec9~50 new=6bd80ec9^ my $s = Publisher.new; #`(rest is same) | 08:08 | ||
08:08
mawkish__ left,
mawkish__ joined
|
|||
timotimo | looks right on the money! | 08:09 | |
when someone fixes up that piece of documentation, it'd be nice to point people towards supply blocks | 08:14 | ||
supply/react blocks | |||
naxieAlDle | m: say ‘hello’ | 08:17 | |
camelia | hello | ||
08:17
risou is now known as risou_awy
|
|||
timotimo | oh no | 08:17 | |
is hack hanging again? | |||
ugh, it absolutely is | 08:18 | ||
08:19
Util_ left,
PerlJam left,
Undercover left,
sergot left,
SourceBaby left,
synopsebot6 left
08:20
dalek joined,
ChanServ sets mode: +v dalek,
synopsebot6 joined,
ChanServ sets mode: +v synopsebot6
|
|||
timotimo | it'd be great if we could get util, perljam, and sergot off of hack.p6c.org and onto irc.p6c.org | 08:20 | |
cool, that's a downtime of just a little bit over an hour | 08:21 | ||
i just randomly wanted to sign into hack and there it was | |||
i just be magic | |||
naxieAlDle | well, occasional reboot is good! | ||
timotimo | it's not a good kind of reboot, though | 08:22 | |
it's the kind where you just flip the power switch off | |||
because it can't properly reboot ... the hard drives have just full-on disappeared in those cases | |||
naxieAlDle | I've only rebooted my server once in two years, not a good way to do it also :P | 08:23 | |
timotimo | ah | 08:24 | |
yeah, maybe :) | |||
unless of course you've subscribed to ksplice or what it's called | |||
08:28
synopsebot6 left,
synopsebot6 joined,
ChanServ sets mode: +v synopsebot6
|
|||
naxieAlDle | not only that, but I'm also not sure if everything that is supposed to come up on boot actually does so | 08:28 | |
08:29
diakopter left
|
|||
timotimo | i changed synopsebot a tiny bit so that it hopefully understands Geth doc links now | 08:29 | |
someone wanna change some docs to try it? ;) | |||
08:32
xinming_ left
08:33
xinming joined
08:34
domidumont joined,
CIAvash left
08:36
gk_1wm_su joined
08:40
domidumont left,
gk_1wm_su left,
parv joined,
domidumont joined
08:59
mawkish__ left
09:00
mawkish__ joined
09:04
xinming left
09:05
rindolf joined,
xinming joined
09:06
vike left
09:08
mawkish__ left,
mawkish__ joined,
eroux joined
|
|||
Geth | doc/≤≥≠: 150de2b6a0 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files Docs for ≤ ≥ ≠ unicode ops |
09:10 | |
timotimo | it won't trigger for branches because those don't get built on the docs site | ||
Geth | doc: AlexDaniel++ created pull request #1234: Docs for ≤ ≥ ≠ unicode ops |
09:11 | |
09:11
mawkish__ left
09:12
mawkish__ joined
09:15
Actualeyes joined,
mawkish__ left
09:16
mawkish__ joined,
sena_kun joined
09:20
mawkish__ left,
mawkish__ joined
09:21
naxieAlD` joined
09:22
naxieAlD` is now known as naxieAlDle`
|
|||
naxieAlDle` | :| | 09:22 | |
09:22
RabidGravy joined
09:23
zakharyas joined,
naxieAlDle left,
LeCamarade left,
naxieAlDle` is now known as naxieAlDle
09:24
Sound joined
09:26
cibs left
|
|||
Geth | whateverable: 13cbe9a899 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 6 files Sync OUTPUT with style in docs Resolves issue #101, tests changed accordingly. Committable will now show exit code in a funny way (with nested «»). This has to be changed in the future. |
09:27 | |
09:28
cibs joined,
perlawhirl left
09:40
gk_1wm_su joined,
gk_1wm_su left
09:41
bisectable6 left,
committable6 left,
benchable6 left,
unicodable6 left,
evalable6 left,
statisfiable6 left
09:42
unicodable6 joined,
ChanServ sets mode: +v unicodable6,
bisectable6 joined,
benchable6 joined,
evalable6 joined,
committable6 joined,
ChanServ sets mode: +v bisectable6,
ChanServ sets mode: +v benchable6,
ChanServ sets mode: +v evalable6,
ChanServ sets mode: +v committable6,
statisfiable6 joined,
ChanServ sets mode: +v statisfiable6,
travis-ci joined
|
|||
travis-ci | Doc build passed. Aleks-Daniel Jakimenko-Aleksejev 'Docs for ≤ ≥ ≠ unicode ops' | 09:42 | |
travis-ci.org/perl6/doc/builds/207859179 github.com/perl6/doc/commit/150de2b6a01b | |||
09:42
travis-ci left
09:44
FROGGS joined
09:48
dct joined
09:49
naxieAlDle left
|
|||
moritz | good morning | 09:59 | |
10:00
zakharyas left
10:01
risou_awy is now known as risou
|
|||
lizmat | moritz o/ | 10:02 | |
moritz | lol I blogged: perlgeek.de/blog-en/perl-6/2017-01...icode.html | ||
lizmat | whee! :-) | 10:04 | |
10:06
ifim left
10:12
Ven joined
10:13
Sound left
|
|||
nebuchadnezzar | \o/ | 10:15 | |
I thought english use “” to quote… | |||
RabidGravy | boo! | 10:17 | |
10:18
risou is now known as risou_awy
10:29
Ven left
10:30
sammers joined,
parv left
10:45
TEttinger left
10:49
cdg joined
10:52
ZzZombo_ joined,
ZzZombo_ left,
ZzZombo_ joined,
ZzZombo is now known as Guest61025,
ZzZombo_ is now known as ZzZombo,
labster left
10:54
Guest61025 left
10:55
mawkish__ left
10:56
mawkish__ joined
11:11
lukaramu joined,
vendethiel left
11:15
Ven joined
|
|||
RabidGravy wonders idly if POSIX mqueues would play nicely | 11:17 | ||
there's only one way to find out | 11:27 | ||
11:27
LeCamarade joined
|
|||
El_Che | boom | 11:28 | |
11:34
pmurias left
11:35
Ven left
|
|||
RabidGravy | oh va_args :( | 11:36 | |
11:42
mawkish__ left
|
|||
IOninja | AlexDanial: s/Geth/GitHub/ reports the name inconsistently. Eventually Geth will use the rakudo/CREDITS file to fish out the names tho | 11:49 | |
Gee, we're now adding ≤ ≥ ≠ ops -_- | 11:53 | ||
I wish people were as eager to fix the 1,500 bug tickets for existing features. | 11:54 | ||
DrForr | Just like typical jobs :/ No time to fix bugs, always time to add new features. | 11:55 | |
11:56
laouji joined
12:01
laouji left,
bjz_ joined
12:02
bjz left
12:06
mawkish__ joined,
llfourn left
12:09
llfourn joined
12:25
lep-delete left
12:27
lep-delete joined
12:36
Sound joined
12:37
bjz_ left
12:38
bjz joined
|
|||
IOninja | I notice we call the colon form on this page "Filetest operators": docs.perl6.org/type/IO$COLON$COLON..._operators | 12:50 | |
However, that syntax is much more general and is a property of Pair.ACCEPTS | 12:51 | ||
m: say 31337 ~~ :is-prime | |||
camelia | True | ||
IOninja | It calls the method with the name of the .key, and I don't see that listed under Pair.ACCEPTS | 12:52 | |
12:52
mr-foobar joined
|
|||
IOninja | s: :foo, 'ACCEPTS', \(42) | 12:52 | |
MasterDuke | huh, never knew it was a general syntax | ||
12:53
SourceBaby joined,
ChanServ sets mode: +v SourceBaby
|
|||
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,
ChanServ sets mode: +v Undercover
|
|||
IOninja | s: Pair.new("foo", True), 'ACCEPTS', \(42) | 12:53 | |
SourceBaby | IOninja, Sauce is at github.com/rakudo/rakudo/blob/e114...air.pm#L36 | ||
IOninja | Right, it calls the method and checks its .Bool matches the .Bool of LHS of ~~ | 12:54 | |
m: say 0 ~~ :abs | |||
camelia | False | ||
IOninja | really | ||
m: say 0.abs | |||
camelia | 0 | ||
IOninja | m: say 0.abs.Bool | ||
camelia | False | ||
IOninja | m: say 0.Bool | ||
camelia | False | ||
IOninja | :/ | 12:55 | |
m: say 0.Bool === 0.abs.Bool | |||
camelia | True | ||
IOninja | Oh, doh | ||
m: say 0 ~~ :!abs | |||
camelia | True | ||
IOninja | :) | ||
IOninja writes up Pair.ACCEPTS | 12:56 | ||
Umm... I'll open an Issue. There several other candidates too... | 12:58 | ||
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:01 | |
El_Che | \o/ | 13:02 | |
DrForr | Also submitted a ML talk for YAPC::NA. | 13:04 | |
13:13
g0d355__ joined
13:14
ZzZombo_ joined
13:15
mawkish__ left
13:16
ZzZombo left,
mawkish__ joined
|
|||
MasterDuke | DrForr++ and Perl6::Critic shortly to follow? | 13:17 | |
DrForr | Maybe. I expect testing ::Tidy will show up a few design flaws I'll have to rectify. | 13:18 | |
El_Che | ML as in OCaml? | 13:22 | |
DrForr | Machine Learning. | 13:23 | |
sena_kun | El_Che, machine learning. | ||
El_Che | thx | ||
tbrowder | hi, #perl6 | 13:24 | |
IOninja | DrForr: ML with Perl 6? | ||
\o | |||
sena_kun | hi | 13:25 | |
tbrowder | ref bug fixes, what about a bug smashing party at YAPC::NA 2017? | ||
13:26
cpage_ joined
|
|||
DrForr | With 1500+ I expect itd be a verification party :) | 13:26 | |
tbrowder | well, as teenagers say, "whatever!" | 13:27 | |
verification is good, too | |||
DrForr | Definitely. | ||
13:28
cdg left
13:33
lukaramu_ joined
|
|||
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 | |
insertion and growing the Str i don't think is clear in the docs. | |||
s/subst/substr/ | 13:34 | ||
moritz | sure, go ahead | 13:36 | |
13:36
lukaramu left
13:38
espadrine joined
13:40
Ven joined
13:45
laouji joined
13:46
FROGGS left
13:52
ZofBot_ joined,
ChanServ sets mode: +v ZofBot_
13:53
ZofBot_ left,
ZofBot left,
ZofBot joined,
ChanServ sets mode: +v ZofBot
|
|||
masak | an OT question and a trip down memory lane: | 13:58 | |
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? | |||
it had a surprisingly polished ASCII interface. you navigated it mostly with the arrow keys. | 13:59 | ||
IOninja | :o | 14:00 | |
.oO( pretty sure I wasn't born at the time.... ) |
|||
14:01
Ven left
14:02
risou_awy is now known as risou
|
|||
masak | I've been searching half of the morning. confused/frazzled search results tell me it *might* have been called DOSREF | 14:04 | |
14:06
llfourn left,
Ven joined
|
|||
tbrowder | masak: are you sure it wasn't part of MS's asm package? | 14:07 | |
masak | I won't rule it out that it was | 14:10 | |
that'd explain why it was so polished | |||
also, the confused/frazzled search results seemed to indicate something similar | |||
it's hard to tell, because at that age I didn't exactly buy software off the shelf | 14:11 | ||
DrForr | I'm guessing that at that age I was actually buying software off the shelf. In the form of cassettes. :) | 14:12 | |
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/ | ||
tbrowder | there are some dos code sites around... | 14:14 | |
El_Che | tbrowder: you kept floppies? | ||
wow | |||
tbrowder | also the drdobbs site i think is still up | ||
El_Che has an usb floppy reader, but no floppies :) | |||
DrForr has the hole punch for the other side somewhere in storage. | 14:15 | ||
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 | ||
friend | |||
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:17
mawkish__ left
14:20
risou is now known as risou_awy
|
|||
masak | I kept floppies too, with my first computer | 14:20 | |
El_Che | the single medium I haven't thrown out are music cd's and dvd's (never went to BD) | 14:22 | |
all the rest went in the trash, mostly 3.5 floppies and VHS and music cassettes | |||
stmuk | masak: maybe a form of en.wikipedia.org/wiki/Ralf_Brown's...rrupt_List | 14:24 | |
I seem to remember a TSR version of that (or something similar) | 14:25 | ||
masak: HELPPC21.ZIP? | 14:30 | ||
masak | HELPPC21! | 14:31 | |
that rings a bell! | |||
stmuk++! | |||
also, lazyweb++ | |||
together we are schtrong :D | |||
found it immediately here: www.cs.nyu.edu/~yap/classes/machineOrg/helppc/ | 14:32 | ||
so happy right now <3 | |||
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:34
wamba left
|
|||
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 :) | ||
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 | ||
IOninja | :) | ||
masak | El_Che: am not. I majored in bioinformatics. | ||
14:36
Util joined
|
|||
El_Che | masak: sound like The Borg to me | 14:36 | |
:) | |||
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 | ||
:) | |||
IOninja | :D | ||
masak | firstly, the 21st century isn't all that awesome | ||
El_Che | and specimen 327a, you can call me Dr. Masak now | ||
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 | ||
masak | secondly, I find there's something alluring and seductive about a computer whose stack I can grok completely | ||
today's Internet-connected browser-based full-stack things don't have that quality | 14:39 | ||
14:39
yqt joined
|
|||
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 | ||
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 | ||
El_Che | my girls (7 & 9) love the old games I installed in the living room | ||
masak | anyone else here grew up on Turbo BASIC? | 14:40 | |
El_Che | stuff from the 80s and 90s | ||
masak .oO( SELECT CASE INKEY$ ) | |||
b2gills | I grew up on learning how to program with batch files | ||
stmuk | gorilla.bas :) | ||
El_Che | hah | ||
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 ☹ | ||
MasterDuke | gorilla.bas++ | ||
masak | heh, everyone knows about QBASIC and/or QuickBasic, it seems | ||
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 | ||
El_Che | I had turbo pascal at the uni | ||
b2gills | If you need spare parts like a power supply, I still have some | ||
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
14:46
llfourn joined
|
|||
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. | ||
timotimo | i'm not sure what the difference between QBASIC and QuickBasic is | ||
but i definitely had one of the two | |||
masak | timotimo: for one thing, QuickBasic could compile to .EXE | 14:50 | |
moritz | timotimo: quickbasic allowed compilation to .exe files, QBAISC didn't | ||
masak | moritz: stop that :P | ||
MasterDuke | jinx | ||
El_Che | masak: you go for the full experience. Nice | ||
timotimo | OK, that sounds like i had QBASIC. | ||
moritz | masak: you stop that, OK? :-) | ||
stmuk | QBASIC was the stripped down version which shipped with DOS 5 and QuickBasic was the full product | ||
masak | moritz: would you s... argh | ||
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) | ||
yeah, moritz and I have maintained our quantum resonance for months now | |||
moritz | qbasic had this fun thing where when you started to write a function, it would automatically open a new window | ||
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 | ||
masak | moritz: it also preceded Visual Basic with the "feature" of autocorrecting your code to its own capitalization | ||
stmuk | I think edit.exe was qbasic.exe at first and became another program (but could be wrong) | ||
masak | feels like a very MS-y feature, for some reason | ||
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 | ||
but I think QBASIC was the big file | |||
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 | ||
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 | ||
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 | |
any suggestions? | |||
masak | moritz: please be more specific re "small project" | ||
what are your parameters? | |||
14:56
nadim joined
|
|||
nadim | Good afternoon all. | 14:57 | |
moritz | masak: I actually thought about that in the past: gist.github.com/moritz/25db24be2e9...332b365c6b | 14:58 | |
14:58
skaji left
|
|||
masak | nadim: ahoj | 14:58 | |
nadim | I go away for a few months and 1000+ commits have happened on P6 , Great work | ||
masak: hej på dig ;) | |||
moritz | so, the concept or feature I want to illustrate is the Inline::* family of modules | 14:59 | |
14:59
skaji joined
|
|||
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) | ||
nadim | IOninja: I am sneaky but not that sneaky | 15:00 | |
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? | ||
moritz | masak: none of those are things that I would naturally use one of the Inline:: modules for | ||
IOninja | nadim: oh, I guess I was misreading this twitter handle then.... twitter.com/nxadm | ||
moritz | timotimo: maybe, if PyQt code can be compact | ||
MasterDuke | which seems like a good example, using something Python is particularly good at (or has a good module/library for) | ||
masak | moritz: print a file with lines numbered (getting the width of the numbers column right -- involves log(L)/log(10)) | ||
timotimo | it can be, really depends on how much stuff you want to build ;) | 15:02 | |
masak | er, log(L+1)/log(10) | ||
moritz | MasterDuke: not a bad idea; maybe extract some stats from the IRC logs and graph them | ||
masak | what MasterDuke++ said :) | ||
MasterDuke | oops, it was perlawhirl i think | ||
sena_kun | moritz, pygments maybe? | 15:03 | |
stmuk | Python has NAG libaries doesn't it? | ||
timotimo | nags you about what? | ||
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. | ||
stmuk | timotimo: whitespace? | 15:04 | |
15:04
risou_awy is now known as risou
|
|||
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 :) | ||
but really, what is NAG? | |||
moritz | something nmerical? | ||
*numerical | |||
numerical algebra, i'd think | |||
timotimo | numerical alge bra? | ||
does that include pandas? | 15:05 | ||
moritz | yes | ||
the problem with that is the domain knowledge | |||
stmuk | yeah some numerical libs from fortran | ||
timotimo | what was the one called where you write formulas in abstract and manipulate them? that's not pandas, right? | ||
right, numpy and scipy have lots of fortran code in them | |||
moritz | I can either assume every reader knows why need a SVD, or spend 3 pages explaining it | 15:06 | |
neiter feels very satisfactory | |||
stmuk | I remember web scraping with python's beautifulsoup as well | ||
moritz | sena_kun's idea about pygments has some merits; need to think a bit about it | ||
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 | ||
stmuk | yeah its simple like SOAP | 15:08 | |
masak | timotimo: though I note the sarcasm, ISTR the answer is quite interesting | ||
(hint: people aren't good at writing RSS/Atom) | 15:09 | ||
like, *really* not good | |||
nadim | moritz: any simple clarification about what Data and Test are in a Stah? | ||
moritz | nadim: what's a Stah? | ||
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. | ||
moritz | .oO( Alternativlos ) |
15:10 | |
stmuk | I think there are raw socket libraries in python used in security as well | ||
moritz | sena_kun: before pygments I used vim with Text::VimColor for hilighting | 15:11 | |
(with obvious disavantages, but i works) | |||
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 | ||
stmuk | ah "scapy" | 15:12 | |
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 | ||
sena_kun: yes, agreed | |||
timotimo | "requests" is a python library that regularly gets lots of praise | 15:15 | |
sena_kun | ++ for requests | 15:16 | |
stmuk | pygame | ||
moritz | timotimo: aye; hence the idea to get data from the IRC logs to parse, and extract some stats | ||
timotimo | to be quite honest, pygame isn't very good. quite popular, though. | ||
nadim | moritz: a Stash (I am going to re-hate this keyboard soon) | 15:17 | |
15:17
naxieAlDle joined
|
|||
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? | ||
timotimo | probably. if only as a discussion platform for how it should be dealt with | 15:19 | |
15:19
kurahaupo__ joined
|
|||
MasterDuke | k, will do | 15:19 | |
stmuk | there are also probably plenty of official python libraries to Google APIs where no perl ones exist :/ | 15:20 | |
15:20
risou is now known as risou_awy
|
|||
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:23 | |
moritz | nadim: Test sounds like the module that 'use Test;' imported | 15:25 | |
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: github.com/MoarVM/MoarVM/issues/545, please make any edits you'd like | ||
timotimo | wrote a little summary of what the irc discussion contained | 15:27 | |
15:28
sufrostico joined
|
|||
lizmat | m: class A {}; say callframe.my<A> # nadim | 15:28 | |
camelia | (A) | ||
timotimo | at least i guess that that's what you linked to, i didn't actually click the link %) | ||
15:29
llfourn left
|
|||
RabidGravy | my my | 15:30 | |
ZzZombo_ | m: my \my '!!!';say my | 15:31 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Term definition requires an initializer at <tmp>:1 ------> 3my \my7⏏5 '!!!';say my |
||
ZzZombo_ | m: my \my='!!!';say my | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Malformed my at <tmp>:1 ------> 3my \my='!!!';say my7⏏5<EOL> |
||
ZzZombo_ | m: my \my:='!!!';say my | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Malformed my at <tmp>:1 ------> 3my \my:='!!!';say my7⏏5<EOL> |
||
ZzZombo_ | m: my $my='!!!';say $my | ||
camelia | !!! | ||
ZzZombo_ | :(( | 15:32 | |
15:33
laouji left
15:34
laouji joined,
laouji left
15:35
laouji joined
|
|||
naxieAlDle | ZzZombo_: what's wrong? :) | 15:37 | |
ZzZombo_: oh I see. Cannot create a constant called “my” | 15:38 | ||
m: my \my = 42; say ::<my> | |||
camelia | 42 | ||
naxieAlDle | hehe | ||
cannot use, rather | |||
15:42
cdg joined
15:53
dogbert17 left
15:54
risou_awy is now known as risou
|
|||
naxieAlDle | github down -_- | 15:56 | |
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.” | ||
naxieAlDle bangs on F5 | |||
IOninja: try this: github.com/rakudo/rakudo/pull/1032/commits | |||
hm, indeed, other parts of it are working | 15:58 | ||
16:01
mawkish__ left
|
|||
lizmat | FWIW, I've seen that error several hours ago as well | 16:02 | |
16:02
mawkish__ joined
16:04
araraloren left,
khw joined
|
|||
moritz | nine: I'm having some trouble with Inline::Python, see gist.github.com/moritz/766d05b4e64...f09e80aea8 | 16:09 | |
first, requests.get($url, headers => %hash) complains that headers isn't a valid named argument | 16:10 | ||
second, $response.text says unicode isn't callable | |||
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:11 | ||
16:12
MilkmanDan left,
MilkmanDan joined,
cale2 joined
|
|||
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? glot.io/snippets/enplb6nk6h | ||
timotimo | .WHO gives you the package that belongs to the object | 16:15 | |
rather than the package the object belongs to | |||
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 | ||
moritz: you're right! | 16:17 | ||
16:19
Sound left
|
|||
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:19 | |
timotimo | pod parsing itself knows nothing about other files, i don't think | 16:20 | |
i mean besides the file it's currently parsing | |||
all cross-file stuff lives in either Pod::To::HTML or htmlize.p6 | |||
cale2 | I'd like to make something like ex-doc in elixir or crystal-lang.org/docs/conventions/..._code.html | 16:21 | |
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:23 | ||
16:26
llfourn joined
|
|||
cale2 | I guess I can use $?PACKAGE and $?MODULE for that too though | 16:26 | |
IOninja | m: (("a" x 1000000) x 1073741824).chars.say | 16:29 | |
camelia | 0 | ||
IOninja | huh? | ||
16:30
llfourn left
16:31
mawkish__ left
|
|||
naxieAlDle | 6c: (("a" x 1000000) x 1073741824).chars.say | 16:31 | |
IOninja | m: (('a' x 1000000) x 1000000).chars.say | ||
camelia | 3567587328 | ||
committable6 | naxieAlDle, ¦6c (16 commits): «0» | 16:32 | |
16:32
wamba joined
|
|||
IOninja | Filed: rt.perl.org/Ticket/Display.html?id...xn-1452590 | 16:34 | |
cale2 | m: package Stuff { module Talk { say $?PACKAGE ~ '::' ~ $?MODULE } } | ||
camelia | 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… |
||
cale2 | package Stuff { module Talk { say $?MODULE } } | ||
m: package Stuff { module Talk { say $?MODULE } } | |||
camelia | (Talk) | 16:35 | |
cale2 | m: package Stuff { module Talk { say $?PACKAGE } } | ||
camelia | (Talk) | ||
16:39
andrzejku joined
|
|||
Geth | Inline-Python: 71bd44d76f | (Stefan Seifert)++ | 3 files Support named arguments in wrappers for imported Python packages |
16:39 | |
nine | moritz: ^^^ | ||
Geth | doc: 35e69981b2 | (Tom Browder)++ | doc/Type/Str.pod6 amplify the substr-rw examples |
16:42 | |
moritz | nine: thanks! | 16:55 | |
moritz runs zef upgrade Inline::Python | 16:57 | ||
17:00
araujo left
|
|||
moritz | nine: can I run getattr from python in Perl 6 code somehow? | 17:02 | |
timotimo | just call ."__getattr__(...)"? | 17:04 | |
er | |||
."__getattr__"(...) | 17:05 | ||
17:05
n1ce left
17:06
Ven left,
n1ce joined
|
|||
timotimo | twitter.com/whitequark/status/8379...48/photo/1 <3 | 17:06 | |
IOninja | why quotes? | ||
m: class Foo { method __getattr__ { say "hi" } }.__getattr__ | 17:07 | ||
camelia | hi | ||
nine | m: use Inline::Python; my $py = Inline::Python.new; $py.call("__builtin__", "getattr", "a", "title") | 17:08 | |
camelia | ===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… |
||
nine | err... moritz: use Inline::Python; my $py = Inline::Python.new; $py.call("__builtin__", "getattr", "a", "title") | ||
moritz: or submit a PR exposing the py_getattr sub as a getattr method on the Inline::Python object :) | 17:10 | ||
naxieAlDle | timotimo: that's pretty cool! | 17:15 | |
17:20
skids joined
17:24
laouji left,
g-k--1-w-m--s-u- joined
17:25
g-k--1-w-m--s-u- left,
laouji joined
|
|||
moritz | nine: might do | 17:25 | |
17:27
llfourn joined
17:32
llfourn left
|
|||
timotimo | naxieAlDle: isn't unicode fun. | 17:34 | |
naxieAlDle | well, this particular one makes sense | 17:35 | |
except for the name, of course… | |||
timotimo | so, er, what is it good for again? | ||
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 | ||
or that, yes :DDDD | |||
I didn't think about it this way :DD | |||
timotimo | not only look the same | ||
but also each grapheme is composed of the same combiners each time | |||
naxieAlDle | sooo, if you simply change the order of your combiners, then this character will also prevent them from being reordered | 17:38 | |
amazing stuff | |||
m: say ‘a͏̈’.chars | 17:39 | ||
camelia | 1 | ||
naxieAlDle | m: say ‘a͏̈’ | ||
camelia | a͏̈ | ||
naxieAlDle | we already support it? | 17:40 | |
m: say ‘axCCx88xCDx8FxE2x80x99 | 17:41 | ||
camelia | ä͏ | ||
naxieAlDle | m: say ‘axCCx88xCDx8FxE2x80x99.chars | ||
camelia | 1 | ||
naxieAlDle | mhm | ||
m: say “\c[CGJ]”.uniname | 17:42 | ||
camelia | COMBINING GRAPHEME JOINER | ||
MasterDuke | IOninja, naxieAlDle: rt.perl.org/Ticket/Display.html?id=130924 seems related to rt.perl.org/Ticket/Display.html?id=127971 and rt.perl.org/Ticket/Display.html?id=127973 | 17:44 | |
17:45
cale2 left
17:47
espadrine left
17:55
risou is now known as risou_awy
18:13
cibs left
18:14
cibs joined
|
|||
IOninja | ugh... stupid game. Killed off one of the most lovable characters :( Now I'm sad. | 18:17 | |
18:18
laouji left
|
|||
tadzik | which game? | 18:18 | |
IOninja | Witcher 3 | 18:19 | |
18:19
pmurias joined
|
|||
pmurias | timotimo: isn't pygame good in it's niche of having a well documented way to make a (toy) 2d game? | 18:19 | |
18:21
drbojingle_ joined
18:22
espadrine joined
|
|||
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:22 | |
timotimo | pmurias: it's ... all right i guess | 18:23 | |
18:24
drbojingle_ left
18:26
llfourn joined
18:31
llfourn left
18:32
laouji joined
|
|||
pmurias | timotimo: anything better in it's niche? | 18:37 | |
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 | |
Rakudo version 2017.02-157-g4707360 built on MoarVM version 2017.02-18-g5f9d698 | |||
lizmat | j75: the default is a max of 32 threads | ||
when you start something, it is merely pushed onto a queue for processing when a thread becomes available | 18:43 | ||
IOninja | Default is 16. | ||
lizmat | use v6.d.PREVIEW might make this run faster | ||
IOninja: ah, ok :-) | 18:44 | ||
IOninja | github.com/rakudo/rakudo/blob/nom/...er.pm#L195 | ||
lizmat | as in v6.d.PREVIEW a sleep doesn't block a thread (if I remember correctly) | ||
j75 | thanks! | 18:48 | |
18:48
BenGoldberg joined
|
|||
jnthn | In 6.d sleep is still the real sleep | 18:57 | |
So will block a real thread | |||
For non-blocking, you'd do `await Promise.in(10)` | |||
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 | |||
m: dd %*ENV<RAKUDO_MAX_THREADS> | 18:59 | ||
camelia | Any %ENV = Any | ||
IOninja | m: dd %*ENV<RAKUDO_MAX_THREADS>.^lookup('Int') | ||
camelia | Mu | ||
IOninja | m: dd %*ENV<RAKUDO_MAX_THREADS>.Int | ||
camelia | No such method 'Int' for invocant of type 'Any' in block <unit> at <tmp> line 1 |
||
IOninja | nevermind | ||
MasterDuke | i was being facetious, but meant saving calling `16.Int` | 19:00 | |
IOninja | It's slower too | ||
lizmat | jnthn: how about adding a :dontblock to sleep() ? | ||
jnthn | lizmat: Eww | 19:01 | |
lizmat | or simply make sleep not block at all ? | ||
jnthn | lizmat: I'd rather sleep continues to mean what it traditionally has | ||
lizmat | but Perl 6 is not traditional, especially in that respect :-) | ||
jnthn | That's not really true. We provide high-level things and low-level things for when people need them. | 19:02 | |
lizmat | perhaps we need a rem-sleep() :-) | 19:03 | |
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:04
darutoko left
19:05
regreg left
|
|||
timotimo | pmurias: not sure. would you consider love2d to be in that niche at all? | 19:06 | |
19:07
wamba left
19:16
g0d355__ left
|
|||
Geth | doc: 180aaeb300 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files Docs for ≤ ≥ ≠ unicode ops |
19:19 | |
naxieAlDle | “AlexDaniel committed with AlexDaniel” pfffffft | ||
e: say 5 ≤ 10 | |||
evalable6 | True | ||
moritz | jnthn, lizmat: have you considered a delay() function which is basically a non-blocking sleep? | 19:23 | |
the Perl way is to have separate names for separate operations after all | 19:24 | ||
lizmat | delay would work for me | 19:25 | |
I actually worked a long time in a programming language where sleep was called delay :-) | |||
so I should have thought of that | |||
jnthn | Does it happen often enough to huffmanize it? | 19:26 | |
19:27
llfourn joined
|
|||
moritz | does sleep happen often enough to huffmanize it? | 19:32 | |
19:32
llfourn left
|
|||
moritz | Thread.delay(5) # better? | 19:32 | |
IOninja | Promise.in: 5 | 19:33 | |
lizmat | await Promise.in(5) | ||
you need the await | |||
moritz | IOninja: but it won't work as the last statement | ||
because that might not be in sink context, so no auto-await | |||
so it's kind of a dangerous pattern | 19:34 | ||
BenGoldberg | sink Promise.in: 5? | ||
. o O (sink is one fewer char than await) | |||
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
Cabanossi left
|
|||
lizmat | things you use more often should be shorter | 19:35 | |
IOninja | Ah | ||
19:35
Cabanossi joined
19:36
Ven joined
|
|||
BenGoldberg | m: wait; | 19:36 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: wait used at line 1. Did you mean 'await'? |
||
BenGoldberg | . o O (wait 5) | 19:37 | |
lizmat | I guess that semantically close enough to await | ||
perhaps "await 5" | |||
as short for "await Promise.in(5)" ? | |||
jnthn | It's also been proposed that non-awaitable things that are awaited would just be passed through, fwiw | 19:39 | |
lizmat | m: await 5 | 19:40 | |
camelia | Must specify a Promise, Channel, or Supply to await on (got a Int) in block <unit> at <tmp> line 1 |
||
BenGoldberg | That would be confusing, if something changed from non-awaitable to awaitable (like 5) | ||
lizmat | it currently doesn't get passed along | ||
jnthn | I know that | ||
I'm saying it's been proposed :) | |||
m: use v6.d.PREVIEW; await 5 | |||
camelia | Must specify an Awaitable to await (got a Int) in block <unit> at <tmp> line 1 |
||
jnthn | Notice how the error is differnt in 6.d | ||
Because we now have made it "anything that does the Awaitable role" | |||
IOninja | m: sub prefix:<⏲> { await Promise.new: $^a }; ⏲5; say now - INIT now; | 19:41 | |
camelia | Default constructor for 'Promise' only takes named arguments in sub prefix:<⏲> at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
lizmat | m: use v6.d.PREVIEW; await 5 but Awaitable | ||
camelia | Method 'get-await-handle' must be implemented by Int+{Awaitable} because it is required by roles: Awaitable. in block <unit> at <tmp> line 1 |
||
IOninja | m: sub prefix:<⏲> { await Promise.in: $^a }; ⏲5; say now - INIT now; | ||
camelia | 5.00847205 | ||
IOninja | hehe, cool | ||
BenGoldberg | How much code depends on sleep() doing an actual low-level sleep, and blocking the thread instead of scheduling it for later? | ||
I.e., what would break? | 19:42 | ||
lizmat | .u ⏲ | ||
yoleaux | U+23F2 TIMER CLOCK [So] (⏲) | ||
BenGoldberg | .u clock | ||
yoleaux | U+20D5 COMBINING CLOCKWISE ARROW ABOVE [Mn] (◌⃕) | ||
U+20D9 COMBINING CLOCKWISE RING OVERLAY [Mn] (◌⃙) | |||
U+21B7 CLOCKWISE TOP SEMICIRCLE ARROW [So] (↷) | |||
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
felher left
|
|||
lizmat | BenGoldberg: my feeling is that it would probably unbreak a lot of things :-) | 19:42 | |
19:42
felher joined
|
|||
tbrowder | do you think about the desirability of showing both? | 19:43 | |
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 | ||
BenGoldberg | Ahh, so that's the problem. | ||
naxieAlDle | u: clock | ||
unicodable6 | naxieAlDle, U+20D4 COMBINING ANTICLOCKWISE ARROW ABOVE [Mn] (◌⃔) | ||
naxieAlDle, U+20D5 COMBINING CLOCKWISE ARROW ABOVE [Mn] (◌⃕) | |||
naxieAlDle, 64 characters in total: gist.github.com/5abdd8f19be98b8abb...1ab4d8034a | |||
jnthn | Which doesn't matter for *most* code | 19:46 | |
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. | ||
BenGoldberg | . o O (sleep($n, :no-context-switch)) | ||
tbrowder | ugexe: thanks! | 19:48 | |
ugexe | there is no mechanism for using multiple source urls yet | 19:49 | |
BenGoldberg | u: ' ' clock ' ' | ||
unicodable6 | BenGoldberg, U+0027 APOSTROPHE [Po] (') | ||
BenGoldberg, U+0020 SPACE [Zs] ( ) | |||
BenGoldberg, 13 characters in total: gist.github.com/a8a929ee1831d4b5a4...ad73b120b9 | |||
BenGoldberg | u: /' ' clock ' '/ | ||
unicodable6 | BenGoldberg, Regexes are not supported yet, sorry! Try code blocks instead | ||
nadim | timotimo: thanks for the answer | ||
BenGoldberg | u: { .index: " CLOCK " } | 19:50 | |
unicodable6 | BenGoldberg, Found nothing! | ||
BenGoldberg | u: { .uniname.index: " CLOCK " } | ||
unicodable6 | BenGoldberg, Found nothing! | ||
BenGoldberg | u: { .uniname.ends-with: " CLOCK" } | 19:51 | |
unicodable6 | BenGoldberg, U+23F0 ALARM CLOCK [So] (⏰) | ||
BenGoldberg, U+1F570 MANTELPIECE CLOCK [So] (🕰) | |||
BenGoldberg, U+23F2 TIMER CLOCK [So] (⏲) | |||
ugexe | the nice thing about using .zip is that windows has support to unzip archives built into powershell / .net | ||
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:55 | ||
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:56 | ||
timotimo | nadim: i don't remember what i answered you about? :o | 19:57 | |
nadim | timotimo: thank you ... because moritz did answer :) | 20:00 | |
timotimo | oh | ||
nadim | I have this code: { $m.sort(*.key)>>.kv.map: -> ($k, $v) {$k, ' => ', $v} } | ||
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 | ||
camelia | (("a", Bool::True), ("b", Bool::True), ("c", Bool::True)) | ||
moritz | m: say (:a, :b, :c)>>.kv.map(-> ($k, $v) {$k, ' => ', $v }).perl | 20:02 | |
camelia | (("a", " => ", Bool::True), ("b", " => ", Bool::True), ("c", " => ", Bool::True)).Seq | ||
moritz | m: say (:a, :b, :c)>>.kv.map(-> ($k, $v) {$k, ' => ', $v }).grep(*[0] ne 'a').perl | ||
camelia | (("b", " => ", Bool::True), ("c", " => ", Bool::True)).Seq | ||
moritz | nadim: ^^ like that? | 20:03 | |
nadim | great! | 20:05 | |
20:06
risou_awy is now known as risou
|
|||
nadim | is argument parsing (there was another name) in the form of ->($, $v) passed as part of the block? | 20:08 | |
IOninja | unpacking | ||
It's a signature on the block, so yes, it's passed | |||
m: -> ($, $v) { &?BLOCK.signature.say }($, $) | 20:09 | ||
camelia | Too few positionals passed; expected 2 arguments but got 0 in sub-signature in block <unit> at <tmp> line 1 |
||
nadim | right, unpacking. | ||
IOninja | m: -> ($, $v) { &?BLOCK.signature.say }([$, $]) | ||
camelia | 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) |
||
IOninja | *sigh* | ||
m: -> ($, $v) { &?BLOCK.signature.say }([ $, $ ]) | |||
camelia | ($ ($, $v)) | ||
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]) } | ||
sounds like a pre-GLR relict | |||
and it means I can't iterate over %result<foo>, but have to write %result<foo>.list | 20:10 | ||
nadim | Any onw knows where types Data and Test are defined? | 20:17 | |
I have this code: multi method get_elements (Stash $s) { $s.sort(*.key)>>.kv.map(-> ($k, $v) {$k, ' => ', $v}).grep{ *[2] !~~ Data && *[2] !~~ Test}} | |||
but it won't compile as those types are not defined in the compilation context | |||
moritz | nadim: there can be arbitrary types in any scope you introspect | 20:18 | |
nadim | OK, but I don't get the point. | 20:19 | |
20:20
domidumont left
|
|||
lizmat | nadim: perhaps grep on ^name eq 'Data' ? | 20:20 | |
moritz | nadim: what are you actually trying to accomplish? | 20:21 | |
20:21
dct left
|
|||
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 | |
but the ^name is a good idea | |||
20:24
risou is now known as risou_awy
|
|||
moritz | nadim: but that will happen for any lexically defined types | 20:25 | |
20:25
TEttinger joined
|
|||
moritz | do { my class A { }; dump A } | 20:25 | |
or something like that | |||
maybe you want to instead whitelist names by whether they are available? | 20:26 | ||
you can a dynamic lookup with ::($name) | |||
m: say ::('nosuchname') | |||
camelia | No such symbol 'nosuchname' in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
moritz | ... and use exception handle to cover the case where a name isn't available | 20:27 | |
blacklisting just two names that happen to occur in your test ignores the wider problem | |||
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 | ||
nine | moritz: could you file that as a bug please? | ||
moritz | nine: will do, I'll try to find a minimal example first | 20:28 | |
20:28
llfourn joined
|
|||
nadim | moritz: hmm, I wasn | 20:29 | |
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 | ||
20:30
dct joined
20:31
Sound joined
20:33
lichtkind joined
|
|||
moritz | nadim: blacklisting still seems a rather fragile approach | 20:33 | |
nadim | maybe but it is type specific, Stash, and element specific. | 20:34 | |
20:35
llfourn left
|
|||
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? | ||
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 | |
I'd prefer be able to dump Data and Test but the error is mystic at best. | |||
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 | ||
moritz | but well, it#s your code | ||
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 | |
Right now it is not working, so it is certainly fragile altogether for Stashes | |||
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:41 | ||
moritz | Data and Test come from code outside of your control, it seems | 20:42 | |
nadim | Yes it does | ||
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 | ||
moritz | that makes blacklisting fragile | ||
</argument> | |||
nadim | Indeed | ||
moritz: : how something like $.my_method($e) generate error: too many positionals is what is makes me pull my hair | 20:44 | ||
works for other types but not Data and Test | |||
moritz | have you tried it with --ll-exception ? | 20:48 | |
20:48
lichtkind_ joined
|
|||
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:49 | |
foound the doc, willl try | 20:50 | ||
20:51
dct left
|
|||
naxieAlDle | m: say 5 ≤ 8 ≤ 10 # nobody is celebrating? :o | 20:51 | |
camelia | True | ||
20:53
lichtkind left
20:54
laouji left
|
|||
Geth | ecosystem: 7ojo++ created pull request #303: Add Powerline::Prompt to ecosystem |
20:54 | |
ecosystem: e3612a70c1 | (Jarkko Haapalainen)++ | META.list Add Powerline::Prompt to ecosystem See github.com/7ojo/perl6-powerline-prompt |
20:55 | ||
ecosystem: 2e74da6509 | Altai-man++ | META.list Merge pull request #303 from 7ojo/patch-1 Add Powerline::Prompt to ecosystem |
|||
21:02
Gruber is now known as Grrrr
21:05
riatre left
21:06
bjz left
21:09
hankache joined
|
|||
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:09 | |
as I said lots at the same time, so I want to use IO::socket::async | 21:10 | ||
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? | |||
I thought the whole plan was to not use locks anymore? | 21:11 | ||
jnthn | Locks are usually a last resort | 21:12 | |
Well, direct use of them, anyway | |||
Depending on the scope of the state, use supply/react and whenever blocks | |||
hankache | hello #perl6 | ||
robertle | ok, looking into react/whenever some more, don't really understand that yet | ||
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:14 | |
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 | ||
Though there's ways of handling that without start too, but it depends on the overall code design | |||
If you have something like: react { whenever IO::Socket::Async.listen(...) -> $conn { whenever $conn { say "got a packet" } } } | 21:16 | ||
Then essentially you serialize everything for all connections | 21:17 | ||
Depending on what you're doing, that may be a good option for you | |||
Since you can't get into any kind of concurrency trouble then | |||
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? | ||
jnthn | Indeed | ||
A react block only allows a single thread to be inside of a given instance of it *at a time* | 21:19 | ||
But it doesn't care if the first message is delivered on thread 2, the second on thread 3, etc. | |||
robertle | ok, that is what i wanted to do wiuth the lock :) | 21:20 | |
sweet | |||
jnthn | Also worth noting that if you do something like | 21:21 | |
IOninja grumbles | |||
naxieAlDle: some do, apparently: twitter.com/mschatweet/status/8384...7179833344 | |||
jnthn | whenever $conn { ..blah...; my $promise = start { some-long-running-operation }; await $promise; } } | ||
Then it won't let stuff happen inside the react block untl the long-running operation is done | 21:22 | ||
But if you wrote `whenever $promise -> $result { }` or so, it means that you don't mind if other stuff happens inbetween | |||
21:23
cpage_ left,
cibs left
21:24
zengargoyle joined
|
|||
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 | |
21:25
cibs joined
|
|||
hankache | m: say 3½ | 21:26 | |
camelia | 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
|
|||
hankache | m: say 2 + ⅒ | 21:27 | |
camelia | 2.1 | ||
naxieAlDle | yes, just stick a + in between, as simple as that :P | ||
hankache | :) | ||
naxieAlDle | just like we don't allow 2$x | ||
or 2x even | 21:28 | ||
jnthn bbl | |||
hankache | m: say 3+½ == 3.5 | ||
camelia | True | ||
zengargoyle | it is '3 and ½' | ||
IOninja wonders how long it will take before people will be whining about √-1² producing "unexpected" results. | |||
zengargoyle | not 'three one-half' | ||
21:28
pmurias left
|
|||
awwaiid | Y'all should come to TPC-2017-DC (YAPC::NA 2017)! CFP is still open for a bit, www.perlconference.us/tpc-2017-dc/cfp/ | 21:28 | |
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 | ||
naxieAlDle | IOninja: o, that's a good one :P | ||
IOninja | Not worth the risk with current administration. | 21:30 | |
naxieAlDle | m: say False nand False | 21:31 | |
camelia | 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
|
|||
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:32 | |
21:33
sufrostico left
|
|||
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! | ||
IOninja | :) | ||
naxieAlDle | wtf is going on there? | 21:34 | |
IOninja | Where? | ||
hankache | across the pond | 21:35 | |
IOninja | Which pond? | ||
naxieAlDle | Atlantic Pond | 21:36 | |
hankache | atlantic ocean | ||
IOninja | So... the where is UK? :) | ||
21:36
llfourn left
21:38
girafe joined
|
|||
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 | |
21:39
bjz left
|
|||
hankache | what's an election? | 21:39 | |
:) | 21:40 | ||
zengargoyle | an attempt to balance densely populated areas vs sparsely populated areas from a time when news and communication traveled slowly | 21:43 | |
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:45 | ||
IOninja | But that's not the real reason for electors. | 21:46 | |
zengargoyle | for the rest, wikipedia is probably better explainer. | ||
IOninja | There's nothing "fucked up" about ensuring your country doesn't always get run by how California and New York what it run. | ||
naxieAlDle | zengargoyle: well, 2% difference doesn't sound like a good reason to complain | 21:47 | |
what “popular vote” is it if roughly the same amount of people voted for another candidate… | 21:48 | ||
21:49
lizmat left
|
|||
zengargoyle | when more voted for the looser but the winner still won. | 21:50 | |
21:50
lizmat joined
|
|||
zengargoyle | anyhow, politics is probably better somewhere else. | 21:51 | |
21:57
bpmedley left
|
|||
zengargoyle | see also: www.washingtonpost.com/news/wonk/w...-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 | |
21:58
bpmedley joined
|
|||
tbrowder | ugexe: ok, i'll just use the zip. also, is naming releases "v1.2.3" ok, or should it be "1.2.3"? | 21:59 | |
21:59
cdg left
22:01
dct joined
|
|||
ugexe | i dont think it matters what you name them on github | 22:02 | |
tbrowder | i was thinkink about how zef interprets the info to get a release verssion | 22:05 | |
22:10
robertle left
22:13
RabidGravy left
22:14
hankache left
|
|||
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:15 | |
zengargoyle | tbrowder: i think zef/panda get version info from the META6.json so look at others for guidance. | 22:16 | |
nm :) | |||
tbrowder | well at the moment it isn't so standard for entries in the modules list, hence the questions | 22:17 | |
ugexe | it always comes from inside the META6.json, because thats what CUR uses | 22:18 | |
22:18
Ven left,
wamba joined
|
|||
ugexe | so you should name your things reflecting the version inside META6.json file | 22:19 | |
22:19
Ven joined
22:20
rindolf left
|
|||
tbrowder | makes sense--thanks | 22:22 | |
zengargoyle | ugexe: how does that match with the :ver<???> inside any modules? | 22:30 | |
22:31
dct left,
geekosaur left
22:33
geekosaur joined,
Ven left,
llfourn joined
|
|||
ugexe | CUR has no concept of ver outside of whats in META6.json | 22:36 | |
22:38
llfourn left
22:39
Ven joined,
Voldenet left
|
|||
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:42 | |
or maybe later for automated tools that create META6.json from files ala dzil... | 22:44 | ||
22:44
Voldenet joined,
Voldenet left,
Voldenet joined
22:49
ZzZombo_ left,
ZzZombo joined
22:50
ZzZombo is now known as Guest59914
22:51
ZzZombo_ joined
22:52
llfourn joined
22:54
Guest59914 left
22:55
kurahaupo__ left,
kurahaupo__ joined,
kurahaupo__ left,
ZzZombo_ left
22:56
kurahaupo__ joined
22:58
ZzZombo_ joined
|
|||
lichtkind_ | yay finally panda works | 23:06 | |
23:07
risou_awy is now known as risou
23:08
wamba left
23:18
sena_kun left
23:23
dct joined
23:24
risou is now known as risou_awy
23:26
espadrine left
23:41
kurahaupo__ left
23:44
kurahaupo__ joined
23:49
spebern joined
|