»ö« 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. |
|||
00:05
mcmillhj joined
00:10
mcmillhj left
00:11
Cabanossi left
00:14
Cabanossi joined,
Sound left
00:15
agentzh left
00:17
mcmillhj joined
00:21
mcmillhj left
00:22
araujo left,
araujo joined,
araujo left,
araujo joined
00:24
jeffythedragonsl joined
00:26
BenGoldberg joined
|
|||
jeffythedragonsl | hey | 00:30 | |
naxieAlDle | hello! | ||
jeffythedragonsl | windows 10 killed my linux bootloader but I'm back up to speed now, trying some more perl6 stuff | ||
00:31
gdonald left
00:32
ZofBot left,
gdonald joined,
ZofBot joined,
ChanServ sets mode: +v ZofBot
|
|||
naxieAlDle | \o/ | 00:34 | |
00:35
ggoebel left
00:36
mcmillhj joined
|
|||
jeffythedragonsl | I'm looking at github.com/MoarVM/MoarVM/issues/549, can't reproduce it | 00:37 | |
MasterDuke | m: say expmod(1, -1, 1) | 00:38 | |
camelia | 0 | ||
MasterDuke | m: say expmod(3, -1, 3) | ||
camelia | (timeout) | 00:39 | |
MasterDuke | m: say expmod(3, -1, 1) | ||
camelia | 0 | ||
jeffythedragonsl | ok, but (1, -1, 1) doesn't timeout | ||
MasterDuke | i think it was fixed for the case of the third parameter == 1 | ||
dogbert17 has some comments about it over in #moarvm | 00:40 | ||
00:40
mcmillhj left
|
|||
jeffythedragonsl | it's implemented in rakudo/src/core/Int.pm? | 00:41 | |
00:41
ZzZombo left
|
|||
MasterDuke | i believe the problem is actually in the 3rd party math lib we use | 00:41 | |
libtommath | |||
00:41
risou_awy is now known as risou
|
|||
MasterDuke | MoarVM/3rdparty/libtommath | 00:42 | |
00:43
bjz left
|
|||
MasterDuke | jeffythedragonsl: you know about the web site with logs of the channels? | 00:44 | |
jeffythedragonsl | yeah | ||
MasterDuke | irclog.perlgeek.de/moarvm/2017-03-11 has the comments i was thinking of | 00:45 | |
jeffythedragonsl | hmm | 00:46 | |
00:46
mcmillhj joined
00:47
khw left
|
|||
jeffythedragonsl | why use gdb for python instead of pdb? | 00:47 | |
samcv | j: 'st'.fc.say | 00:48 | |
camelia | st | ||
00:48
ggoebel joined
00:49
khw joined
00:51
mcmillhj left
|
|||
MasterDuke | jeffythedragonsl: i think it's the other way around? using some python script in gdb | 00:52 | |
jeffythedragonsl | I git cloned moarvm and there's no code in MoarVM/3rdparth/libtomath | 00:54 | |
MasterDuke | it got turned into a submodule, so i think you have to `perl Configure.pl` and that will clone it | 00:55 | |
00:56
ecocode left
|
|||
jeffythedragonsl | ok | 00:56 | |
all I see that looks anything like that is in src/math/bigintops.c theres MVM_bigint_expmod | |||
00:57
ecocode joined
|
|||
MasterDuke | yeah, looks like it pretty much just calls mp_exptmod | 00:58 | |
00:58
risou is now known as risou_awy
|
|||
MasterDuke | 3rdparty/libtommath/bn_mp_exptmod.c:24: | 01:00 | |
jeffythedragonsl | so it's going into infinite recursion with no stack overflow? | ||
01:01
ecocode left,
ecocode joined
|
|||
MasterDuke | could be, i haven't looked at it at all, just noticed it was being talked about | 01:03 | |
01:08
mcmillhj joined
01:12
avuserow left,
avuserow joined
01:13
mcmillhj left
|
|||
jeffythedragonsl | I'm thinking github.com/perl6/nqp/issues/332 might be easier since it's all in MoarVM | 01:14 | |
I can reproduce it now | |||
01:17
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:20
user9 left
01:25
bjz joined,
mcmillhj joined,
Cabanossi left
|
|||
jeffythedragonsl | anyone have any idea where the code for || is? | 01:27 | |
01:29
Cabanossi joined
|
|||
MasterDuke | you could try doing `--target=ast` and see what it gives | 01:29 | |
01:30
mcmillhj left
|
|||
MasterDuke | e.g., perl6 --target=ast -e 'your code here' | 01:30 | |
jeffythedragonsl | I guess it's called something like infix:<||> | 01:33 | |
MasterDuke | probably | 01:34 | |
Geth | whateverable: fcf6ae0542 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/committable.t Test very old tags Adds tests for issue #30. 2014.01 is the oldest release of Rakudo on MoarVM, currently we do not provide anything older than that. |
01:35 | |
IOninja points out the bug is in nqp, so doing `perl6 --...` is a bit far from home. | 01:36 | ||
01:37
user9 joined
|
|||
MasterDuke | heh, whoops. `nqp --target=ast -e 'your code here'` | 01:37 | |
jeffythedragonsl | ok, it's QAST::Op(unless &infix:<||>) || | 01:38 | |
if you put 4 || 200 in it evaluates to 4, only if you use a variable it's zero | 01:39 | ||
MasterDuke | might try saving off the asts for each version and diffing them, might give you a place to look | 01:41 | |
and making the variable an int also give 4 | |||
IOninja | nqp: my $v := 42; my int $x := nqp::unless($v, 5); say($x) | 01:42 | |
camelia | 0 | ||
IOninja | nqp: my $v := ''; my int $x := nqp::if($v, 5); say($x) | 01:43 | |
camelia | 0 | ||
IOninja | nqp: my $v := ''; my $x := nqp::if($v, 5); say($x) | 01:44 | |
camelia | |||
IOninja | nqp: my $v := ''; my num $x := nqp::if($v, 5); say($x) | 01:45 | |
camelia | 0 | ||
jeffythedragonsl | $ nqp --target=ast -e "my $bar := 4; my int $foo2 := $bar || 200;" | ||
Confused at line 2, near "my int :=" | |||
at gen/moar/stage2/NQPHLL.nqp:765 (/home/jpl/.rakudobrew/moar-nom/install/share/nqp/lib/NQPHLL.moarvm:panic) | |||
MasterDuke | might try disabling spesh or the jit | ||
01:45
AngeloMichael joined,
Actualeyes left
|
|||
MasterDuke | can't use " for the outermost quote, the shell uses them | 01:46 | |
jeffythedragonsl | single quotes work | 01:47 | |
01:47
mcmillhj joined
01:49
agentzh joined,
lukaramu left
|
|||
jeffythedragonsl | diff of the two versions | 01:51 | |
$ diff foo foo2 | |||
40c40 | |||
< - QAST::Stmts my $bar := 4; my int $foo := $bar || 200; | |||
--- | |||
> - QAST::Stmts my $bar := 4; my int $foo := 4 || 200; | |||
46c46 | |||
< - QAST::Op(bind) :var_initialized<?> int $foo := $bar || 200 | |||
--- | |||
> - QAST::Op(bind) :var_initialized<?> int $foo := 4 || 200 | |||
49c49 | |||
< - QAST::Var(lexical $bar) | |||
--- | |||
> - QAST::IVal(4) | |||
don't see how that really helps me though | |||
:q | |||
IOninja | jeffythedragonsl: FWIW we have #perl6-dev | ||
jeffythedragonsl | ok :) | 01:52 | |
01:56
mcmillhj left
02:01
Ven left
02:03
wamba1 joined
02:04
labster joined
02:06
kalkin- joined
02:09
kalkin-_ left
02:11
gdonald left,
gdonald joined,
Cabanossi left
|
|||
Geth | whateverable: a96dec07a5 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files Make sure huge STDIN is not replied back fully Adds some tests for issue #34. Interestingly, we only test stdin features for committable and evalable even though *all* bots support it equally. Perhaps it's time to create a separate file for common tests. |
02:12 | |
02:12
diakopter___ joined
02:14
Cabanossi joined,
ZzZombo joined,
ZzZombo left,
ZzZombo joined
|
|||
ZzZombo | Is there a way to do this in just one assigment? | 02:23 | |
m: 'a b c' ~~ /(\w)\s(\w)\s(\w)/;say my ($x,$y,$z)=$0,$1,$2 | |||
camelia | (「a」 「b」 「c」) | ||
MasterDuke | m: my ($x,$y,$z) = |("a b c" ~~ /(\w)\s(\w)\s(\w)/); say $x; say $y; say $z | 02:26 | |
camelia | 「a」 「b」 「c」 |
||
ZzZombo | thanks, very good. | 02:27 | |
MasterDuke | np | ||
02:34
aborazmeh left
02:39
bjz left,
labster left
02:40
mcmillhj joined
02:41
Cabanossi left
02:42
risou_awy is now known as risou
02:44
Cabanossi joined
02:45
ilbot3 left,
mcmillhj left
02:47
user9 left,
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:48
jeffythedragonsl left
02:50
user9 joined
02:52
mcmillhj joined
02:54
jpl_ joined,
ZzZombo left
02:56
skids joined,
user10 joined,
mcmillhj left
02:57
user9 left,
user10 is now known as user9
02:59
diakopter___ left
03:03
mcmillhj joined
03:08
mcmillhj left
03:09
mcmillhj joined
03:12
bjz joined
03:14
mcmillhj left
|
|||
naxieAlDle | m: "a b c" ~~ /$<x>=\w\s$<y>=\w\s$<z>=\w/; say $<x>; say $<y>; say $<z> | 03:15 | |
camelia | 「a」 「b」 「c」 |
||
naxieAlDle | too late… :) | ||
IOninja | m: my ($x,$y,$z) = 'a b c'.words; dd [ $x, $y, $z ] | 03:20 | |
camelia | ["a", "b", "c"] | ||
03:21
mcmillhj joined
03:26
mcmillhj left
03:28
pierrot_ joined
03:29
Dunearhp_ joined,
r3m left,
ilbelkyr_ joined
03:30
r3m joined,
ilbelkyr left,
ilbelkyr_ is now known as ilbelkyr,
labster joined
03:31
garu joined
03:33
mcmillhj joined,
ccntrq- joined
03:34
hobbified joined,
r3m left
03:35
r3m joined
03:36
girafe left,
Xliff left,
Dunearhp left,
xxpor left,
Undercover left,
SourceBaby left,
synopsebot6 left,
dalek left,
salparadise left,
Matthew[m] left,
unclechu left,
TBSliver left,
cpage left,
garu_ left,
ribasushi left,
pierrot left,
ccntrq left,
jhill__ left,
hobbs left,
Grauwolf left
03:37
xxpor joined,
ribasushi joined,
mcmillhj left
03:39
mcmillhj joined
|
|||
IOninja | nqp doesn't have multies, does it? | 03:41 | |
03:42
noganex joined
|
|||
Geth | whateverable: d6c1f87205 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 5 files Tests malformed links Adds tests for issue #103. Again, these should probably be separated into a file with common tests. The commands are slightly different for each bot, but that's not a big problem. |
03:43 | |
03:44
girafe joined,
salparadise joined,
unclechu joined
03:45
mcmillhj left,
noganex_ left
03:48
jpl_ left
03:49
jhill__ joined,
dalek joined,
Xliff joined,
Undercover joined,
SourceBaby joined,
synopsebot6 joined,
Matthew[m] joined,
TBSliver joined,
cpage joined,
Grauwolf joined,
karatkievich.freenode.net sets mode: +vvv Undercover SourceBaby synopsebot6,
jhill__ left,
jhill__ joined,
ChanServ sets mode: +v dalek,
jhill__ left
03:50
AngeloMichael left,
mcmillhj joined
03:52
jhill__ joined
03:55
bjz left
03:56
ZzZombo joined,
ZzZombo left,
ZzZombo joined,
mcmillhj left
03:57
mcmillhj joined
03:58
bjz joined
|
|||
Geth | whateverable: 73e51c7e8d | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files Make sure we have some sane characters in stdin Adds tests for issue #83. |
03:58 | |
04:02
mcmillhj left
|
|||
ZzZombo | Is this expected to behave this way? | 04:06 | |
m: grammar A {token TOP { (<ws>+ || <alnum>+ || <cntrl>+ || .)* } };class B { method TOP($/) { say $/ }};say A.parse(' founded the Evidenzbureau in 1850 as the ',:actions(B)); | |||
camelia | (timeout) | ||
04:08
Cabanossi left
|
|||
IOninja | m: my num:D $ = 42e0; | 04:08 | |
camelia | Type check failed in assignment; expected num:D but got Num (42e0) in block <unit> at <tmp> line 1 |
||
IOninja | m: my num $ = 42e0; | ||
camelia | ( no output ) | ||
IOninja | m: my int:D $ = 42; | 04:09 | |
camelia | Type check failed in assignment; expected int:D but got Int (42) in block <unit> at <tmp> line 1 |
||
04:09
Cabanossi joined
|
|||
IOninja | m: multi foo (Int:D $x) {say "here"}; multi foo (int:D $x) { say "there" }; foo my int $x = 42 | 04:10 | |
camelia | there | ||
IOninja | m: my int:D $ = my int $x = 42 | ||
camelia | Type check failed in assignment; expected int:D but got Int (42) in block <unit> at <tmp> line 1 |
||
naxieAlDle | m: grammar A {token TOP { <ws>+ } }; say A.parse(‘hello’); | ||
04:10
Todd joined
|
|||
IOninja | This feels a bit bustified. Probably should just throw when attempting to use type smiley on natives? | 04:11 | |
camelia | (timeout) | ||
naxieAlDle | m: ‘hello’ ~~ /<ws>+/ | ||
ZzZombo: ok, here's the reason ↑ | |||
camelia | (timeout) | ||
naxieAlDle | m: ‘hello’ ~~ /<ws>/ | ||
camelia | ( no output ) | ||
naxieAlDle | m: say ‘hello’ ~~ /<ws>/ | ||
camelia | 「」 ws => 「」 |
||
naxieAlDle | or this, to be exact | ||
ZzZombo: <ws> may be zero-width, so you end up matching it forever | 04:12 | ||
I think it has always been like this | |||
all: say ‘hello’ ~~ /<ws>/ | |||
IOninja | <ws>+ don't make sense as <ws> covers it. | ||
naxieAlDle | but we can double-check, of course | ||
committable6 | naxieAlDle, gist.github.com/7487193b7df50e7e88...2f6fecf4be | 04:13 | |
naxieAlDle | all: say 'hello' ~~ /<ws>/ | ||
ya | |||
Todd | Hi All, A quick question on subsitutions. This subsitution `$Clipboard ~~ s:global|\t| |;` replaces tabs with spaces. Question, if I had wanted to use `chr(9)` instead of `\t`, how would I do such (what is the syntax)? | ||
committable6 | naxieAlDle, gist.github.com/4ef103af1276adad35...9a9b6524b4 | ||
naxieAlDle | Todd: <{chr(9)}> perhaps | 04:14 | |
IOninja | Todd: {chr 9)} instead of \t | ||
s/)// | |||
Todd | testing | ||
ZzZombo | m: grammar A {token TOP { (<alnum>+ || <cntrl>+ || .)* } };class B { method TOP($/) { say $/ }};say A.parse(' founded the Evidenzbureau in 1850 as the ',:actions(B)); | ||
camelia | 「 founded the Evidenzbureau in 1850 as the 」 0 => 「 」 0 => 「founded」 alnum => 「f」 alnum => 「o」 alnum => 「u」 alnum => 「n」 alnum => 「d」 alnum => 「e」 alnum => 「d」 0 => 「 」 0… |
||
IOninja | Ah, right, naxieAlDle's version | ||
ZzZombo | hm... but I do need whitespaces covered | 04:15 | |
naxieAlDle | ZzZombo: what about \s+ ? | 04:16 | |
ZzZombo | m: grammar A {token TOP { (\s+ || <alnum>+ || <cntrl>+ || .)* } };class B { method TOP($/) { say $/ }};say A.parse(' founded the Evidenzbureau in 1850 as the ',:actions(B)); | ||
camelia | 「 founded the Evidenzbureau in 1850 as the 」 0 => 「 」 0 => 「founded」 alnum => 「f」 alnum => 「o」 alnum => 「u」 alnum => 「n」 alnum => 「d」 alnum => 「e」 alnum => 「d」 0 => 「 」 0… |
||
ZzZombo | is't it supposed to be the same? | ||
naxieAlDle | not at all | 04:17 | |
but if you mean “one or more spaces”, then you need \s+ | |||
or, optionally, you can redefine <ws> to mean \s+ | |||
04:21
BenGoldberg left
|
|||
Todd | Thank you.. My test has a sybntax error. once I figure it out, I will be back | 04:23 | |
Geth | whateverable: 08d08fb9e7 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 5 files Make sure it is possible to add a comment after URLs Adds tests for issue #75. |
04:26 | |
04:31
ZzZombo_ joined,
ZzZombo_ left,
ZzZombo_ joined,
ZzZombo is now known as Guest78042
04:32
ZzZombo_ is now known as ZzZombo,
khw left,
Guest78042 left
04:34
silug left,
perlawhirl left
04:39
naxieAlDle left
04:42
DnAeillaxe joined
04:44
ZzZombo_ joined,
ZzZombo is now known as Guest89347,
ZzZombo_ left,
ZzZombo_ joined,
ZzZombo_ is now known as ZzZombo
04:47
Guest89347 left,
silug joined
04:56
Exodist left,
Exodist joined
05:00
pierrot_ is now known as pierrot,
pierrot left,
pierrot joined
05:01
mcmillhj joined
05:08
Cabanossi left
05:10
Cabanossi joined
|
|||
Geth | whateverable: 5c8e78f444 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/committable.t Test the fallback response Adds a test for issue #67. Generally, this fallback was added to handle buggy behavior. Any bot should figure out what to respond for *any* given command. Committable is the only bot that does not do so, which is why we are able to test the fallback response. Arguably, this should be changed, but the default response is actually spot on in this particular case. |
05:10 | |
05:47
CIAvash joined
|
|||
samcv | looks like latest kde adds support for EditorConfig | 05:51 | |
that's neat | |||
editorconfig for everything! | |||
Geth | doc: fd7a41bca3 | (Zoffix Znet)++ | doc/Type/IO/Path.pod6 [io grant] Improve code example - remove Perl 5-ist parentheses - avoid repetition of a variable - fix incorrect Range (prose says "first three files") - gather IO::Paths, not strings - Don't use regex when we don't need it - No need to test .f |
05:57 | |
05:58
wamba1 left
|
|||
Geth | doc: 110efb41af | (Zoffix Znet)++ | doc/Type/IO/Path.pod6 [io grant] No need for `.ends-with` |
06:01 | |
samcv | good post by someone who worked at microsoft about programming and complexity hackernoon.com/complexity-and-stra....ob7riudaf | 06:02 | |
Geth | whateverable: daf479ad16 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 5 files Make sure bots understand their misspelled nicknames Adds tests for issue #39. |
06:04 | |
06:07
faraco joined
|
|||
faraco | IONinja: I'm sure people will adopt it more in the future. | 06:08 | |
06:11
cibs left
|
|||
Todd | Hi, I am back. I am still tryuing to figure out `s:global|{chr(9)}|Z|`. I create a test program to demonstrate the issue I am having. vpaste.net/OIoMP Would you guys mind taking a look at it? | 06:11 | |
IOninja | Todd: it's <{chr 9}> not {chr 9} | 06:12 | |
06:12
cibs joined
|
|||
IOninja | You can also use \x[9] | 06:13 | |
What are you trying to do anyway? | |||
Todd | perl6 -e 'my $x="a\tb\tc"; say $x; $x ~~ s:global|<{chr(9)}>|z|; say $x' | ||
Null regex not allowed | |||
DnAeillaxe | m: my $x="a\tb\tc"; say $x; $x ~~ s:global|<{chr(9)}>|z|; say $x | ||
camelia | a b c 5===SORRY!5=== Error while compiling /home/camelia/EVAL_0 Null regex not allowed at /home/camelia/EVAL_0:1 ------> 3anon regex { 7⏏5} |
||
IOninja | m: my $x="a\tb\tc"; say $x; $x ~~ s:global|a<{chr(9)}>|z|; say $x | 06:14 | |
camelia | a b c 5===SORRY!5=== Error while compiling /home/camelia/EVAL_0 Null regex not allowed at /home/camelia/EVAL_0:1 ------> 3anon regex { 7⏏5} |
||
IOninja | heh | ||
DnAeillaxe | wtf? | ||
Todd | perl6 -e 'my $x="a\tb\tc"; say $x; $x ~~ s:global|<{chr 9}>|z|; say $x' same error | ||
IOninja | Todd: what are you trying to do? | ||
DnAeillaxe | maybe you'd love .trans more? | 06:15 | |
IOninja | Ah | ||
m: my $x="a\tb\tc"; say $x; $x ~~ s:ss:global|<{chr(9)}>|z|; say $x | |||
camelia | a b c 5===SORRY!5=== Error while compiling /home/camelia/EVAL_0 Null regex not allowed at /home/camelia/EVAL_0:1 ------> 3anon regex { 7⏏5} |
||
Todd | I am trying to put together an example subsitute file that shows how to subsitute a non-printable character that doesn't have a fancy `\t` for it | ||
DnAeillaxe | “{chr(9)}” ? | ||
IOninja | Well, whatever the switch to use significant spacing is | 06:16 | |
DnAeillaxe | m: my $x="a\tb\tc"; say $x; $x ~~ s:ss:global|"{chr(9)">|z|; say $x | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3\tc"; say $x; $x ~~ s:ss:global|"{chr(9)7⏏5">|z|; say $x expecting any of: infix infix stopper statement end s… |
||
DnAeillaxe | m: my $x="a\tb\tc"; say $x; $x ~~ s:ss:global|"{chr(9)}">|z|; say $x | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Couldn't find terminator | at <tmp>:1 ------> 3c"; say $x; $x ~~ s:ss:global|"{chr(9)}"7⏏5>|z|; say $x expecting any of: horizontal whitespace infix stopper st… |
||
DnAeillaxe | m: my $x="a\tb\tc"; say $x; $x ~~ s:ss:global|"{chr(9)}"|z|; say $x | ||
camelia | a b c azbzc |
||
DnAeillaxe | \o/ | ||
samcv | why not just \x[9] | ||
Todd | perl6 -e 'my $x="a\tb\tc"; say $x; $x ~~ s:global|"{chr 9}"|z|; say $x' Perfect!!!! Thank you! | ||
DnAeillaxe | m: my $x="a\tb\tc"; say $x; $x ~~ s:ss:global|\x<9>|z|; say $x | 06:17 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unrecognized backslash sequence: '\x' at <tmp>:1 ------> 3x="a\tb\tc"; say $x; $x ~~ s:ss:global|\7⏏5x<9>|z|; say $x |
||
samcv | yeah gotta have the interpolation to have it actually act as a string not as code | ||
m: my $x="a\tb\tc"; say $x; $x ~~ s:ss:global|\x[9]|z|; say $x | |||
camelia | a b c azbzc |
||
DnAeillaxe | Todd: oh… so | 06:19 | |
06:19
mcmillhj left
|
|||
DnAeillaxe | m: my $x="a\tb\tc"; say $x; say $x.trans((chr 9,) => (‘Z’)) | 06:19 | |
camelia | a b c aZbZc |
||
DnAeillaxe | Todd: why not something like this? | 06:20 | |
samcv | i'm still not sure what he.'s trying to do | 06:21 | |
Todd | no reason. I just want to get `s` down. I am trying to learn its quirks | ||
samcv | replace tabs with z's? | ||
use \t or \x[7] | |||
or you can be weird and do "{ }" if you want, or even put code there | |||
or something | |||
well i mean code that creates the string literal | |||
06:22
rindolf joined
|
|||
samcv | m: say 'abcdefg' ~~ s/"{'d' ~ 'e'}"/z | 06:22 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Malformed replacement part; couldn't find final / at <tmp>:1 ------> 3say 'abcdefg' ~~ s/"{'d' ~ 'e'}"/z7⏏5<EOL> expecting any of: horizontal whitespace infix stopper … |
||
samcv | m: say 'abcdefg' ~~ s/"{'d' ~ 'e'}"/z/ | ||
camelia | Cannot modify an immutable Str in block <unit> at <tmp> line 1 |
||
samcv | m: my $a = 'abcdefg'; $a ~~ s/"{'d' ~ 'e'}"/z/ | ||
camelia | ( no output ) | ||
samcv | m: my $a = 'abcdefg'; say $a ~~ s/"{'d' ~ 'e'}"/z/ | ||
camelia | 「de」 | ||
samcv | m: my $a = 'abcdefg'; $a ~~ s/"{'d' ~ 'e'}"/z/; say $a; | 06:23 | |
camelia | abczfg | ||
Todd | `\x9` is hex? | ||
samcv | my bad. it returns the match, but changes the variable | ||
yes Todd | |||
Todd | waht is octal and what is base 10? | 06:24 | |
\x9 worked too | |||
samcv | never done octal unicode before. sounds silly | 06:25 | |
DnAeillaxe | \c[9] is dec | ||
06:25
mcmillhj joined
|
|||
samcv | what | 06:25 | |
you serious? | |||
DnAeillaxe | am I wrong? | 06:26 | |
samcv | idk | ||
m: say "\c[BOY]" | |||
camelia | 👦 | ||
samcv | that sure ain't a number | ||
DnAeillaxe | m: my $x="a\tb\tc"; say $x; $x ~~ s|“\c[97]”|z|; say $x | ||
camelia | a b c z b c |
||
DnAeillaxe | but that is | ||
samcv | m: say "\c[20]" | ||
camelia | |||
samcv | huh. that's super weird... ok | ||
DnAeillaxe | :) | ||
samcv | until unicode names something that's all numbers i guess we'll be fine | 06:27 | |
which is not allowed in their current rules. it has to start with an ascii letter | |||
cant't have two spaces in a row or two dashes in a row either | |||
DnAeillaxe | u: fullwidth five | 06:28 | |
unicodable6 | DnAeillaxe, U+FF15 FULLWIDTH DIGIT FIVE [Nd] (5) | ||
DnAeillaxe | m: say “\c[55]” | ||
camelia | 7 | ||
DnAeillaxe | m: say “\c[555]” | ||
camelia | ȫ | ||
samcv | DnAeillaxe, so does it check the 1st character and see if it's a number? | 06:29 | |
should look at the source. wherever it is in there | |||
DnAeillaxe | haven't seen the source code for this | ||
samcv | i did. a while ago | ||
06:30
mcmillhj left
|
|||
samcv | well. actually recently. but not the part we're talking about. but it's probably the same file or maybe related. let me see | 06:30 | |
cause i removed jvm's #?if since i added getstrfromname to jvm | 06:31 | ||
DnAeillaxe | m: say “\o[10” | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in octal character; couldn't find final ']' at <tmp>:1 ------> 3say “\o[107⏏5” |
||
DnAeillaxe | m: say “\o[10]” | ||
camelia | |||
DnAeillaxe | okay, that's octal | ||
samcv | ew | ||
oh i must have only removed it from rakudo. nqp still has the ?if's in there | 06:32 | ||
i might have to regenerate the stages if i do that | |||
or maybe not. not sure about the jvm | 06:33 | ||
06:33
travis-ci joined
|
|||
travis-ci | Doc build passed. Zoffix Znet '[io grant] No need for `.ends-with`' | 06:33 | |
travis-ci.org/perl6/doc/builds/210199966 github.com/perl6/doc/compare/fd7a4...0efb41af0b | |||
06:33
travis-ci left
|
|||
DnAeillaxe | github.com/perl6/nqp/blob/f414161e...r.nqp#L162 | 06:33 | |
m: say “\c[5_5_5]” | 06:34 | ||
camelia | ȫ | ||
Todd | I am not getting binay or octal to work `s:global|\o12|Q|` `s:global|\b1001|R|` | ||
06:34
travis-ci joined
|
|||
travis-ci | Doc build passed. Zoffix Znet '[io grant] Improve code example | 06:34 | |
travis-ci.org/perl6/doc/builds/210199463 github.com/perl6/doc/compare/9c2b7...7a41bca34d | 06:35 | ||
06:35
travis-ci left
|
|||
samcv | that makes the code there make so much more sense now | 06:36 | |
DnAeillaxe | Todd: it should be \o11 | ||
samcv | i mean i had worked with it, but didn't know \c[99] would work, though it makes sense | ||
06:36
mcmillhj joined
06:37
Cabanossi left
|
|||
samcv | yeah i need to regenerate the jvm stages | 06:37 | |
DnAeillaxe | Todd: and binary is not going to work this way, I believe | 06:38 | |
Todd | `s:global|\b1001|R` it is not. The octal worked as soon as I put the right number in | 06:39 | |
DnAeillaxe | samcv: what's the meaning of this? | <control=[ ?..Z ]> | ||
06:39
Cabanossi joined
|
|||
samcv | idk where are you seeing that | 06:40 | |
06:41
mcmillhj left
|
|||
DnAeillaxe | github.com/perl6/nqp/blob/f414161e...r.nqp#L166 | 06:41 | |
looks like some dead code | |||
and this is what happens with it later: github.com/perl6/nqp/blob/b069919f...#L231-L232 | |||
samcv | why do you say dead code? | 06:42 | |
DnAeillaxe | how can you trigger it? | ||
m: say "\c[A]" # nope | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unrecognized character name [A] at <tmp>:1 ------> 3say "\c[A7⏏5]" # nope |
||
06:42
jpl_ joined
|
|||
samcv | github.com/perl6/nqp/blob/f414161e...r.nqp#L143 | 06:42 | |
06:43
jpl_ left
|
|||
IOninja | DnAeillaxe: the meaning is set $<control> to the Match that matches <[?..Z]> | 06:43 | |
*matched | |||
DnAeillaxe | sure, that I understand | ||
06:43
agentzh left
|
|||
DnAeillaxe | but I wonder why \c[A] doesn't work | 06:44 | |
IOninja | Because there's no char named "A"? | ||
Or is that the code that matches stuff? | |||
06:44
ZzZombo_ joined
|
|||
IOninja | Ah | 06:44 | |
DnAeillaxe | m: say "\cA" | 06:45 | |
camelia | |||
DnAeillaxe | ah | ||
m: say "\cZ" | |||
camelia | |||
06:45
ZzZombo left
|
|||
DnAeillaxe | because I'm blind, yet again | 06:45 | |
ok now it makes sense | |||
Todd | Got another question: I asked the badly on the mailing list. So, I will trying asking it a little more clearly. We have all kinds of escaped characters for various things, for instance `\t`, `\n`, \d`, `\D` etc.. Is there a list of all these somewhere? | 06:46 | |
DnAeillaxe | and also: | ||
m: say "\c[55]" | |||
camelia | 7 | ||
DnAeillaxe | m: say "\c55" | ||
camelia | 7 | ||
samcv | Todd, start heredocs.perl6.org/language/regexes#Ba...er_classes | 06:47 | |
DnAeillaxe | hm… ok nevermind | ||
Todd | Hi Sam! Perfect!! Thank you! | ||
samcv | np | 06:48 | |
Todd | And, how about a list of all the special characters `:xxxx`, for instance, `:space` `:global` ? | 06:49 | |
DnAeillaxe | Todd: docs.perl6.org/language/regexes#Adverbs what about this? | 06:51 | |
m: say "\c[BOY, 0x7_0, 0b110_011, 55]" | |||
camelia | 👦p37 | ||
DnAeillaxe | ok | ||
m: say "\cZ" | 06:52 | ||
camelia | |||
06:52
mcmillhj joined
|
|||
DnAeillaxe wonders why characters 0x1B…0x1F have no shortcut | 06:53 | ||
06:54
parv joined
|
|||
DnAeillaxe | ah, because of the way it is implemented, maybe. Whatever. My horse is getting tired. | 06:55 | |
Todd | DnAeillaxe: I wanted that one too! Thank you. But I still need the long ones, like :space and :global | ||
You read my mind! | 06:56 | ||
DnAeillaxe | Todd: it's all there | ||
06:56
mcmillhj left
06:57
rindolf left
|
|||
Todd | I just did not scroll far enough. Thank you! | 06:58 | |
faraco | .tell timotimo Sorry for a very late reply, here is the benchmark with whitenoise.pl - | 06:59 | |
yoleaux | faraco: I'll pass your message to timotimo. | ||
faraco | real0m3.725s - user0m3.280s - sys0m0.120s | ||
07:03
mcmillhj joined
07:07
Cabanossi left
07:08
mcmillhj left
|
|||
Todd | I am trying to count the number of letters in a string. Not having much luck. DuckDuckGo is giving me tons of Perl 5 examples. Thisis what I have that does not work: | 07:09 | |
perl6 -e 'my $x='12abc34'; my $i; for $x ~~ :global/\D/ {$i++;}; say $i;' | |||
07:09
Cabanossi joined
|
|||
Todd | Doesn't like my ~~ | 07:10 | |
ZzZombo_ | Cannot resolve caller end(Text::Generator::BasicText::Actions: Match); none of these signatures match: | 07:13 | |
(Any:U $: *%_) | |||
(Any:D $: *%_) | |||
grammar Test | |||
{ | |||
token TOP { ([<whitespace> || <word> || <symbol>]* <end>) } | |||
...token end { $ } | |||
} | |||
what's wrong? | |||
Geth | whateverable: ef025b9cb2 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/benchable.t Benchable does this fallback thingy too |
07:14 | |
DnAeillaxe | Todd: why not just $x.chars ? | 07:15 | |
ah, number of letters… | 07:16 | ||
fine | |||
m: my $x='12abc34'; say +$x.comb(/\D/) | |||
ZzZombo_ | huh, renaming end to endd solved this. | ||
camelia | 3 | ||
07:17
perlpilot left,
perlpilot joined
|
|||
Todd | I will have a time string `01:24` in hours and minutes format. I need to test the string to make sure it is really a valid time string (I will be reading it from the clipboard). So I wanted to know how many letter and how many numbers are in the string. I also wanted to know how many colons were present. So I wanteer to know the count of letters, numbers, and colons | 07:18 | |
DnAeillaxe | m: my $x=‘12abc34’; my $t; $t++ if /\D/ for $x.comb; say $t | ||
camelia | 3 | ||
Todd | I will run your example | 07:19 | |
CIAvash | Todd: m:global/\D/ | ||
Todd | how do I use that | 07:20 | |
? | |||
Dn's example worked. | 07:21 | ||
07:22
ZzZombo joined
07:23
ZzZombo is now known as Guest48672
|
|||
CIAvash | "m" is missing in the code you pasted, before :global | 07:23 | |
Todd | my $i; for $x ~~ m:global/\D/ {$i++;}; say $i;' | 07:24 | |
syntax error near unexpected token `~~' | |||
07:24
ZzZombo_ left
|
|||
IOninja | m: subset ValidTime where {try DateTime.new: "2016-12-31T$_:00"}; say $_ ~~ ValidTime for '12:00', '28:00', '00:56' | 07:25 | |
camelia | True False True |
||
CIAvash | m: my $x='12abc34'; my $i; for $x ~~ m:global/\D/ {$i++;}; say $i; | 07:26 | |
camelia | 3 | ||
CIAvash | Todd: ↑ | ||
Todd | testing | ||
IOninja | m: my $x='12abc34'; my $i = elems $x ~~ m:global/\D/; say $i | 07:27 | |
camelia | 3 | ||
Todd | That worked worked Thank you! I take it "m" meant "match"? | 07:29 | |
07:31
robertle left
|
|||
Todd | Thank you guy! I have to call it quits for the night | 07:34 | |
07:34
skids left
07:36
Todd left
|
|||
parv muses that Trigun ref showed up here. Hi there CIAvash. | 07:37 | ||
07:38
jraglin joined
|
|||
parv just heard "Dad's blast was awesome". :-O | 07:39 | ||
07:40
jraglin left
|
|||
CIAvash | hmm, it's not a Trigun ref | 07:42 | |
parv | The "blast" was from Dragon Ball something. | 07:43 | |
07:43
mcmillhj joined
07:44
DnAeillaxe left
07:47
mcmillhj left
07:52
domidumont joined
07:53
robertle joined
07:55
wamba1 joined
07:56
domidumont left
07:57
domidumont joined
08:05
cibs left
08:07
cibs joined
08:10
bjz_ joined
08:11
bjz left
08:12
eroux joined
|
|||
samcv | m: say "\c[penguin #blah blah]" | 08:13 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unrecognized \c character at <tmp>:1 ------> 3say "\c[7⏏5penguin #blah blah]" expecting any of: argument list double quotes term |
||
samcv | m: say "\c[penguin#blah blah]" | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unrecognized \c character at <tmp>:1 ------> 3say "\c[7⏏5penguin#blah blah]" expecting any of: argument list double quotes term |
||
samcv | hmm | ||
yeah that doesn't even work. i think somebody intented you to be able to put comments inside "\c[ ] things | 08:15 | ||
github.com/perl6/nqp/blob/f414161e...r.nqp#L159 | 08:16 | ||
08:17
Peter_R left
|
|||
samcv | yeah it doesn't even work across lines | 08:17 | |
08:19
Peter_R joined
08:20
Guest48672 left,
Guest48672 joined
08:21
Guest48672 is now known as ZzZombo,
mcmillhj joined
08:26
mcmillhj left
08:29
cibs left
08:31
cibs joined,
jraglin joined
|
|||
moritz | lol I blogged: perlgeek.de/blog-en/perl-6/2017-01...iable.html | 08:33 | |
08:39
mcmillhj joined
08:41
faraco left
08:44
mcmillhj left
08:46
bjz_ left
08:50
fir3starter joined
|
|||
fir3starter | how do you check if two hashes are identical? | 08:50 | |
m: {a => 5} == {a => 7} | |||
camelia | WARNINGS for <tmp>: Useless use of "==" in expression "{a => 5} == {a => 7}" in sink context (line 1) |
||
parv | smart op? | ||
08:51
gdonald left
|
|||
parv | sorry, smart match. | 08:51 | |
fir3starter | m: {a => 5} ~~ {a => 7} | ||
camelia | ( no output ) | ||
08:51
gdonald joined
|
|||
fir3starter | m: say {a => 5} ~~ {a => 7}; | 08:51 | |
camelia | False | ||
fir3starter | m: say {a => 5} ~~ {a => 5}; | ||
camelia | False | ||
08:52
bjz joined
|
|||
fir3starter | smart match doesn't work | 08:53 | |
TEttinger | m: say ({a => 5} ~~ {a => 5}); | 08:54 | |
camelia | False | ||
TEttinger | hm | ||
CIAvash | m: say {a => 5} eqv {a => 5}; | ||
camelia | True | ||
TEttinger | thanks | 08:55 | |
is eqv operator-like? | |||
it looks infix there | |||
CIAvash | docs.perl6.org/routine/eqv | 08:56 | |
fir3starter | according to this www.dlugosz.com/Perl6/web/eqv.html it is an operator | ||
08:56
jraglin left
|
|||
TEttinger | yep, and CIAvash's link too | 08:57 | |
thanks | |||
08:58
mcmillhj joined
|
|||
samcv | fir3starter, use eqv | 08:59 | |
fir3starter | unfortunately it still doesn't work with this: | ||
m: {a => (5, 5)} eqv {a => [5, 5]} | |||
camelia | WARNINGS for <tmp>: Useless use of "eqv" in expression "{a => (5, 5)} eqv {a => [5, 5]}" in sink context (line 1) |
||
fir3starter | m: say {a => (5, 5)} eqv {a => [5, 5]}; | 09:00 | |
camelia | False | ||
samcv | fir3starter, how old is that site? | ||
documentation on eqv is here docs.perl6.org/routine/eqv | |||
TEttinger | those aren't equivalent, right? | ||
samcv | no they are different things | 09:01 | |
parv | is eqv preferred over smart match? does docs.perl6.org/routine/$TILDE$TILDE list all the possible expected operands? | ||
samcv | say {a => (5, 5)} ~~ {a => [5, 5]}; | ||
m: say {a => (5, 5)} ~~ {a => [5, 5]}; | |||
camelia | False | ||
samcv | parv, uh smart match does different things in differetn contexts | ||
fir3starter | is there an operator that would treat these as equal? | ||
TEttinger | doesn't smart match check for contains? | ||
samcv | if you want to compare hashes, i don't think ~~ will help you | ||
fir3starter | ~~ checks if the number of keys is the same | 09:02 | |
samcv | m: say {a => (5, 5)} eq {a => [5, 5]}; | ||
camelia | True | ||
samcv | they both stringify the same, but that's not that great a way to do it. but works i suppose | 09:03 | |
also i'm not sure fir3starter | |||
what is the application | |||
09:03
mcmillhj left
|
|||
parv | is there any other current doc/article that discusses smartmatch in more details than docs.perl6.org/routine/$TILDE$TILDE? | 09:03 | |
samcv | not sure parv but ~~ can do uh ranges | 09:04 | |
and regex and uh | |||
well there's a list there | |||
if you don't understand one of those let me know. but that list is good. | 09:05 | ||
fir3starter | as i see in eq, element order matters | ||
samcv | plus it can match ranges too | ||
fir3starter | m: say {b => 1, a => 2} eq {a => 1, b => 2}; | ||
camelia | False | ||
fir3starter | oops, my bad :D | ||
samcv | say {b => 1, a => 2}.Str | ||
m: say {b => 1, a => 2}.Str | 09:06 | ||
camelia | a 2 b 1 |
||
fir3starter | my mistake | ||
parv | ok, thanks samcv. would you say the list is complete? | ||
samcv | well aside from range | ||
parv | aye. | ||
samcv | i think so | ||
m: say 1..10 ~~ 1..5 | |||
camelia | False | ||
samcv | m: say 1..5 ~~ 1..10 | 09:07 | |
camelia | True | ||
samcv | yeah it checks against the right hand side | ||
also parv generally if there's a number on the right side it'll do number semantics | |||
or if it's a string it'll stringify a number to compare | |||
m: say '9' ~~ 9 | |||
camelia | True | ||
samcv | so that compares them numerically | 09:08 | |
m: say 'a9' ~~ 9 | |||
camelia | False | ||
09:08
mcmillhj joined
|
|||
parv | hmm. hmm. | 09:08 | |
samcv | m: say 'blah' ~~ Str | ||
camelia | True | ||
samcv | can do types | ||
m: {a => (5, 5)}».flat eqv {a => [5, 5]}».flat | 09:09 | ||
camelia | WARNINGS for <tmp>: Useless use of "eqv" in expression "».flat eqv {a => [5, 5]}».flat" in sink context (line 1) |
||
samcv | m: say {a => (5, 5)}».flat eqv {a => [5, 5]}».flat | ||
camelia | False | ||
parv | i see; helps to think of ~~ as test of subset (in case of range), or (sub)type. | ||
samcv | yeah thought that wouldn't do what i want | ||
yeah | |||
compared based on what is in the right hand side | |||
if it's a regex it uses regex, string it uses string semantics etc | 09:10 | ||
ZzZombo | I've been stuck for a while; how do I refer to each named capture in a rule like | 09:11 | |
token TOP { ([<whitespace> || <word> || <symbol>]* <eof>) } | |||
in my action class? | |||
09:13
mcmillhj left
|
|||
fir3starter | $<whitespace>, $<word>, ...? | 09:13 | |
parv | is there an online perl6 REPL of some sort? | 09:15 | |
(short of here, to save my face) | 09:16 | ||
09:18
mcmillhj joined
09:20
MeirG left
09:21
espadrine joined
|
|||
samcv | idk parv | 09:23 | |
parv | samcv, no problemo | ||
09:23
mcmillhj left
|
|||
samcv | ZzZombo, have you seen the grammar tutorial? | 09:24 | |
docs.perl6.org/language/grammar_tu...th_Actions | 09:25 | ||
be back in a minute | |||
CIAvash | parv: depending on what you want to do, you can 「/msg camelia」 here or use glot.io/new/perl6 | 09:28 | |
parv | CIAvash: thanks. I just want to try some short snippets. | 09:29 | |
09:36
mcmillhj joined
09:37
Cabanossi left
09:40
Cabanossi joined
09:41
araujo left,
mcmillhj left
09:43
RabidGravy joined
09:45
MeirG joined
|
|||
MeirG | \help | 09:45 | |
\quit | 09:46 | ||
\QUIT | |||
ecocode | it's /, not \ | 09:47 | |
09:48
Todd joined
|
|||
Todd | quick question that I an not find on google for perl 6: how do I find out how many elements are in an array? | 09:49 | |
This is perl 5: perl -e 'my @x=qw[ aa bb cc ]; my $y=@x; print "$y\n";' answer is 3 | 09:50 | ||
This is my attempt at Perl 6: perl6 -e 'my @x=qw[ aa bb cc ]; my $y=@x; print "$y\n";' answer is aa bb cc | 09:51 | ||
scalar is not in perl6 either | |||
ZzZombo | I don't see anything relevant. | 09:53 | |
samcv | |||
Todd | 09:54 | ||
m: say (my @a=1,2,3).elems | |||
camelia | 3 | ||
09:54
Sound joined
|
|||
ZzZombo | m: say (my @a=1,2,3)+0 | 09:54 | |
camelia | 3 | ||
Todd | Found it! perl6 -e 'my @x=qw[ aa bb cc ]; say @x.elems;' it is just .elems | ||
09:54
mcmillhj joined
09:55
TEttinger left
|
|||
Todd | Thank you ZZ! | 09:55 | |
bye bye | |||
09:57
rindolf joined
09:59
mcmillhj left
|
|||
Todd | back again. what is the operator for modulus? I want the remainder 5 mod 3 = 2 | 10:01 | |
ZzZombo | m: say 10 % 2 | 10:02 | |
camelia | 0 | ||
Todd | Thank you! docs.perl6.org/language/operators#...o_operator was no help | ||
parv | is variable binding another name for aliasing? | 10:03 | |
10:13
eater left
10:14
mcmillhj joined
10:16
eater joined
10:17
dct left
10:18
mcmillhj left
|
|||
RabidGravy | parv, whilst the effect may be like aliasing, it's somewhat different | 10:20 | |
10:21
jpl_ joined
|
|||
RabidGravy | docs.perl6.org/language/containers#Binding | 10:21 | |
parv | RabidGravy, thanks; I just read that in moritz's post too perlgeek.de/blog-en/perl-6/2017-01...iable.html . | 10:22 | |
10:26
bjz left,
dct joined
10:33
mcmillhj joined
10:34
dct left
10:36
ZzZombo_ joined
10:37
ZzZombo left
10:38
mcmillhj left
10:44
dct joined
10:46
ilbelkyr left
10:48
ilbelkyr joined,
labster left
10:49
mcmillhj joined
10:53
domidumont left,
domidumont joined
10:54
dct left,
mcmillhj left
|
|||
Todd | is this the proper way to do an logical OR inside an "if"? | 10:56 | |
10:57
bjz joined
|
|||
Todd | if ( $NumCount < 2 ) || ( $LtrCount > 1 ) {do something} | 10:57 | |
RabidGravy | I don''t think you need the extra parentheses but yeah | 11:02 | |
Todd | Then I will check for a short between the headsets. :'( | 11:03 | |
11:04
eroux left
|
|||
Todd | what is the question to ask if a variable is initialized? | 11:05 | |
ZzZombo_ | m: say Any.defined | ||
camelia | False | ||
gfldex | Todd: there is more then one question for that | 11:06 | |
ZzZombo_ | m: say defined 'asd' | ||
camelia | True | ||
Todd | Perfect! Thank you! | ||
gfldex | Todd: see docs.perl6.org/language/typesystem...efinedness | ||
11:07
eroux joined,
robertle left
|
|||
Todd | Thank you! Bye Bye | 11:08 | |
11:08
Todd left
|
|||
ZzZombo_ | b-but you don't even have to disconnect every time. | 11:09 | |
RabidGravy | .seen jnthn | ||
yoleaux | I saw jnthn 11 Mar 2017 18:16Z in #perl6: * jnthn bbiab :) | ||
RabidGravy | not so much ab then :) | ||
11:09
mcmillhj joined
|
|||
jnthn | .oO( Oh no, I'm being ab tested! ) |
11:11 | |
RabidGravy: After something? :) | |||
ZzZombo_ | why does this suddenly not match <word>, but rather matches <symbol>: | 11:13 | |
token TOP { (<whitespace> || <word> || <symbol>)* } | |||
token word { <.alnum>+ <[' & . , -]+:Dash_Punctuation+:Connector_Punctuation> <.alnum>+ } | |||
token symbol { . } #everything else. | |||
when parsing "Modern development"? | |||
11:14
mcmillhj left
|
|||
ZzZombo_ | m: my token word { <.alnum>+ <[' & . , -]+:Dash_Punctuation+:Connector_Punctuation> <.alnum>+ };say "Modern development" ~~ /<&word>/ | 11:14 | |
camelia | Nil | ||
ZzZombo_ | hm | ||
m: my token word { <.alnum>+ <[' & . , -]+:Dash_Punctuation+:Connector_Punctuation> <.alnum>+ };say "Modern development" ~~ /<.alnum>+ <[' & . , -]+:Dash_Punctuation+:Connector_Punctuation> <.alnum>+/ | |||
camelia | Nil | ||
ZzZombo_ | what | ||
11:14
robertle joined
|
|||
ZzZombo_ | it used to work | 11:14 | |
RabidGravy | jnthn, well I just got round to looking at the Stomp::Server - do you anticipate that the tap on process-messages should be a given/when ever the command or should it actually be split up with a bunch of greps into indivdual supplies for each command? | ||
11:15
lukaramu joined
|
|||
jnthn | ZzZombo_: It expects alnum after the char class too? | 11:15 | |
ZzZombo_ | m: my token word { <.alnum>+ <[' & . , -]+:Dash_Punctuation+:Connector_Punctuation> <.alnum>+ };say "Modern development" ~~ /(<.alnum>+ <[' & . , -]+:Dash_Punctuation+:Connector_Punctuation>)* <.alnum>+/ | ||
camelia | 「Modern」 | ||
ZzZombo_ | yes | ||
basically words like "AT&T", "half-way" | |||
m: my token word { (<.alnum>+ <[' & . , -]+:Dash_Punctuation+:Connector_Punctuation>)* <.alnum>+ };say "Modern development" ~~ /<&word>/ | 11:16 | ||
camelia | 「Modern」 | ||
ZzZombo_ | huh | ||
when did I mess it up? | |||
jnthn | ZzZombo_: You didn't have the (...)* around the first part in the earlier examples, I think? | ||
ZzZombo_ | yes | ||
11:17
mscha joined
11:18
bjz left
|
|||
jnthn | RabidGravy: I think (it was ages ago though) I'd originally planned it so the listen connection would give you back an object per connection | 11:18 | |
RabidGravy: iirc, one supply is probably the most useful thing, because ordering matters | 11:19 | ||
mscha | m: class A { has Str $.s; method gist { $!s; } }; multi infix:<cmp>(A $a, A $b) { $a.s.chars <=> $b.s.chars }; (A.new(:s<aa>), A.new(:s<b>), A.new(:s<ccc>)).sort.say | ||
camelia | (aa b ccc) | ||
mscha | m: class A { has Str $.s; method gist { $!s; } }; multi infix:<cmp>(A $a, A $b) { $a.s.chars <=> $b.s.chars }; (A.new(:s<aa>), A.new(:s<b>), A.new(:s<ccc>)).sort(&infix:<cmp>).say | ||
camelia | (b aa ccc) | ||
mscha | Shouldn't the first one output the same as the second? | ||
jnthn | RabidGravy: Like, if you get a begin transaction, then some messages, then a commit (I forget the exact commands) | ||
mscha | And if not, how can I change the default sort on custom opbjects? | ||
objects? | 11:20 | ||
11:20
bjz joined
|
|||
jnthn | RabidGravy: So I guess in that sense it works a bit like sockets themselves: you get a supply of incoming connections, giving an object which has a supply of incoming things per connection. | 11:21 | |
11:21
rindolf left
|
|||
jnthn | mscha: That's expected I think, since operators are lexically scoped | 11:24 | |
So unless you pass in your current idea of what cmp is, then the sort method will see the one that exists where it's declared | 11:25 | ||
11:26
rindolf joined
|
|||
jnthn | It's more typical in Perl 6 to express the sort condition when sorting, functional style (so .sort(*.s.chars)). | 11:26 | |
RabidGravy | yeah, the subscribe/unsubscribe case too | 11:27 | |
11:27
jpl_ left
|
|||
jnthn | Indeed | 11:28 | |
11:29
mcmillhj joined
|
|||
mscha | jnthn: that's annoying, since in my actual case, I'd have to say .sort({ $^a.y <=> $^b.y || $^a.x <=> $^b.x }) | 11:29 | |
jnthn | mscha: Then implement cmp as you have, and just pass it in | 11:30 | |
In some languages, sort order is considered something owned by an object. Perl 6 just isn't one of them. | |||
mscha | Shame. | 11:31 | |
jnthn | As opposed to, say, smartmatching, which is done via. implementing an ACCEPTS method | ||
mscha | Something for 6.d? | ||
jnthn | No. | ||
At least, I'm pretty sure it's by design this way, not an oversight. | |||
mscha | OK, too bad. Thanks. | 11:32 | |
gfldex | mscha: you can .wrap operators in Perl 6 | 11:33 | |
11:33
mcmillhj left
|
|||
RabidGravy | jnthn, so really a Stomp::Server::Connection should be thing that does the MessageStream I guess | 11:34 | |
parv | later people. | ||
jnthn | RabidGravy: Yeah, that sounds reasonable | ||
11:34
parv left
|
|||
MasterDuke | mscha: i noticed that project euler solution you posted yesterday was spending a lot of time in infix:<max> with Ints, so i added a candidate specific to that, it shaves a couple seconds off the time | 11:34 | |
also, make the loop variables native ints shaved another couple seconds | 11:35 | ||
jnthn: left a question for you in #perl6-dev | 11:36 | ||
11:36
Sound left
|
|||
mscha | MasterDuke: “so i added a candidate specific to that”, what do you mean? | 11:37 | |
Native ints: good idea. | |||
MasterDuke | github.com/rakudo/rakudo/commit/a9c51964a0 shows the change | 11:38 | |
i added a version of max and min specifically for Ints, ints, Nums, and nums | 11:39 | ||
mscha | Ah, you mean in Rakudo, not my script. | 11:40 | |
MasterDuke | right. you could of course do the same thing manually if you don't want to update your rakudo | 11:41 | |
i don't know how you get it, but the next official rakudo release is a week from now | |||
11:46
mcmillhj joined
11:47
Sound joined
|
|||
mscha | Thanks, MasterDuke, I'll get it eventually. (Next Rakudo Star, probably.) | 11:48 | |
m: class A { has Str $.s; method gist { $!s; } }; &infix:<cmp>.wrap(-> $a, $b { if $a ~~ A && $b ~~ A { $a.s.chars <=> $b.s.chars } else { callsame } }); (A.new(:s<aa>), A.new(:s<b>), A.new(:s<ccc>)).sort.say | |||
camelia | (b aa ccc) | ||
mscha | gfldex: that works! Elegant? Hmm, not really... | 11:49 | |
MasterDuke | mscha: also, ++$x is faster than $x++, and $x = $x + 1 is faster still | 11:50 | |
jnthn | Not to mention slow and not certain to work if we inline before you wrap ;P | ||
mscha | Seriously, MasterDuke? I'll remember that. | 11:51 | |
11:51
mcmillhj left
|
|||
mscha | Any performance difference between $x = $x + 1 and $x += 1 ? | 11:51 | |
MasterDuke | yeah, $x = $x + 1 is faster | 11:53 | |
11:56
mcmillhj joined
|
|||
ZzZombo_ | m: my token word { (<.alnum>+ <[' & . , -]+:Dash_Punctuation+:Connector_Punctuation>)* <.alnum>+ };say "Modern development India," ~~ /<&word>/ | 11:58 | |
camelia | 「Modern」 | ||
Geth | Inline-Perl5/master: 5 commits pushed by (Luc St-Louis)++, (Stefan Seifert)++ | ||
ZzZombo_ | m: my token word { (<.alnum>+ <[' & . , -]+:Dash_Punctuation+:Connector_Punctuation>)* <.alnum>+ };say "India," ~~ /<&word>/ | ||
camelia | Nil | ||
12:00
araraloren left,
araraloren joined
12:01
mcmillhj left
12:05
mcmillhj joined
12:08
Cabanossi left,
araraloren left,
araraloren joined
12:09
andrzejku joined
12:10
Cabanossi joined,
mcmillhj left
|
|||
tbrowder | hi #perl6 | 12:18 | |
12:19
ZzZombo_ left
|
|||
tbrowder | i'm seeking some advice on a function name in a module i'm releasing soon | 12:19 | |
12:21
eroux left
|
|||
tbrowder | the module is Number::More and has subs named dec2bin, etc., for conversion of unsigned integers between binary, octal, dcimal, and hexadecimal | 12:21 | |
grondilu | I'd use adverbs | 12:22 | |
tbrowder | i've just added a general transformation sub and have initially named it baseM2baseN (yuk), ideas? | 12:23 | |
adverbs? | |||
grondilu | m: multi say(Int $n, :bin!) { say $n.fmt("0b%b"); }; say 5, :bin | 12:24 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Malformed parameter at <tmp>:1 ------> 3multi say(Int $n, :7⏏5bin!) { say $n.fmt("0b%b"); }; say 5, :b |
||
grondilu | m: multi say(Int $n, :$bin!) { say $n.fmt("0b%b"); }; say 5, :bin | ||
camelia | 0b101 | ||
12:25
mcmillhj joined
|
|||
grondilu | ^adverbs are basically named parameters | 12:25 | |
12:25
Actualeyes joined
|
|||
tbrowder | i'm using adverbs (named params). my subs allow other feature. all i'm loooking for is a name for the general sub | 12:26 | |
grondilu | foo2bar seems like a common enough idiom | ||
it's not pretty but * | 12:27 | ||
tbrowder | yes, hence bin2dec, etc | ||
grondilu | yeah, go for it | ||
though frankly perl6 already has lots of ways to display an integer in various bases | 12:28 | ||
mscha | m: sub baseM2baseN($x, $m, $n) { $x.parse-base($m).base($n) }; say baseM2baseN('1234', 8, 16); | ||
camelia | 29C | ||
tbrowder | but a single sub for transforming base X to base Y is what i want to get a good name for. baseX2baseY seems clunky. i've thought about shortening it to 'a2b' | 12:29 | |
12:29
mcmillhj left
|
|||
mscha | m: sub bin2dec($x) { $x.parse-base(2) }; say bin2dec('1011001010110111'); | 12:30 | |
camelia | 45751 | ||
tbrowder | i get it, all that is wrapped up and working nicely | ||
12:33
mcmillhj joined
12:38
mcmillhj left
12:41
agentzh joined
12:46
agentzh left
12:48
fir3starter left
12:49
ZzZombo joined,
ZzZombo left,
ZzZombo joined
12:51
mcmillhj joined
12:56
mcmillhj left
13:07
Cabanossi left
13:10
Cabanossi joined
13:11
mcmillhj joined,
gdonald left,
gdonald joined
|
|||
moritz | gimp tells me: "Metadata parasite seems to be corrupt" | 13:13 | |
of the category "wut?" | 13:14 | ||
DrForr | Radiation damage on the way back from Ceti Alpha V? | 13:15 | |
13:15
mcmillhj left
|
|||
ZzZombo | undefine(($prefix,$word,$postfix)); # after this line... | 13:22 | |
$prev-word=$word; # dead code... | |||
DrForr | . o ( I see dead code ); | ||
ZzZombo | m: my ($x,$y,$z)=1,23,5;undefine(($x,$y));$z=False;say $x,$y,$z | 13:23 | |
camelia | (Any)(Any)False | ||
ZzZombo | what gives? | ||
swapping the lines fixed the bug where $prev-word wasn't changed. | |||
13:27
mscha left
13:29
mcmillhj joined
13:34
lukaramu_ joined,
mcmillhj left
|
|||
tbrowder | in general, should i use tokens or named regexes for one-off matching? i think tokens don't backtrack so may be faster | 13:35 | |
how can i put a regex/token in an array so i can use it a | 13:36 | ||
tadzik | plus.google.com/114866592715069940...z6UixNCYCH not sure if slowpoke, but maybe a worthy insight into making JSON::Fast faster or so :) | ||
tbrowder | use it something like "$a~~ @b[6]" | ||
13:38
lukaramu left
13:39
Cabanossi left
13:40
Cabanossi joined
|
|||
gfldex | m: my \r = /abc/; say 'abc' ~~ r | 13:42 | |
camelia | 「abc」 | ||
13:42
pecastro left
|
|||
gfldex | m: my @r = /abc/; say 'abc' ~~ @r.all | 13:43 | |
camelia | True | ||
gfldex | tbrowder: ^^^ | ||
13:44
cibs left
|
|||
tbrowder | hi, gfldex, can you show me how to put a regex or token in an array and use it, please? | 13:45 | |
13:45
fir3starter joined
13:46
cibs joined
|
|||
tbrowder | sorry, i'm still asleep, thanks! | 13:46 | |
13:48
mcmillhj joined
|
|||
tbrowder | ok, say i have 2 named regexes. can i put their names in an array and call them by index? | 13:48 | |
13:50
cog joined
13:52
mcmillhj left
|
|||
moritz | m: my token word { <:alpha>+ }; my token number { \d+ }; my @re = &word, &number; say '123' ~~ @re[1]; | 13:58 | |
camelia | 「123」 | ||
moritz | tbrowder: ^^ | ||
tbrowder | thanks, moritz! | 13:59 | |
gfldex | m: say so /abc/ ~~ Callable; | 14:00 | |
camelia | True | ||
gfldex | tbrowder: this ^^^ is why it works | ||
timotimo | .botsnack | 14:05 | |
synopsebot6 | om nom nom | ||
yoleaux | :D | ||
14:05
nowan_ left
|
|||
yoleaux | 06:59Z <faraco> timotimo: Sorry for a very late reply, here is the benchmark with whitenoise.pl - | 14:05 | |
14:05
DnAeillaxe joined
14:06
MeirG left,
mxco86 left
14:07
mcmillhj joined
|
|||
tbrowder | moritz: then i would need boolean coercion to successful match or not, correct? | 14:07 | |
14:08
nowan joined
|
|||
moritz | tbrowder: or just use it in a boolean context (like an 'if' statement) | 14:08 | |
14:10
MeirG joined
|
|||
timotimo | whitenoise.pl doesn't have a benchmark mode; it'd just run forever? | 14:10 | |
masak | "What we need are *notions*, not notations" -- Gauss | 14:11 | |
I like that. feels relevant to some comments about syntax. | |||
(hi, #perl6) | |||
timotimo | what we need are not ions! | ||
masak | timotimo: the funny thing is how syntactical your joke reply is :P | ||
14:12
mcmillhj left
|
|||
masak | I fully buy that syntax *underpin* and *strengthen* notions rather than being the notions | 14:12 | |
ZzZombo | So nobody has an idea why undefine caused unreachable code? | ||
MeirG | Hi folks. I was trying to intall Rakudo. It failed with 2503 error then with 2502 error. What's wrong? | ||
masak | MeirG: "2503 error"? | 14:13 | |
MeirG | masak: yes, on Win10 64bits | ||
timotimo | ZzZombo: i have no idea what you mean by "dead code" there | 14:14 | |
or "unreachable" | |||
masak | MeirG: do you see an error message? | 14:15 | |
MeirG | masak: Yes, just a second and I'll quote it... | 14:18 | |
timotimo | oh, that's probably a visual c error then? | 14:19 | |
DrForr | It looks like a .msi permission problem according to answers.microsoft.com/en-us/window...1da100c151 | 14:20 | |
timotimo | hah, this website recommends to kill explorer.exe and start a new one with admin privileges | ||
nothing bad could ever happen there! | 14:21 | ||
14:21
bjz_ joined
|
|||
timotimo | i fondly remember KDE3 used to - in some distros at least - give you a desktop background with lots of bombs on it and a big pop-up when you logged in as root | 14:21 | |
14:22
bjz left
|
|||
geekosaur | suse did that, yeh | 14:22 | |
timotimo | it was a work of art | 14:23 | |
MeirG | "The installer has encounteredan unexpected error installing that package. This might indicate a problem with this package. The error code in 2503" | ||
geekosaur | as for the windows thing, you should be able to Run As Administrator the .msi | ||
masak | MeirG: huh. | ||
MeirG: that's... disconcerting. | |||
timotimo | very strange | 14:24 | |
masak | MeirG: is there anything higher up in the console output that seems to indicate there was a problem? | ||
timotimo | i don't think they're doing it from a console | ||
masak | MeirG: or are you interacting with a graphical interface that gives no such output? | ||
timotimo | that looks like typical output you'd get in a messagebox | ||
masak | aye | ||
guess we'll have to try this ourselves on a Win64 box | 14:25 | ||
and by "we", I mean "not me", because I don't own one... :) | |||
MeirG | I am an administrator. I will also look up DrForr's ling and report.masak: No, it is an msi file with doesn't invoke a consol window. It invoked an installation "wizard" | ||
timotimo | you can install msi from the console if you want, you need "msiexec /i foobar.msi" for that | 14:26 | |
but i'm not sure if it'll actually give any output on tho console | |||
14:26
mcmillhj joined
|
|||
timotimo | actually, i'm almost sure it'll just give you the gui, too | 14:27 | |
it's how i install .msi things when i have wine | |||
geekosaur | you need an installer script to avoid the gui, I think | 14:28 | |
been a while since I did that kind of stuff | |||
RabidGravy | I think I need a thing like Supply.merge but dynamic | 14:30 | |
DnAeillaxe | to people who are subscribed to whateverable repo: I am about to reopen 11 issues that have no tests, please don't freak out :) | ||
timotimo | RabidGravy: what does "dynamic" mean? | 14:31 | |
like you can give it more supplies at any time? | |||
masak | MeirG: I wish I could give some firm guarantees we'll look into this -- but we're sort of volunteer-driven, so someone'll need to step up | ||
14:31
mcmillhj left
|
|||
RabidGravy | timotimo, zackly | 14:31 | |
masak | MeirG: in any case -- thanks for bringing this to our attention. I hope a solution will materialize soon. | ||
14:31
bjz_ left
|
|||
timotimo | you can look at the implementation of "migrate" | 14:31 | |
migrate takes a supply that spits out supplies and gives you a supply that'll always give values from the latest supply that was spat out by the supply-supply | 14:33 | ||
so what you want is you start with a supply of supplies (where you feed in more and more supplies that are to be merged) | 14:34 | ||
and whenever a supply is spat out by that supply-supply, it'll be taken into account for further emits | |||
gfldex | i just checked 2017.01-64bit on a clean win10 VM and it installs fine | ||
RabidGravy | I think my head hurts | 14:35 | |
gfldex | didn't do updates lately, doing that now | ||
14:35
mcmillhj joined
|
|||
timotimo | haha, RabidGravy :) | 14:36 | |
14:37
espadrine left
14:38
Cabanossi left
|
|||
timotimo | i think it'll be really rather simple to write | 14:39 | |
kind of like supply { whenever $supply-of-supplies -> $new-supply { whenever $new-supply -> $value { emit $value } } } | |||
maybe that's enough | |||
gfldex | timotimo: can i have a supply that will write my code? :-> | 14:40 | |
14:40
Cabanossi joined
|
|||
timotimo | gfldex: if you don't mind the code being evil, you can implement an ssh server that accepts any password and gives out a root shell | 14:40 | |
14:40
mcmillhj left
|
|||
timotimo | that should give you code within minutes of launching | 14:40 | |
gfldex | sounds like a workable solution | 14:41 | |
timotimo | it even ticks a whole bunch of buzzword checkboxes | ||
gfldex | windows update is shit | ||
timotimo | it's dependency injection, it's highly networked, it's multiple-failover, it's distributed (duh), it's platform-as-a-service, it's highly available | ||
haha, yeah, tell me about it | 14:42 | ||
gfldex | it stalled at 10% for 20minutes and then it raced to 90% in 30 sec | ||
timotimo | i boot windows every couple of months to play new subnautica updates ... | ||
gfldex | now it stalls again | ||
timotimo | oh, you're getting off lucky | ||
i usually wait a couple of hours while it's saying "looking for available updates" | |||
i'm told it's because microsoft decided to put an np-complete problem into their update mechanism | 14:43 | ||
i.e. "there's a bunch of things-to-be-fixed, and any patch can have any amount of things-to-be-fixed in them. find the optimal solution to cover all things-to-be-fixed with patches" | |||
geekosaur | sadly that was because they had something even worse before | ||
(namely not do that and break people's systems) | |||
14:47
n1ce left
14:48
n1ce joined
|
|||
timotimo | anyway, there's something called "wsus offline updater" | 14:50 | |
it's a neat little gui that allows you to download a whole bunch of patch files up front, and also a little tool to apply all these updates | 14:51 | ||
doing that five times in a row and rebooting in between multiple times ought to get your system up to date enough for the regular windows update to finish calculating its plan of action in under two hours | |||
14:55
mcmillhj joined
|
|||
tbrowder | still seeking suggestions for a sub name for a general function that transforms a number in one base to that number in another base ( i don't need details of how to do that or suggested signatures). see my github/tbrowder/Number-More-Perl6 repo for the WIP. | 14:56 | |
timotimo | so, like, rebase" :P | ||
tbrowder | not bad! | 14:57 | |
rebaseA2B | |||
timotimo | basetrans? | ||
tbrowder | those are good, timotimo. i've bern hung up with "x2y' as part of the name but i think yr ideas are better! | 14:59 | |
geekosaur | in-base but I question the purpose | ||
timotimo | a fresh perspective can always do wonders | ||
reinterpret-base | |||
base2base | |||
tbrowder | amen, brudda! | ||
geekosaur | because internally it's going to be base 2 unless you are on a very experiemntal architecture or you re working with it in string format | 15:00 | |
timotimo | of course this is about strings :) | ||
Geth | whateverable: 0874e785c2 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/bisectable.t Test the hint about a useless result (⚠ + a note for contributors) Adds a test for issue #95. This is the last closed issue that needed a test. From now on, we will have a similar policy that is used for rakudo development: ... (5 more lines) |
||
15:00
mcmillhj left
|
|||
geekosaur | maybe as-base if in-base is considered ambiguous | 15:00 | |
also if doing this a lot you might want a tagged representation (string + its base) to avoid the question of "so what base is '6' absent other information?" (could be any from 7 up to your limit) | 15:04 | ||
15:04
mcmillhj joined
15:09
mcmillhj left
|
|||
ZzZombo | [21:21:59] <ZzZombo> undefine(($prefix,$word,$postfix)); # after this line... | 15:09 | |
[21:21:59] <ZzZombo> $prev-word=$word; # dead code... | |||
[21:23:41] <ZzZombo> swapping the lines fixed the bug where $prev-word wasn't changed. | |||
timotimo ^ | |||
timotimo | yeah, i read all of that | 15:10 | |
i still don't understand what you mean? | |||
$prev-word "wasn't" changed? | |||
what do you get, what did you expect? because when i run code like that i get $prev-word set to Any, which is exactly what i expect | 15:11 | ||
ZzZombo | you know, forget it, doesn't matter now. | ||
geekosaur | minimal reproducing case, include rakudo version, consider also running with spesh disabled | 15:12 | |
timotimo | perl6 -e 'my ($prefix, $word, $postfix) = <foo bar baz>; my $prev-word = "wtf"; dd $prefix, $word, $postfix; $prev-word = $word; undefine(($prefix, $word, $postfix)); dd $prefix, $word, $postfix; dd $prev-word' | ||
this gives me foo bar baz first, then any any any, and $prev-word at the end is "bar" | |||
and when i put the $prev-word = $word after the undefine, it gives me foo bar baz first, then any any any, and at the end $prev-word is any | 15:13 | ||
which is also exactly what i expect ?! | |||
ZzZombo | yea, it is | ||
timotimo | i'm AFK for a bit now | ||
but i'd love for you to explain what's up. maybe put it up on a pasting site or something, along with output and expected behavior | 15:14 | ||
gfldex | clean install on a recent win10 too | 15:15 | |
timotimo | for some reason it really irks me that you seem to have found a problem with rakudo and you're not telling us | 15:16 | |
gfldex | MeirG: can't reproduce, happy digging :) | ||
timotimo | well, either a problem with rakudo, or with the docs | 15:17 | |
RabidGravy | we may never know | ||
15:18
Peter_R left
15:20
Peter_R joined
15:25
mcmillhj joined
15:29
mcmillhj left
|
|||
tbrowder | timotimo: i like 'rebase' best, what's yr fav of yr suggestions? | 15:31 | |
15:33
ZzZombo left
15:39
vendethiel joined
15:43
mcmillhj joined
15:44
fir3starter left
|
|||
timotimo | i don't have a fav, they are all acceptable | 15:46 | |
15:47
gdonald left,
gdonald joined,
mcmillhj left
15:53
firestarter left
15:54
firestarter joined,
Cabanossi left
15:55
Cabanossi joined
|
|||
Geth | doc: 9d408f0051 | titsuki++ | doc/Language/nativecall.pod6 Use num64 instead of num |
15:57 | |
tbrowder | timotimo: thanks...you're very easy to please! | 16:01 | |
16:03
mcmillhj joined,
khw joined
16:08
mcmillhj left
|
|||
tbrowder | i would like to test modules on my Windows box and wonder if routines run and shell work there for calling cmd and Power Shell? | 16:12 | |
16:13
cibs left
|
|||
timotimo | shell most probably invokes cmd | 16:15 | |
16:15
cibs joined
|
|||
timotimo | github.com/jnthn/p6-ssh-libssh/blo...ild.pm#L18 | 16:15 | |
this is an example of how to invoke powershell | |||
DnAeillaxe | buggable: DOC | 16:16 | |
buggable: tag DOC | 16:17 | ||
buggable | DnAeillaxe, There is 1 ticket tagged with DOC; See perl6.fail/t/DOC for details | ||
DnAeillaxe | definitely my bad | ||
Geth | Inline-Perl5: beaa8ce8eb | (Stefan Seifert)++ | p5helper.c Fix segfault in Inline::Perl5.new when loaded from Inline::Perl6 without multiplicity When perl is compiled without multiplicity, we want to throw a useful exception when the user tries to create multiple interpreters. When loaded via Inline::Perl6 we did not take the already running interpreter into account. Now instead of segfaulting, we point the user at the actual source of the problem. Fixes GH #73 |
16:22 | |
ecosystem: Demayl++ created pull request #309: rename META of Email::Valid and add tags |
16:23 | ||
tbrowder | timotimo: nice link...thanks! | 16:25 | |
Geth | ecosystem: 250d5c90c7 | Demayl++ | META.list rename META of Email::Valid and add tags |
||
ecosystem: a7ddf8d71a | (Itsuki Toyota)++ | META.list Merge pull request #309 from Demayl/master rename META of Email::Valid and add tags |
|||
16:30
araraloren left
16:32
mcmillhj joined
16:37
mcmillhj left
16:43
agentzh joined
16:45
fir3starter joined
16:47
eroux joined,
agentzh left
16:48
firestarter left
16:49
Khisanth left
16:51
mcmillhj joined
16:54
f1r3starter joined
16:57
mcmillhj left
16:59
agentzh joined
17:01
fir3starter left
17:02
firestarter joined
17:03
Khisanth joined
|
|||
nine | Darn...I have a very neat fix for Inline::Perl6, but it depends on an implementation detail of the recent require-fixes. | 17:11 | |
Right now in Perl 5 'v6::run("use Foo;"); v6::call("Foo::bar");' won't work due to the lexicalness of "use Foo" | 17:12 | ||
17:12
mcmillhj joined,
espadrine joined
|
|||
mst | nine: I always thought it was odd that you were doing that rather than having a context object to run against | 17:15 | |
nine | Now with the recent fixes, a require statement installs a lexical %REQUIRE_SYMBOLS which we use with indirect lookup ::($foo). Since v6::call and v6::invoke use indirect lookup, I can easily save and restore %REQUIRE_SYMBOLS. | 17:16 | |
17:17
mcmillhj left
|
|||
mst | right, if you basically turn them into implicit calls on a global context | 17:19 | |
that should be basically sane | |||
nine | Yep. Except that it turns %REQUIRE_SYMBOLS in a public API which is not really what I had in mind when introducing it. | 17:20 | |
mst | and, er, you could always add an api to rakudo that's equivalent to Eval::WithLexicals or Devel::LexAlias or something | ||
a persistent lexical scope module would make it much easier to build repls | 17:21 | ||
and, y'know, look what we inflicted on CPAN as a result of perl5 not having an API for it ;) | |||
nine | Thing is that EVAL already takes an optional context object. But that's a PseudoStash which is...not exactly a straight forward data structure. | ||
17:22
mcmillhj joined
17:23
BenGoldberg joined
17:24
mxco86 joined
17:27
mcmillhj left
17:41
rindolf left,
mcmillhj joined
17:45
mcmillhj left
17:53
mcmillhj joined
|
|||
ugexe | samcv: did you ever try leaving the TCI language as perl but change github.com/rakudo/rakudo/blob/nom/...is.yml#L22 to `openjdk-7-jdk` instead of -jre? | 17:53 | |
samcv | ugexe, yeah it has a too old perl version | ||
oh. uhm | |||
uh i tried it once. you can go ahead and try now if you want. it's working fine right? | 17:54 | ||
ugexe | yeah, but the change to the nqp travis-ci reminded me to follow up | ||
easier to do things like get a perl with the correct version/compile args (for say Inline::Perl5) under the perl env | 18:02 | ||
18:03
xinming_ left
18:05
mcmillhj left
|
|||
ugexe | e.g. `language: perl, perl: 5.14-shrplib` | 18:05 | |
18:09
Cabanossi left
18:10
Cabanossi joined
18:11
mcmillhj joined
|
|||
ugexe has been meaning to add $version-[moar-jvm] enum options to perl6 TCI ala `perl6: - 2017.01-moar, - 2017.01-jvm` | 18:12 | ||
18:15
espadrine left
18:16
mcmillhj left
18:18
xinming joined
18:19
rindolf joined
18:22
f1r3starter left,
mcmillhj joined
18:27
mcmillhj left
18:35
f1r3starter joined
18:41
mcmillhj joined,
grumble left
18:43
grumble joined
18:46
mcmillhj left
18:51
leedo joined
18:52
leedo left,
leedo joined
18:58
leedo left
19:01
mcmillhj joined
19:05
spebern joined
19:06
mcmillhj left
19:07
wamba1 left
19:14
sena_kun joined
19:17
domidumont left
19:20
MeirG left
19:22
mcmillhj joined
|
|||
chansen_ | Does Perl6 expose a API for Unicode sets? | 19:27 | |
19:27
mcmillhj left
|
|||
chansen_ | .. Unicode sets | 19:27 | |
DnAeillaxe | chansen_: hmmm… what unicode sets? | ||
19:28
agentzh left
|
|||
DnAeillaxe | chansen_: is there something specific you need? | 19:28 | |
chansen_ | DnAeillaxe: combination of Unicode properties! | ||
DnAeillaxe | oh, sure. Do you need it in a regex; | 19:29 | |
? | |||
m: say ‘hello②world’ ~~ /<:No>/ | |||
camelia | 「②」 | ||
chansen_ | DnAeillaxe: No, i'm looking for a clean API that I can steal and implement in P5 ;o) | ||
19:30
agentzh joined
|
|||
DrForr | Perl6 has \P{}. | 19:31 | |
Er, perl5 | |||
19:33
mcmillhj joined
|
|||
geekosaur | I don't think it has a good set story for them though (e.g. a generalization of [] like p6's that lets you subtract sets and such) | 19:33 | |
chansen_ | DrForr: I'm aware what P5 provides! The reason I asked for a clean API to access Unicode Blocks, Scripts and Properties was for inspiration, but it seems that Perl6 doesn't provide that. | 19:35 | |
19:36
mxco86 left
|
|||
chansen_ | samcv: ^^? | 19:37 | |
19:37
mcmillhj left
|
|||
geekosaur | I thought there was something for that these days... maybe not the API you were hoping for though (in which case yes, you want to talk to samcv) | 19:38 | |
DnAeillaxe | chansen_: so you want to look up characters based on properties and stuff? | ||
DrForr | .uniprop and .uniname handles at least properties, but scripts and blocks seem missing. Maybe .uniscript and .uniblock would be possible? | 19:40 | |
unicodable6 | DrForr, U+006E LATIN SMALL LETTER N [Ll] (n) | ||
DrForr, U+0069 LATIN SMALL LETTER I [Ll] (i) | |||
DrForr, 135 characters in total: gist.github.com/344ebf70e34723b156...c67109b879 | |||
19:40
agentzh left
|
|||
DnAeillaxe | but that's one of the properties | 19:40 | |
chansen_ | DnAeillaxe: Let's say I wanted to union two scripts and differentiate a block and union two block properties? | 19:41 | |
DnAeillaxe | DrForr: sorry for that, that was a bug :D | ||
uniprop: ½ | |||
unidump: ½ | |||
unicodable6 | DnAeillaxe, gist.github.com/e9ccb3b9f86c41e49b...dfcb668c1d | ||
19:41
cdg joined
|
|||
DnAeillaxe | chansen_: okay, then you use Block and Script properties | 19:42 | |
let's see | |||
19:43
agentzh joined
|
|||
DnAeillaxe | m: say ‘½’ ~~ /<:Block(‘Latin-1 Supplement’) + :Script(‘Common’)>/ | 19:43 | |
camelia | 「½」 | ||
DnAeillaxe | like this? | ||
u: { .chr ~~ /<:Block(‘Latin-1 Supplement’) + :Script(‘Common’)>/ } | 19:45 | ||
unicodable6 | DnAeillaxe, U+0000 <control-0000> [Cc] (control character) | ||
DnAeillaxe, U+0001 <control-0001> [Cc] (control character) | |||
DnAeillaxe | oops… | 19:46 | |
19:47
adu joined
19:48
Xliff_ joined
19:49
agentzh left
19:50
Xliff left
|
|||
chansen_ | DnAeillaxe: with all respect, you are clearly not familiar with Unicode enough to answer this question ;) | 19:50 | |
DnAeillaxe | chansen_: perhaps. But it would definitely help if you said what exactly you're trying to do | 19:51 | |
chansen_: if you want to actually match stuff, then what I've shown above should work | |||
but if not, then I guess you're trying to do something else | 19:52 | ||
19:52
mcmillhj joined
19:53
Ven joined,
agentzh joined
|
|||
chansen_ | DnAeillaxe: I have answered you already! | 19:53 | |
20:41:02 <chansen_> DnAeillaxe: Let's say I wanted to union two scripts and differentiate a block and union two block properties? | |||
19:55
cdg left,
cdg joined
19:57
mcmillhj left
|
|||
RabidGravy | jnthn, I've just pushed a very crude start to an implementation of SUBSCRIBE/UNSUBSCRIBE to Stomp::Server | 19:57 | |
DnAeillaxe | chansen_: OK, I might sound stupid to you and you'll lose all hope, but how come <:Script(‘Cyrillic’) + :Script(‘Common’)> is not a “union of two scripts”? | 19:59 | |
the rest you get in a similar fashion | 20:00 | ||
20:01
espadrine joined
|
|||
DnAeillaxe | ? | 20:05 | |
chansen_ | DnAeillaxe: thats the union, how do you differentiate a block and union two block properties and provide the difference? | 20:06 | |
DrForr | Subtract? | 20:07 | |
chansen_ | DrForr: true | ||
DnAeillaxe | chansen_: if you want to have an intersection, you'll have to use & outside of <> | 20:10 | |
chansen_ | The question was if there was a simple way of achieve this in Perl6, and if there was I would like to steal it to p5, but it seems that tis wheel hasten't been invented in p6 | ||
DnAeillaxe | so… that's not simple enough? | 20:11 | |
moritz | didn'T we have intersection in char classes too? | 20:12 | |
DrForr | What are we missing? What's a simpler solution? | ||
DnAeillaxe | moritz: trying to find a ticket, but no | ||
moritz: NYI | |||
20:13
mcmillhj joined
|
|||
DnAeillaxe | moritz: RT #130419 | 20:13 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130419 | ||
jferrero_ | Hi! I need an example for enum's constants exported into a module. | 20:16 | |
20:16
CIAvash left
20:17
mcmillhj left
20:18
bjz joined
|
|||
chansen_ | DnAeillaxe: How do I union two script properties subtract a block and union two other block properties and print out the resulting set? | 20:18 | |
DnAeillaxe | chansen_: Oh, so you want to look up these characters, not to match stuff! Finally we know :) | 20:19 | |
chansen_: there is indeed no API to do this stuff. Unicodable bot, for example, goes through the whole 0..0x10FFFF range and tries to match every character | 20:22 | ||
chansen_: this takes a second or two… which I guess is less than awesome. Again, it depends on what you actually need this for | 20:23 | ||
20:24
wamba1 joined,
jferrero_ is now known as jferrero
|
|||
DnAeillaxe | chansen_: what you are asking for is basically a little database you can make queries for :) Not sure if the language itself should provide this, but I'd definitely love to see a module for this! | 20:24 | |
b2gills | m: say (0..0x10FFFF).map(*.chr).grep: /<:L - :Ll>/ | ||
camelia | (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ª º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ Ā Ă Ą Ć Ĉ Ċ Č Ď Đ Ē Ĕ Ė Ę Ě Ĝ Ğ Ġ Ģ Ĥ Ħ Ĩ Ī Ĭ Į İ IJ Ĵ Ķ Ĺ Ļ Ľ Ŀ Ł Ń Ņ … | ||
DrForr | regexes could possibly be introspected to a junction. | ||
20:24
agentzh left
20:26
cschwenz joined
|
|||
DrForr | Though something like .chr.uniprop would be better... Maybe a core module that introspects the Unicode tables at compile time. | 20:26 | |
20:26
agentzh joined
|
|||
cschwenz | so, when using qqx{…} and the executed command spews diagnostic messages to STDERR — on the Perl 6 side, how do i capture them? | 20:29 | |
DnAeillaxe | /o\ qqx | 20:30 | |
DrForr | Incidentally, when using sub MAIN(..), I don't see where the options are spec'ed. | ||
moritz | cschwenz: buy using run(@command, :out, :err) instead, or Proc::Async | ||
cschwenz: or with 2>&1 inside qqx | 20:31 | ||
cschwenz | moritz++ | ||
DnAeillaxe | cschwenz: see some examples here: docs.perl6.org/type/Proc | ||
moritz | cschwenz: or see perlgeek.de/blog-en/perl-6/2017-00...-cron.html for an example that uses Proc::Async | 20:32 | |
cschwenz | awesome, thanks all! :-D | ||
20:34
mcmillhj joined
|
|||
DrForr | Ah, Bool :$flag is the key. | 20:35 | |
20:38
mcmillhj left
|
|||
jferrero | Is possible to export class' enum constant? | 20:41 | |
20:41
skids joined
|
|||
moritz | enum Foo is export <...>; # I believe | 20:42 | |
20:42
rindolf left
20:44
wamba1 left
20:48
mcmillhj joined
20:55
silug left
20:56
mcmillhj left
21:00
cibs left
21:02
cibs joined
21:07
f1r3starter left
21:11
adu left
|
|||
DrForr | Perl6::Tidy out on github, not putting it up on the ecosystem until it does something non-trivial. | 21:12 | |
21:13
mcmillhj joined,
silug joined
|
|||
sjn | nice! | 21:15 | |
IOninja | DrForr: out on Github where? | 21:16 | |
DrForr | github.com/drforr/perl6-Perl6-Tidy | ||
sjn | DrForr: are you up for feature requests? :) | 21:17 | |
21:17
mcmillhj left
|
|||
DrForr | Issues are probably the best way to handle this, but yes. | 21:18 | |
21:18
cdg_ joined
|
|||
sjn | "Produce output according to vim modeline in input text" :) | 21:19 | |
DrForr | github.com/drforr/perl6-Perl6-Tidy...6/Tidy.pm6 walks the token stream and filters out comments optionally. 6 lines is all it needs. | ||
MasterDuke | DrForr++ | 21:20 | |
sjn | yeah, DrForr++ deserves some extra karma today \o/ | ||
21:20
TEttinger joined,
vike left
|
|||
sjn | and praise and gratitude and stuff :) | 21:21 | |
sena_kun | DrForr++, a really good work on that | ||
21:22
cdg left
|
|||
IOninja | What's .Bridge method for? | 21:22 | |
21:22
mcmillhj joined
|
|||
RabidGravy | it's for making James Brown tracks with :) | 21:23 | |
21:25
cschwenz left
|
|||
DrForr | Wow. Thanks. | 21:26 | |
moritz | IOninja: basically for converting to common numeric ground | 21:27 | |
21:27
mcmillhj left
|
|||
IOninja | moritz: I don't get it... Why have an extra method call when all of them are converting to Num? Why not just call Num? | 21:28 | |
21:28
vike joined
|
|||
DrForr | If I were slightly smarter what I"d do is add a Perl6::Catchall "token" that gets added when the code can't figure out what to do with a given tag instead of die as it currently does, so I can refine stepwise a little easier | 21:28 | |
Tomorrow, maybe. | 21:29 | ||
moritz | m: say [^5].head(3) | ||
camelia | (0 1 2) | ||
moritz | m: say [^5].head(10) | ||
camelia | (0 1 2 3 4) | ||
moritz | m: say [^5][^10] | ||
camelia | (0 1 2 3 4 (Any) (Any) (Any) (Any) (Any)) | ||
IOninja | m: say [^5][lazy ^10] | ||
camelia | (0 1 2 3 4) | ||
21:30
sena_kun left
|
|||
moritz | fascinating | 21:31 | |
nick ListNinja | |||
DnAeillaxe | m: say (^∞).head(∞).is-lazy | 21:33 | |
camelia | True | ||
DnAeillaxe | m: say (^999999999999).head(∞).is-lazy | ||
camelia | False | ||
21:33
mcmillhj joined
|
|||
DnAeillaxe | so is-lazy propagates through? | 21:33 | |
IOninja | Yes. | 21:34 | |
DrForr | Incidentally, you can walk back and forth, up to parents and down to children from a give node. I'm thinking abot removing that ability though because it ort of lets you break encapsulation, if you can use something other than built-in terator methods to walk the list. | 21:36 | |
21:38
mcmillhj left
21:45
andrzejku left
21:51
labster joined
21:52
wamba1 joined
21:53
mcmillhj joined,
ggoebel left
21:54
cdg joined
21:57
cdg_ left,
bjz left,
mcmillhj left
21:59
eroux left,
cdg left
22:00
Cabanossi left
|
|||
spebern | DrForr: did you have time to look at my attempt of fixing the antlr translater? | 22:00 | |
22:02
mcmillhj joined
22:05
ggoebel joined
22:07
mcmillhj left
22:09
RabidGravy left
22:10
Ven left
|
|||
jnthn | RabidGravy: Nice; don't see anything wrong after having a look over it | 22:13 | |
22:13
eroux joined
22:20
espadrine left
22:22
mcmillhj joined
|
|||
Geth | whateverable: 7fbfd2c26c | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files Space should be required after .u Otherwise unicodable may answer on any message starting with .u (as it just happened). |
22:24 | |
22:25
unicodable6 left,
unicodable6 joined
|
|||
DnAeillaxe | .uniprops blabla | 22:25 | |
there, fixed :) | |||
22:25
ChanServ sets mode: +v unicodable6
22:27
mcmillhj left
|
|||
DnAeillaxe | hugme | 22:30 | |
huggable: bots | |||
huggable | DnAeillaxe, The #perl6 irc channel normally hosts several helpful bots. I am a bot, and camelia, benchable, bisectable, buggable, committable, dalek, ilbot, NeuralAnomaly, SourceBaby, synopsebot6, Undercover, yoleaux are other bots who are usually here. | ||
DnAeillaxe | huggable: bots :is: The #perl6 irc channel normally hosts several helpful bots. I am a bot, and everyone else voiced on this channel is a bot. See the full list here: github.com/perl6/doc/issues/711#is...-235414744 | 22:33 | |
huggable | DnAeillaxe, Added bots as The #perl6 irc channel normally hosts several helpful bots. I am a bot, and everyone else voiced on this channel is a bot. See the full list here: github.com/perl6/doc/issues/711#is...-235414744 | ||
22:33
mcmillhj joined
22:35
vendethiel left
22:36
vendethiel joined
22:38
mcmillhj left
22:39
dct joined
22:40
Voldenet left
22:45
Voldenet joined,
Voldenet left,
Voldenet joined
22:54
cdg joined
22:57
robertle left
|
|||
BenGoldberg | s: ("EVAL" && EVAL("42")), "Str" | 22:57 | |
SourceBaby | BenGoldberg, Sauce is at github.com/rakudo/rakudo/blob/f190...Mu.pm#L454 | ||
BenGoldberg | s: ("shell" && shell("ls") && 42), "Str" | 22:59 | |
SourceBaby | BenGoldberg, Sauce is at appveyor.yml | ||
22:59
SourceBaby left,
SourceBaby joined,
ChanServ sets mode: +v SourceBaby
|
|||
BenGoldberg | IOninja, I think you need to improve sub is-safish ;) | 22:59 | |
geekosaur | o.O | ||
23:00
eroux left
|
|||
IOninja | BenGoldberg: easier to just make the bot ignore you. | 23:00 | |
BenGoldberg apologizes | 23:01 | ||
23:02
mcmillhj joined,
n1ce left
23:03
n1ce joined
|
|||
BenGoldberg | I'm not being mean, just pointing out that a malicious user might exploit your bot -- I only ran 'ls', but someone else might do something worse. | 23:03 | |
23:03
Cabanossi joined
23:05
dct left
23:07
mcmillhj left
|
|||
BenGoldberg | s: ((return "really simple")) | 23:09 | |
SourceBaby | BenGoldberg, Something's wrong: ERR: Attempt to return outside of any Routine in block <unit> at -e line 6 | ||
BenGoldberg | s: ((put("really simple\n") && 42), 'Int') | 23:10 | |
SourceBaby | BenGoldberg, Something's wrong: really simpleERR: Cannot resolve caller sourcery(List); 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 | ||
DnAeillaxe | BenGoldberg: it's not just that | 23:16 | |
BenGoldberg: most bots here are kind of vulnerable to this | |||
BenGoldberg: RESTRICTED setting practically does nothing | 23:17 | ||
BenGoldberg: interestingly, right now I'm working on making whateverable more secure… | |||
but yeah, if somebody can contribute that, please do :P | |||
BenGoldberg | s: "foo", Str ) && ("test | 23:18 | |
SourceBaby | BenGoldberg, Something's wrong: ERR: ===SORRY!=== Error while compiling -eUnable to parse expression in double quotes; couldn't find final '"' at -e:7------> <BOL><HERE><EOL> expecting any of: double quotes term | ||
BenGoldberg | s: "foo", Str ) && ("test" | ||
SourceBaby | BenGoldberg, Something's wrong: ERR: Cannot resolve caller sourcery(Str, Str); 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 | ||
BenGoldberg | s: &say, \() ) && ("test" | 23:19 | |
SourceBaby | BenGoldberg, Something's wrong: ERR: Index out of range. Is: 1, should be in 0..0 in block <unit> at -e line 6Actually thrown at: in block <unit> at -e line 6 | ||
BenGoldberg | s: &say, \() ) && ("test", "foo" | ||
SourceBaby | BenGoldberg, Something's wrong: fooERR: | ||
23:20
agentzh left
|
|||
BenGoldberg | s: &say, \() ) && ("test", "github sucks #perl6 rocks!" | 23:20 | |
SourceBaby | BenGoldberg, Sauce is at github sucks #perl6 rocks! | ||
DnAeillaxe | :| | ||
BenGoldberg | Whee ;) | 23:21 | |
23:21
agentzh joined
23:23
mcmillhj joined
23:24
SourceBaby left
23:25
SourceBaby joined,
ChanServ sets mode: +v SourceBaby
23:26
SourceBaby left
23:27
SourceBaby joined,
ChanServ sets mode: +v SourceBaby,
mcmillhj left
23:28
SourceBaby left
23:29
bjz joined,
SourceBaby joined,
ChanServ sets mode: +v SourceBaby
23:30
SourceBaby left
23:31
SourceBaby joined,
ChanServ sets mode: +v SourceBaby
23:32
SourceBaby left,
bjz left
23:33
SourceBaby joined,
ChanServ sets mode: +v SourceBaby
23:36
gdonald left,
gdonald joined
|
|||
Geth | ecosystem: 74c3f6d7c1 | (Tom Browder)++ | META.list add module Number::More |
23:39 | |
23:43
mcmillhj joined
|
|||
DnAeillaxe | m: ‘ ’.uniname.say | 23:44 | |
camelia | PARAGRAPH SEPARATOR | ||
DnAeillaxe | e: ‘ ’.uniname.say | ||
:| | 23:45 | ||
s: hello world | |||
SourceBaby | DnAeillaxe, Something's wrong: ERR: ===SORRY!=== Error while compiling -eUndeclared routine: hello used at line 6. Did you mean 'shell'? | ||
DnAeillaxe | s: ‘ ’ | ||
s: ‘ ’ | |||
SourceBaby | DnAeillaxe, Something's wrong: ERR: Cannot resolve caller sourcery(Str); 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 | ||
DnAeillaxe | s: ‘ ’ | ||
he-heey! | |||
IOninja: now that's something interesting! | 23:46 | ||
haven't figured it out yet | |||
but that's why unicodable failed a little bit earlier today | 23:47 | ||
and if I got it right, JSON::Tiny is unable to work with this character also | 23:48 | ||
but I'm still investigating… | |||
23:48
mcmillhj left
23:50
wamba1 left
|
|||
DnAeillaxe | m: say so 0x2029.chr ~~ /\n/ | 23:52 | |
camelia | True | ||
IOninja | In the log I see it's messing with parsing of IRC protocol. The ❚⚠❚ : WORLD bit is never supposed to be triggered, I think... gist.github.com/zoffixznet/da77f4e...9905fae266 | 23:53 | |
23:53
mcmillhj joined
|
|||
DnAeillaxe | IOninja: well I don't know, but all “\n”s here are suspicious: github.com/zoffixznet/perl6-IRC-Cl...rammar.pm6 | 23:55 | |
because, surprise-surprise, U+2029 does match \n | 23:56 | ||
(or other way round… whatever!) | |||
IOninja | u: U+2029 | ||
unicodable6 | IOninja, U+2029 PARAGRAPH SEPARATOR [Zp] ( ) | ||
DnAeillaxe | u: Zp | 23:57 | |
unicodable6 | DnAeillaxe, U+2029 PARAGRAPH SEPARATOR [Zp] ( ) | ||
IOninja | m: say "\c[2029]" ~~ "\n" | ||
camelia | False | ||
DnAeillaxe | IOninja: it's hex | ||
m: say "\x[2029]" ~~ "\n" | |||
camelia | False | ||
IOninja | ? | ||
DnAeillaxe | m: say "\x[2029]" ~~ /\n/ | ||
camelia | 「 」 | ||
IOninja | Oh right | ||
m: dd "\c[2029]" | 23:58 | ||
camelia | "\x[7ed]" | ||
IOninja | What's that? decimal? | ||
DnAeillaxe | yes | ||
IOninja | Ah | ||
DnAeillaxe | u: { .chr ~~ /\n/ } | ||
IOninja | Well, I've no idea wtf that matches \n | ||
23:58
mcmillhj left
|
|||
IOninja | u: newline | 23:58 | |
unicodable6 | DnAeillaxe, U+000A <control-000A> [Cc] (control character) | ||
DnAeillaxe, U+000B <control-000B> [Cc] (control character) | |||
IOninja, U+2424 SYMBOL FOR NEWLINE [So] () | |||
IOninja, U+2B92 NEWLINE LEFT [So] (⮒) | |||
IOninja, U+2B93 NEWLINE RIGHT [So] (⮓) | |||
IOninja | m: say "\x[2029]" ~~ "\x[A]" | 23:59 | |
camelia | False | ||
IOninja | So I guess all those \n should be replaced with \x[A] | ||
DnAeillaxe | u: { so .chr ~~ /\n/ } | ||
unicodable6 | DnAeillaxe, U+000A <control-000A> [Cc] (control character) | ||
DnAeillaxe, U+000B <control-000B> [Cc] (control character) | |||
DnAeillaxe | ah right, yes… yes, unicodable, you're actually right |