»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:12
cognominal joined
00:26
atroxaper joined
00:30
atroxaper left
00:50
ggoebel9 joined
00:55
AlexDaniel joined
00:57
ggoebel9 left
01:05
ggoebel joined
01:32
vendethiel joined
01:33
tinyblak left
01:37
tinyblak joined,
tinyblak left
01:39
cfa joined,
tinyblak joined
01:43
AlexDaniel left
01:51
gagalicious left
01:53
cognominal left
02:06
noganex_ joined
02:09
aborazmeh joined,
aborazmeh left,
aborazmeh joined
02:12
geekosaur joined
02:20
tinyblak left,
cognominal joined
02:23
tinyblak joined
02:26
tinyblak_ joined
02:28
tinyblak left
02:33
vendethiel left
02:38
rmgk_ joined,
rmgk_ is now known as rmgk
|
|||
cognominal | .u 2384 | 03:04 | |
yoleaux | U+2384 COMPOSITION SYMBOL [So] (⎄) | ||
03:04
geekosaur left,
geekosaur joined
03:06
kaare_ joined
03:10
spintronic1 joined
|
|||
cognominal | .u 096F | 03:13 | |
yoleaux | U+096F DEVANAGARI DIGIT NINE [Nd] (९) | ||
03:15
spintronic1 left
|
|||
dalek | kudo-star-daily: e2022cd | coke++ | log/ (2 files): today (automated commit) |
03:15 | |
kudo-star-daily: 3e95125 | coke++ | log/ (2 files): today (automated commit) |
|||
rl6-roast-data: ae895fc | coke++ | / (9 files): today (automated commit) |
|||
rl6-roast-data: 3fc4a5d | coke++ | / (9 files): today (automated commit) |
|||
03:15
cognominal left
03:16
spintronic joined
03:31
atroxaper joined
03:35
atroxaper left
03:40
atroxaper joined
03:49
laouji left
03:50
laouji joined
03:54
laouji left
03:57
laouji joined
04:03
tinyblak_ left,
tinyblak joined
04:08
tinyblak left
04:28
atroxaper left
04:51
aborazmeh left
05:07
geekosaur left
05:08
geekosaur joined
05:12
BenGoldberg left
05:18
zacts joined
05:19
atroxaper joined
05:26
atroxaper left
05:38
davido_ joined,
atroxaper joined
05:47
FROGGS joined
05:54
Akagi201 joined
|
|||
FROGGS | o/ | 05:59 | |
yoleaux | 28 Jun 2015 21:40Z <lizmat> FROGGS: looks like QX is severely broken on the JVM :-( | ||
FROGGS | :o( | ||
psch | o/ | ||
FROGGS | should be easy to fix though... | ||
raydiak | \o | ||
FROGGS | will look | ||
06:05
laouji left
06:06
laouji joined,
profan joined
06:13
laouji left
06:15
laouji joined
06:21
laouji left
06:22
vendethiel joined
|
|||
atroxaper | Morning, #perl6 ! | 06:22 | |
06:23
laouji joined
|
|||
FROGGS | morning atroxaper | 06:23 | |
06:23
zacts left
|
|||
atroxaper | FROGGS: o/ | 06:24 | |
06:25
gfldex joined
|
|||
atroxaper | Can I write methods chain and start call method each on the new line? Compiler says 'Bogus postfix'. | 06:25 | |
06:25
salva joined
|
|||
atroxaper | I wrote something like ' @list \n .grep() \n .map();' | 06:26 | |
psch | you'd need an unspace | ||
06:26
domidumont joined,
RabidGravy joined
|
|||
RabidGravy | morning | 06:27 | |
06:27
laouji left
|
|||
psch | m: my @l = ^4; @l\ .grep( * > 2 )\ .say # like this | 06:27 | |
camelia | rakudo-moar 24236f: OUTPUT«3» | ||
06:30
laouji joined
|
|||
atroxaper | psch: I do not have space at the ends of lines... | 06:30 | |
psch | atroxaper: neither does my example. the \ is in front of a unicode newline symbol, which camelia interprets as \n | 06:31 | |
FROGGS | atroxaper: the newline is whitespace | ||
06:31
domidumont left
|
|||
atroxaper | Oh... I see! Just escape \n character. Thanks. | 06:32 | |
06:32
tinyblak joined
|
|||
psch | atroxaper: no, escaping the \n itself isn' | 06:33 | |
t enough | |||
06:33
laouji left
|
|||
psch | atroxaper: you have to escape the first whitespace after the identifier | 06:33 | |
m: "foo" \ .say # doesn't work | |||
camelia | rakudo-moar 24236f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aSH6yW3FpAConfusedat /tmp/aSH6yW3FpA:2------> 3"foo"7⏏5 \ expecting any of: infix infix stopper statement end statement modifier statement …» | ||
psch | (but that's mostly a clarification and might not neccessarily apply in your current situation... :) ) | 06:34 | |
atroxaper | psch: Yeah! Exactly. | ||
06:37
laouji joined
06:39
gfldex left
06:41
atroxaper left
06:45
vendethiel left
06:47
atroxaper joined
06:49
[Sno] joined
06:51
zakharyas joined
06:57
Ven joined
06:58
domidumont joined
07:00
domidumont left,
domidumont joined
07:03
brrt joined
07:04
kan__ joined,
kan__ left,
vendethiel joined
|
|||
psch | BSD style license works with the artistic, doesn't it? | 07:05 | |
masak | morning, #perl6 | ||
psch | 'cause i just realized that might matter, because i'm using a framework under BSD to get this standalone jar stuff working | ||
o/ masak | |||
s/BSD/BSD style license/ | |||
+:1st | |||
:l | |||
(actually, not :1st but :2nd...) | 07:06 | ||
anyway, yeah | |||
masak | psch: maybe one-way compatible? en.wikipedia.org/wiki/License_comp...S_licenses | ||
(I am decidedly not a lawyer) :) | |||
psch | ah, right, we have the GPL as fallback anyway, which is more restrictive than BSD so it should be fine i guess | 07:09 | |
RabidGravy | There was a point that the Perl 5 source had BSD licensed code in it IIRC | 07:10 | |
07:12
kanl joined
|
|||
grondilu | m: say (my @ = <a b c d e f>.rotor(2)).perl; | 07:12 | |
camelia | rakudo-moar 24236f: OUTPUT«["a", "b", "c", "d", "e", "f"]<>» | ||
psch | the german wikipedia entry for the artistic license calls it BSD-style itself | ||
so i guess that means i'm good :) | |||
grondilu | m: say my @ = <a b c d e f>.rotor(2); | 07:13 | |
camelia | rakudo-moar 24236f: OUTPUT«a b c d e f» | ||
grondilu | m: say <a b c d e f>.rotor(2); | ||
camelia | rakudo-moar 24236f: OUTPUT«a b c d e f» | ||
grondilu | m: say <a b c d e f>.rotor(2).perl; | ||
camelia | rakudo-moar 24236f: OUTPUT«(("a", "b"), ("c", "d"), ("e", "f"))» | ||
grondilu | I guess I need to use tree to prevent flattening or something? | 07:14 | |
m: say (my @ = <a b c d e f>.rotor(2).tree).perl; | |||
camelia | rakudo-moar 24236f: OUTPUT«[("a", "b"; "c", "d"; "e", "f").item]<>» | ||
atroxaper | We need cheatsheet about flattening I guess :) | 07:23 | |
07:30
darutoko joined
07:31
rurban joined
|
|||
masak | moritz++ # "since it's not optional, you might consider not making it an option" :P | 07:32 | |
kanl | hi #perl6 | 07:33 | |
moritz bows | |||
masak | ahoy kanl | ||
07:34
abraxxa joined,
j1n3l0 left
|
|||
kanl | i'm a newbie. started playing with perl6 just recently. i wrote a module with the help of whatever material i can find piecing together. but it seems to be leaking memory quite badly (by observing top while it's running). can anyone help take a look at it and tell me what i'm doing wrong? | 07:35 | |
gist.github.com/anonymous/4071a06909f4df8cabb2 | |||
07:36
atroxaper left
|
|||
masak | kanl: hey, nice first code :) | 07:36 | |
07:36
cdc joined
|
|||
masak | you're clearly not a newbie. | 07:36 | |
kanl | thanks, i guess :p | 07:37 | |
new to perl6, that is :) | |||
masak | line 10 contains a bug. | ||
moritz | method run( *%mayhem ) | 07:38 | |
I love it. | |||
masak | oh wait | ||
07:38
atroxaper joined
|
|||
masak | line 10 better written `my $PS = %PS.kv.map: -> $k, $v { $v => $k };` | 07:38 | |
kanl | attached also includes run output and valgrind output | ||
brrt | \o | ||
07:39
pdcawley joined
|
|||
masak | kanl: I guess what confuses me about line 10 is that you're implicitly declaring it as an array :) | 07:39 | |
m: my $PS; $PS[0] = 42; say $PS.perl | |||
camelia | rakudo-moar 24236f: OUTPUT«[42]» | ||
masak | which works, but I don't think it's very clear. | ||
kanl | masak: i am trying to make a hash out of a enum array , so yes. | ||
masak | kanl: you end up making an array :0 | 07:40 | |
:) | |||
psch | from an enum hash even | ||
masak | kind of proving my point | ||
kanl | err, sorry, array. | ||
masak | it's .[] for array access, and .{} or .<> for hash access | ||
m: enum Foo <a b c>; say Foo.values | |||
camelia | rakudo-moar 24236f: OUTPUT«» | ||
masak | m: enum Foo <a b c>; say Foo.enums.values | ||
camelia | rakudo-moar 24236f: OUTPUT«0 2 1» | ||
masak | m: enum Foo <a b c>; say Foo.enums.invert.perl | 07:41 | |
camelia | rakudo-moar 24236f: OUTPUT«(0 => "a", 2 => "c", 1 => "b")» | ||
masak | m: enum Foo <a b c>; say Foo.enums.keys | ||
camelia | rakudo-moar 24236f: OUTPUT«a c b» | ||
masak | m: enum Foo <a b c>; my @keys = Foo.enums.keys | ||
camelia | ( no output ) | ||
masak | kanl: maybe do it like that? | ||
m: enum Foo <a b c>; my @keys = Foo.enums.keys; say @keys.perl | |||
camelia | rakudo-moar 24236f: OUTPUT«["a", "c", "b"]<>» | ||
masak | heh, ergl. | ||
kanl | keys doesn't preserve order, does it? | 07:42 | |
masak | m: enum Foo <a b c>; my @keys = Foo.enums.sort>>.key; say @keys.perl | ||
camelia | rakudo-moar 24236f: OUTPUT«["a", "b", "c"]<>» | ||
masak | there ya go. | ||
07:42
ShimmerFairy joined
|
|||
kanl | masak: i want the array in a certain order, because i'm using it as a index map, and ps's output order depends on how your format it | 07:43 | |
yes, i admit my style is crappy, but i think it does what i meant it to do :) | |||
masak | just giving friendly unrequited style advice ;) | 07:44 | |
kanl | *nod*, appreciate it :) | ||
07:44
laouji_ joined,
g4 joined,
g4 left,
g4 joined
|
|||
psch | oh pants | 07:45 | |
apparently i not only need a class loader that can load nested jars, but also a *boot* class loader that can do so | |||
...because we're loading the nqpruntime with Xbootclasspath | 07:46 | ||
RabidGravy | that valgrind output suggests something going wrong with the threading | ||
kanl | masak: it's meant to be a piece of system monitoring tool. it runs ok for a few iterations, and eventually craps out. as i observe top output, memory seems to be leaking at an alarming rate | 07:47 | |
cdc | m: gist.github.com/anonymous/c6d54c302f4c4a63c21b | 07:49 | |
camelia | rakudo-moar 24236f: OUTPUT«"4""[2]"NaNNaP"\"+\""Bool::FalseBool::True» | ||
07:49
vendethiel left,
laouji_ left
|
|||
cdc | Hello #perl6! Please, could you explain me why the "export" trait is required on some multis ^ | 07:49 | |
07:50
bjz joined
|
|||
kanl | RabitGravy: or that too, it isn't very stable. | 07:51 | |
err, RabidGravy. sorry | |||
masak | kanl: we're very happy you supply this real-world example. we need things exactly like this to be able to polish Rakudo for the release. | ||
kanl: I hope during the day one or more knowledgeable people will delve into why your program leaks. hopefully it's even an easy fix. | 07:52 | ||
threading could be a culprit. so could shelling out to other processes. | |||
Ven | o/ #perl6! | 07:53 | |
masak | ven ven ven! \o | ||
kanl | masak: glad i can help :) so it's not something i'm not supposed to by doing that caused whatever problem then? what should i do next, file a bug? | 07:54 | |
cdc | Ven: gist.github.com/anonymous/c6d54c302f4c4a63c21b (I borrowed you some code :p) | ||
Ven | cdc: ah, nice :) | ||
cdc | Ven: but I don't understand why I have to add the "export" trait on some multis | 07:55 | |
Ven | cdc: not sure. I'm getting segfaults on my own version | 07:56 | |
cdc | Ven: with your version, I have «Cannot invoke this object (REPR: Uninstantiable, cs = 0)» | 07:57 | |
Ven | yeah :( | ||
RabidGravy | kanl, the general approach is reduce the code to the absolute minimum required to reproduce the fault and report a bug | ||
cdc | Ven: I think it is due to the "add" function | 07:58 | |
Ven | cdc: definitely is | ||
cdc | Ven: maybe it recurses because you don't change the type of the second argument. | ||
Ven | cdc: definitely. | 07:59 | |
I'd argue that's still a bug in rakudo/moar :) | |||
cdc | Ven: oh, OK :) | ||
08:00
dakkar joined
|
|||
kanl | RabidGravy: ok, i think i can do that. i can comment out a few commands, leaving with just one. i was able to reproduce "mem leak" with running only one command, e.g. df, but it's hard to describe the problem, because the valgrind output is not consistently pointing to thread instability. | 08:01 | |
08:02
bjz left
|
|||
kanl | i.e. i'm not getting consistent failure each time :) | 08:02 | |
i'd be glad to file a bug, just i'm not entirely sure what on .. | 08:04 | ||
RabidGravy | I think "this code leaks memory and eventually SEGVs" is enough :-) stick it on rt.perl.org (in the perl6 queue) | 08:07 | |
08:07
vendethiel joined
|
|||
RabidGravy | memory leaks are bad, segfaults are very bad | 08:08 | |
jnthn | I suspect the EVAL may be the leak cause | ||
08:08
g4 left
|
|||
kanl | RabidGravy: ok, i'll do that, thanks. btw, i initally tried to implement it with Proc::Async, but i learned the hard way that stdout/stderr are not tapped at once in its entirity. so i'd have to piece together the output with a supply/channel, and that was a pita, so i gave up. also Proc::Async doesn't seem to be very stable :p | 08:09 | |
08:09
g4 joined,
g4 left,
g4 joined
|
|||
jnthn | kanl: What version of Rakudo are you running? A bunch of stability issues got cleared up in the last month or so... | 08:10 | |
RabidGravy | my experience of Proc::Async is limited to making a few shoirt examples to document it | ||
kanl | This is perl6 version 2015.06-1-gdf0c3a3 built on MoarVM version 2015.06 | ||
jnthn | Ah, that's pretty recent. | ||
The invalid read valgrind spots is certainly a bug | 08:12 | ||
That should never happen. | |||
masak hesitates above the submit button | 08:13 | ||
...is it reproducible enough? can we golf it? | |||
jnthn | Probably can be golfed, yes | 08:14 | |
kanl | if anyones in the channel would know better how to describe the problem i'm having, i'd be glad to yield/defer the bug filing :) | ||
anyone else | 08:15 | ||
masak submits rakudobug | |||
kanl | ++masak | 08:16 | |
08:16
virtualsue joined
08:22
virtualsue_ joined
08:24
virtualsue left,
virtualsue_ is now known as virtualsue
|
|||
dalek | kudo/nom: 09940e4 | jnthn++ | src/core/Capture.pm: Make Capture element access rw. So you can get at the actual passed Scalar if needed. |
08:26 | |
kanl | an unrelated question, line 94 in my gist, [ ROUTE => @s.shift, my $h = hash @s.map: { $_[0] => $_ } ], is there an easier way to make the hash into the list as a scalar, instead of assigning to a varible? ( maybe sorta like +{ } in p5 ) | ||
dalek | ast: 7d42dff | jnthn++ | S02-types/capture.t: Test for RT #125505. |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125505 | ||
kanl | i tried to use just { }, but seemed to get code objects instead | 08:28 | |
and +{ } expression doesn't seem valid in p6 | 08:29 | ||
if there isn't already a way to do it in p6, would it be too late to make it a feature request? :) | 08:30 | ||
masak | kanl: rt.perl.org/Ticket/Display.html?id=125507 | 08:31 | |
kanl: there are still some minor rough edges around hash/code detection in things like .map | |||
kanl | masak++ | 08:32 | |
masak | kanl: most of them have been ironed out, though. ISTR it's hash "by default" and then various signals tip it off that it's a hash. | ||
psch | kanl: you mean .kv with your request? | 08:33 | |
m: my %h = a => 1, b => 2; say %h.kv | |||
camelia | rakudo-moar 24236f: OUTPUT«a 1 b 2» | ||
psch | m: my %h = a => 1, b => 2; say %h.kv.perl | ||
camelia | rakudo-moar 24236f: OUTPUT«("a", 1, "b", 2)» | ||
jnthn | masak: I don't remember any outstanding RTs on that, fwiw...though can take a look :) | ||
kanl: I think maybe something like this could be more succinct: | |||
m: my @s = [0,1,2],[1,2,3]; say $%( @s>>[0] Z=> @s ).perl | |||
camelia | rakudo-moar 24236f: OUTPUT«{"0" => [0, 1, 2], "1" => [1, 2, 3]}» | ||
jnthn | At lesat, if I understood wha tyou're trying to do properly :) | ||
psch isn't sure either what is asked for vOv | 08:34 | ||
kanl | masak,jnthn: thank you both. $%() is what i was looking for i guess :) | ||
psch: thank you too, of course, but that wasn't what i meant :) | 08:36 | ||
masak | anyone else do this? open up `perl6` REPL and just type a function (like `spurt`) without any arguments, to find out what signatures it has from the error message? :P | 08:38 | |
jnthn | yes :P | 08:39 | |
08:39
salva left
08:40
itz joined,
salva joined
|
|||
RabidGravy | I think the predicted weather may militate somewhat against my current github streak getting any longer | 08:40 | |
08:41
laouji left
|
|||
nwc10 | RabidGravy: until Thursday? | 08:41 | |
itz | morning | ||
masak | \o | 08:42 | |
fun fact: if you open a REPL, then start recompiling Rakudo, then ^D out of the REPL, you get a segmentation fault. :) | 08:43 | ||
jnthn | funner fact: you deserved it! :P | 08:44 | |
masak | "that's how good programs behave!" ? | ||
I can't recall seeing that elsewhere... | |||
08:45
laouji joined
|
|||
dalek | kudo/nom: 2bd2737 | (Carl Masak)++ | src/core/ (2 files): s:g/\$what/\$contents/ in spurt parameter More to spec, more descriptive, and one of the routines already had it that way. |
08:45 | |
masak | '$what' is not a terribly good parameter name :P | 08:46 | |
jnthn | what? :P | 08:47 | |
masak | :P | ||
08:49
espadrine joined
|
|||
itz | Use of Nil in numeric context in block at lib/Panda/Tester.pm:36 | 08:50 | |
masak | walk & | 08:51 | |
itz | hmm maybe my panda is too old | 08:52 | |
08:56
laouji left
09:04
CIAvash joined
09:05
cognominal joined
|
|||
RabidGravy | I have code with a :$what in it too, it's fine ;-) | 09:07 | |
psch remembers being stumped by '$fles'... | |||
or maybe it was \fles | |||
jnthn | m: say 'fles'.flip | ||
camelia | rakudo-moar 09940e: OUTPUT«self» | ||
RabidGravy | there's no fles on that code | ||
09:07
laouji joined
|
|||
psch | jnthn: yes, that was the response back then as well :) | 09:08 | |
RabidGravy | nwc10, I feel the cidah calling me | ||
09:09
CIAvash left
|
|||
jnthn | Hmm...didn't somebody paste a gdb backtrace recently showing some SEGV related to bigint stuff? | 09:09 | |
I can't find it in RT, but managed to run into the same issue... | |||
09:11
laouji left
09:15
g4 left,
laouji joined
|
|||
RabidGravy | I had an amusing one yesterday, this github.com/jonathanstowe/CheckSock...002-func.t works fine in all other circumstances except when run by "panda install ..." in which case it hung and occassionally segfaulted | 09:15 | |
09:16
vendethiel left
|
|||
RabidGravy | couldn't replicate without panda being involved so stuck an exit in there | 09:17 | |
09:17
g4 joined,
g4 left,
g4 joined
09:21
laouji left
09:25
Ven left
09:26
laouji joined
09:31
domidumont left,
domidumont joined
09:32
RabidGravy left
|
|||
atroxaper | Is there method of Str to lower case first character? Can't find in documentation. | 09:38 | |
09:39
CIAvash joined
|
|||
moritz | nope | 09:39 | |
atroxaper | moritz: why?! | 09:40 | |
moritz | m: my $str = "ABC"; $str.substr-rw(0, 1).=lc; say $str | ||
camelia | rakudo-moar 2bd273: OUTPUT«aBC» | ||
moritz | atroxaper: because composability | ||
09:40
zacts joined
|
|||
atroxaper | Hm... Ok. Thanks :) | 09:40 | |
lizmat | good *, #perl6! | 09:41 | |
moritz | no need for built-ins for seldomly-used cases that can be composed from the primitives | ||
lizmat | m: sub a($a;$b) {} # what does it mean? | ||
camelia | ( no output ) | ||
atroxaper | moritz: agreed. | ||
lizmat | m: (sub a($a;$b) {}).signature.perl.say # seems equivalent to comma. Should it ? | 09:44 | |
camelia | rakudo-moar 2bd273: OUTPUT«:($a, $b)» | ||
lizmat | can't find anything about it in the spec | ||
or maybe I'm not looking well enough | 09:45 | ||
09:45
Ven joined
|
|||
lizmat | m: (sub a(: $a) {}).signature.perl.say # another anomaly ? | 09:46 | |
camelia | rakudo-moar 2bd273: OUTPUT«:($a: ;; )» | ||
kanl | moritz,atroxaper: $str[0] would be really nice if possible | ||
09:48
dayangkun left
|
|||
kanl | i thought i had read it in a spec before, though can't seem to find it now. | 09:48 | |
though maybe such a thing never existed :p | 09:49 | ||
09:49
rindolf joined
|
|||
moritz | never existed | 09:50 | |
09:50
Ven left
|
|||
moritz | lizmat: wtf | 09:50 | |
kanl | bummer | ||
lizmat | m: my $a = "foobar" but role { method AT-POS($i) { substr(self,$i,1) } }; say $a[2] | 09:51 | |
camelia | rakudo-moar 2bd273: OUTPUT«o» | ||
psch | m: use MONKEY-TYPING; augment class Str { method AT-POS($self: $pos) { $self.comb[$pos] } }; "foo"[0].say # even worse | ||
camelia | rakudo-moar 2bd273: OUTPUT«f» | ||
lizmat | moritz: I guess signature parsing has been an exercise in cheating, and we're getting caught now :-) | 09:52 | |
09:53
bin_005 joined
|
|||
kanl | lizmat: thanks. it looks a bit involved for an average yahoo to take advantage of. | 09:55 | |
lizmat | kanl: that was only an example | ||
turn it into a named role, and you can use it anywhere: | |||
m: role indexed { method AT-POS($i) { substr(self,$i,1) } }; my $a = $foobar but indexed; say $a[2,3,4] | 09:56 | ||
camelia | rakudo-moar 2bd273: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OSfwe8U8SvVariable '$foobar' is not declaredat /tmp/OSfwe8U8Sv:1------> 3OS($i) { substr(self,$i,1) } }; my $a = 7⏏5$foobar but indexed; say $a[2,3,4]» | ||
lizmat | m: role indexed { method AT-POS($i) { substr(self,$i,1) } }; my $a = "foobar" but indexed; say $a[2,3,4] | ||
camelia | rakudo-moar 2bd273: OUTPUT«o b a» | ||
kanl | <= the average yahoo who doesn't know enough about p6's awesomeness | ||
lizmat | we've all been yahoo's at some time :-) | 09:57 | |
afk for a bit& | |||
moritz doesn't know if he's ever been a hierarchical object oracle :-) | |||
DrForr | The P6 Oracle demands 2 new hyperoperators and half a ton of flax. | 09:58 | |
10:00
Ven joined
10:06
dayangkun joined
10:08
dayangkun left
10:09
bin_005_h joined,
tinyblak left
10:10
rindolf left
10:13
bin_005 left
10:15
telex left
10:16
telex joined
|
|||
lizmat | afk until much later& | 10:16 | |
10:20
Akagi201 left
10:21
Akagi201 joined,
Akagi201 left
10:25
tinyblak joined,
vendethiel joined
10:31
AlexDaniel joined
10:33
RabidGravy joined
|
|||
atroxaper | Which editor do you use for Perl6? | 10:46 | |
Ven | atroxaper: vim | ||
RabidGravy | yep, vim | 10:47 | |
AlexDaniel | atroxaper: I use emacs | ||
RabidGravy | "other editors are available" | ||
atroxaper | I use IntelliJIDEA (as Java programmer) and trying to use it for Perl6. But now I wanted to try Atom. | 10:49 | |
RabidGravy | it's always a bad question as people tend to use the editor they've used for ever | ||
AlexDaniel | RabidGravy: at this point, this question is fine, I think | ||
some time ago perl6-mode was not really useful | 10:51 | ||
RabidGravy | I use vim for C, vim for Perl, vim for Java, vim for Python, vim for awk .... the reason I use it is nothing to do with the language or support thereof | ||
AlexDaniel | RabidGravy: sure, but it means that there is support for perl6 | 10:52 | |
and that's what he was trying to know, I guess | |||
itz | if you checkout the perl6-mode from git the syntax highlighting is better than currently shipped with 7.4 | ||
kanl | can anyone post a gist for the section of .vimrc for perl6? | ||
itz | and anyone who uses tags might like App::p6tags | 10:53 | |
kanl | or can someone gimme a pointer to where it's available? vim doesn't seem to have default perl6 support yet | ||
10:54
andreoss joined
|
|||
kanl | whenever i open up a .pm6 file in vim, it lags really badly. | 10:54 | |
itz | its in 7.4 | ||
kanl upgrading vim, thanks itz! | 10:55 | ||
itz | and the latest and greatest vim perl6 mode is in | ||
github.com/vim-perl/vim-perl | |||
and yes it is slow to render (due to the complex syntax of perl6 I assume) | |||
atroxaper | AlexDaniel: actually i just wanted to know who what uses... :) | 10:56 | |
AlexDaniel | :) | 10:58 | |
11:02
araujo joined,
araujo left,
araujo joined
|
|||
kanl | upgrading vim didn't improve sluggishness for me :( | 11:04 | |
psch | kanl: vim-perl is the not-as-sluggish one, afaik | 11:08 | |
kanl: i don't think that's default in most distributions in vim | |||
11:10
andreoss left
|
|||
cognominal | the atom editor has a mode for Perl 6, probably derived from sublime text or textmate that share (more or less) the same conventions. | 11:11 | |
grondilu | m: my %h{Str}{Complex}; %h<foo>{1i}++; say %h<foo>.keys.pick.WHAT; # not sure if that's supposed to work | ||
camelia | rakudo-moar 2bd273: OUTPUT«(Str)» | ||
kanl | Package vim-perl is a virtual package provided by: vim-nox 2:7.4.052-1ubuntu3 vim-gtk 2:7.4.052-1ubuntu3 vim-athena 2:7.4.052-1ubuntu3 vim-gnome 2:7.4.052-1ubuntu3 | ||
You should explicitly select one to install. | |||
these are all graphical varieties of vim, right? | 11:12 | ||
is there a plain terminal version of it? pardon my ignorance. | |||
bobkare | kanl: I don't know vim, but -nox would typically be the terminal variant | 11:14 | |
grondilu | my %h; %h<foo> = my %anon{Complex}; %h<foo>{1}++' # can't I create anonymous typed variables? | 11:15 | |
11:15
itz left
|
|||
kanl | bobkare: thanks | 11:15 | |
grondilu | my %{Complex} or something? | ||
std: my %{Complex} | 11:17 | ||
camelia | std 28329a7: OUTPUT«ok 00:00 137m» | ||
grondilu | m: my %{Complex} | ||
camelia | rakudo-moar 2bd273: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KcdEQqNfGgUnsupported use of %{Complex}; in Perl 6 please use %Complexat /tmp/KcdEQqNfGg:1------> 3my %{Complex}7⏏5<EOL>» | ||
psch | kanl: in my defense, i almost always use syntax=off... :) | ||
kanl | i'm actually quite indifferent to syntax highlighting, only too lazy to :syntax off every time :p | 11:18 | |
grondilu | FYI, it's because I'd like a nested structure like { array_data => [ $some_data ], hashed_data_with_complexes_as_keys => { 1+i => $value, 1-i => $other_value, ... } }; | 11:19 | |
I know I could turn the complexes as Str and do the conversion when needed, but using a typed hash would be much more pleasant. | 11:21 | ||
m: my %h{Complex}; %h{1i}++; say .WHAT for %h.keys | 11:22 | ||
camelia | rakudo-moar 2bd273: OUTPUT«(Complex)» | ||
grondilu | ^this is nice but can't be done in a nested structure apparently | ||
though now that I think about it the type on the second level needs to depend on the entry in the first level, so it's not easy to declare that. | 11:24 | ||
11:25
gcole joined
|
|||
grondilu | m: sub anonymous-complex-hash() { my %foo{Complex} }; my %h; %h<bar> = anonymous-complex-hash(); %h<bar>{1i}++; say .WHAT for %h<bar>; | 11:26 | |
camelia | rakudo-moar 2bd273: OUTPUT«(Hash[Any,Complex])» | ||
grondilu | m: sub anonymous-complex-hash() { my %foo{Complex} }; my %h; %h<bar> = anonymous-complex-hash(); %h<bar>{1i}++; say .WHAT for %h<bar>.keys; | ||
camelia | rakudo-moar 2bd273: OUTPUT«(Complex)» | ||
grondilu | I guess I could do that? | ||
jnthn | grondilu: Hash[Mu, Complex].new is also an option | 11:27 | |
lunch & | |||
grondilu | oh yeah | 11:28 | |
hum, seems to refuse to aggregate: | 11:31 | ||
m: my $h = Hash[Mu, Complex].new; $h{1i}++; $h{1i}++; say $h.perl | |||
camelia | rakudo-moar 2bd273: OUTPUT«Hash[Mu,Complex].new(<0+1i> => 1, <0+1i> => 1)» | ||
grondilu | m: my $h = Hash[Mu, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.elems | ||
camelia | rakudo-moar 2bd273: OUTPUT«2» | ||
11:31
vendethiel left
|
|||
grondilu | m: my $h{Complex}; $h{1i}++; $h{1i}++; say $h.keys.elems | 11:32 | |
camelia | rakudo-moar 2bd273: OUTPUT«1» | ||
grondilu | m: my $h{Complex}; $h{1i}++; $h{1i}++; say $h.WHAT | ||
camelia | rakudo-moar 2bd273: OUTPUT«(Hash)» | ||
grondilu | m: my %h{Complex}; %h{1i}++; %h{1i}++; say $h.WHAT | ||
camelia | rakudo-moar 2bd273: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0grZPs2M0OVariable '$h' is not declared. Did you mean '%h'?at /tmp/0grZPs2M0O:1------> 3my %h{Complex}; %h{1i}++; %h{1i}++; say 7⏏5$h.WHAT» | ||
grondilu | m: my %h{Complex}; %h{1i}++; %h{1i}++; say %h.WHAT | ||
camelia | rakudo-moar 2bd273: OUTPUT«(Hash[Any,Complex])» | ||
grondilu | m: my $h = Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.elems | ||
camelia | rakudo-moar 2bd273: OUTPUT«2» | ||
grondilu | m: my %h = Hash[Any, Complex].new; %h{1i}++; %h{1i}++; say %h.keys.elems | ||
camelia | rakudo-moar 2bd273: OUTPUT«1» | ||
grondilu | weird | 11:33 | |
the sigil should not matter, should it? | |||
moritz | m: my $h = Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys | 11:34 | |
camelia | rakudo-moar 2bd273: OUTPUT«0+1i 0+1i» | ||
moritz | m: my $h = Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.perl | ||
camelia | rakudo-moar 2bd273: OUTPUT«(<0+1i>, <0+1i>)» | ||
moritz | m: my $h := Hash[Any, Complex].new; $h{1i}++; $h{1i}++; say $h.keys.perl | ||
camelia | rakudo-moar 2bd273: OUTPUT«(<0+1i>, <0+1i>)» | ||
grondilu | also, it keeps converting to Str: | ||
m: my %h = Hash[Any, Complex].new; %h{1i}++; %h{1i}++; say .WHAT for %h.keys | 11:35 | ||
camelia | rakudo-moar 2bd273: OUTPUT«(Str)» | ||
moritz | grondilu: my %h = Hash[Any, Complex].new can't work; you'd need binding here | ||
psch | m: say 1i === 1i | ||
camelia | rakudo-moar 2bd273: OUTPUT«False» | ||
psch | j: say 1i === 1i | 11:36 | |
camelia | rakudo-jvm 2bd273: OUTPUT«False» | ||
grondilu | ok | ||
JimmyZ | n: say 1i === 1i | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«sh: mono: command not found» | ||
grondilu | my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++ xx 2; say %h<foo>.keys.elems | 11:39 | |
m: my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++ xx 2; say %h<foo>.keys.elems | |||
camelia | rakudo-moar 2bd273: OUTPUT«1» | ||
grondilu | looks fine except that: | 11:40 | |
m: my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++; %h<foo>{1i}++; say %h<foo>.keys.elems | |||
camelia | rakudo-moar 2bd273: OUTPUT«2» | ||
grondilu | that's LTA, if you ask me | 11:41 | |
psch | grondilu: each literal 1i is a new instance, there's no interning or anything, thus they have different .WHICH | ||
grondilu: yes, it's not good that it is like that :) | |||
masak | psch, grondilu: clearly 1i should equal 1i using === | ||
it's a bug that it doesn't. | |||
psch isn't disagreeing, just explaining | 11:42 | ||
masak | well, feel free to file a rakudobug :) | ||
grondilu | just the 1i === 1i should be enough | 11:43 | |
masak | aye | ||
but it's also "interesting" that the sigil of the Hash variable matters. that might be a separate bug. | |||
moritz | m: say 1i === 1i | 11:44 | |
camelia | rakudo-moar 2bd273: OUTPUT«False» | ||
grondilu submits the 1i === 1i bug | 11:45 | ||
m: say 1 === 1 # just in case | |||
camelia | rakudo-moar 2bd273: OUTPUT«True» | ||
masak | m: say i === i | ||
camelia | rakudo-moar 2bd273: OUTPUT«True» | ||
masak | m: say 0i === 0i | ||
camelia | rakudo-moar 2bd273: OUTPUT«False» | ||
masak | m_ say -i === -i | 11:46 | |
m: say -i === -i | |||
camelia | rakudo-moar 2bd273: OUTPUT«False» | ||
grondilu | made ticket #125509 | 11:50 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125509 | ||
psch | grondilu++ | ||
11:53
brrt left
|
|||
grondilu | m: use MONKEY_TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; say 1i === 1i | 11:55 | |
camelia | rakudo-moar 2bd273: OUTPUT«TrueSaw 1 occurrence of deprecated code.================================================================================'use MONKEY_TYPING' seen at: /tmp/0bJSTcpQ_1, line 1Deprecated since v2015.4, will be removed with release v2015.9!Pl…» | ||
grondilu | m: use MONKEY-TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; say 1i === 1i | ||
camelia | rakudo-moar 2bd273: OUTPUT«True» | ||
11:55
tinyblak left
|
|||
grondilu | m: use MONKEY-TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; say 1i === 1i, 1i == 0i | 11:56 | |
camelia | rakudo-moar 2bd273: OUTPUT«TrueFalse» | ||
grondilu | m: use MONKEY-TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; say 1i === 1i, 1i === 0i | ||
camelia | rakudo-moar 2bd273: OUTPUT«TrueFalse» | ||
grondilu | m: use MONKEY-TYPING; augment class Complex { method WHICH { self.reals.join("|") } }; my %h; %h<foo> = (my % := Hash[Any, Complex].new); %h<foo>{1i}++; %h<foo>{1i}++; say %h<foo>.keys.elems | 11:57 | |
camelia | rakudo-moar 2bd273: OUTPUT«1» | ||
grondilu | well I guess I could use that as a work-around | ||
ShimmerFairy | Huh, why was MONKEY_TYPING changed to MONKEY-TYPING? Feels so wrong to me (I tend to treat _ as an uppercase - in P6 names, so _ is waaaay more appropriate in an all-caps name for me) | 11:58 | |
11:59
bin_005_h left
|
|||
grondilu agrees with ShimmerFairy | 11:59 | ||
11:59
atroxaper left
|
|||
grondilu | but I'm sure people discussed quite a bit before making this decision | 11:59 | |
it's not a big deal anyway | |||
flussence +2, half the advantage of hyphen is that it avoids bouncing on the shift key and this undoes that... | 12:00 | ||
ShimmerFairy | For me, it's all about not randomly changing the pressed state of my shift key mid-term :P | ||
ShimmerFairy quickly adds that camelCase is specifically not random :) | |||
grondilu: it's not a big deal, true, but such a minor change isn't worth making without good cause. And I'd like to know that cause :) | |||
grondilu | ShimmerFairy: I guess you could search for it in the IRC log | 12:01 | |
psch | i remember an argument about consistency, not sure when that was though | ||
12:02
ggoebel left
|
|||
psch | i'm guessing somewhen in february this year maybe? | 12:02 | |
grondilu | wow the monkey patch actually solved my problem. Nice. | ||
flussence | (IIRC, there was a lot of historical bikeshedding over the double-hyphen in command-line --long-options for the same reason) | ||
grondilu | well, taht's different. double-hypen for long options is a Unix convention. I can't imagine people not happy with that. | 12:04 | |
psch | gist.github.com/peschwa/890553b356e9a3f4d2f6 \o/ | ||
hiding lots of the not-yet-fully-worked-out details there, though :/ | |||
RabidGravy | Just think in the future there will be people dressing up in the clothes of the 2010s doing historical bike-shedding re-enactments | ||
psch | but i'll just have to turn the script i'm executing into a flag on perl6-j | ||
and then we can have standalone deployable jars written in perl6 :) | 12:05 | ||
eiro | cd | ||
oops sorry | |||
RabidGravy | do it all the time | ||
ShimmerFairy | psch: you yourself said it was consistency in a march log. But I'm not buying a one-word answer :) | 12:06 | |
DrForr | RabidGravy: In the 2070s we'll *STILL* be bitching about flying cars. | ||
psch | ShimmerFairy: whoops... :) | ||
ShimmerFairy: fwiw, i think i'd rather agree with you regarding the state-change of shift | |||
ShimmerFairy: but it also feels rather minor of a thing to give attention to | |||
ShimmerFairy | psch: so why bother changing it in the first place? :) | ||
psch | ShimmerFairy: i didn't change it, afair... | 12:07 | |
although i might have prompted the change, not sure about that | |||
12:07
vendethiel joined
|
|||
ShimmerFairy | I can maybe kinda see consistency with other names that have hyphens, but it doesn't have case-consistency within the name; from my view, MONKEY-TYPING is exactly as weird as MONKEy_TYPING | 12:08 | |
12:10
itz joined
|
|||
RabidGravy | monkey-typing.com is strangely available | 12:10 | |
ShimmerFairy | Point is, if it's such a minor change, I'd like to know why it was worth the effort, and if it's actually a major change, I'd like to know why it is major after all :) | 12:11 | |
12:13
nys joined
|
|||
RabidGravy | I reckon it's about a six character change in three files | 12:16 | |
12:17
ggoebel joined
|
|||
masak .oO( I reckon it's about ethics in videogame journalism ) | 12:18 | ||
RabidGravy | :) | ||
grondilu | m: say (1i, 1i).unique | ||
camelia | rakudo-moar 2bd273: OUTPUT«0+1i 0+1i» | ||
masak | so unique | ||
grondilu is not suprised but thought it was worth pointing at | |||
jnthn | At least it's consistently wrong :P | ||
RabidGravy | what is 'li' | ||
jnthn | I'll look into it once I get done hunting a GC bug I've uncovered... | ||
grondilu | RabidGravy: it's "1", not "l" | 12:19 | |
RabidGravy | what is 'Ii' then ;-) | ||
12:19
tinyblak joined
|
|||
RabidGravy | oh | 12:19 | |
grondilu | m: say 1i**2 | ||
camelia | rakudo-moar 2bd273: OUTPUT«-1+1.22464679914735e-16i» | ||
RabidGravy | 1 | ||
ShimmerFairy | masak: I get the feeling MONKEY-TYPING will be one of those things about Perl 6 I'll passively complain about forever, like how for the last time buffers are not strings :P | 12:20 | |
RabidGravy | got it | ||
grondilu thinks it's LTA that 1i**2 is not exactly -1 | |||
grondilu remembers have whinned already about Complex imposing num for its components. | 12:21 | ||
*having | |||
DrForr perks up his ears at the mention of complex numbers :) | |||
grondilu | why can't Complex be neutral about the type of its components and use whatever the instance is built with? | 12:22 | |
(as long as its Numeric, that is) | 12:23 | ||
(or Real, rather) | 12:24 | ||
ShimmerFairy | Considering complex numbers are a superset of all real numbers, I imagine it's not that far-fetched to use a component type that can handle all real numbers :) | ||
grondilu | class Complex does Numeric { has Real ($.re, $.im); ... } | ||
hoelzro | good *, #perl6 | 12:27 | |
12:29
diana_olhovik_ joined,
vendethiel left
|
|||
masak | hoelzro: \o | 12:36 | |
hoelzro | ahoy masak | 12:39 | |
RabidGravy | Harr! Me Hearty! | 12:40 | |
masak just tried `@/`, hoping it'd mean `@$/`... but it doesn't | |||
psch | masak: that's @(), isn't it? | ||
ShimmerFairy | masak: huh, @<rule> works at least (unless that's changed) | ||
masak | psch: ooh, mebbe | 12:41 | |
jnthn | Or just say @$/ :) | ||
masak | psch: yeah, that works! | ||
psch: something in me expected @/ to mean, @$/ -- dunno if that is reasonable | |||
s/,// | |||
12:43
vendethiel joined
|
|||
ShimmerFairy | masak: I think it is, again considering @<rule> (and possibly @0 ?) | 12:44 | |
masak | right, and @2 et al, no? | ||
oh, you said @0 | 12:45 | ||
std: @0 | |||
camelia | std 28329a7: OUTPUT«ok 00:00 135m» | ||
ShimmerFairy | no @/ feels like an omission, consider all the other @ versions of latest match access | ||
std: @/ | |||
camelia | std 28329a7: OUTPUT«5===SORRY!5===Bogus term at /tmp/uHwGVLQyxa line 1 (EOF):------> 3@/7⏏5<EOL>Parse failedFAILED 00:00 137m» | ||
masak | TimToady: ^^ why is @/ less reasonable than @() ? | ||
DrForr | std: ... @/' | 12:46 | |
camelia | std 28329a7: OUTPUT«5===SORRY!5===Unable to parse single quotes at /tmp/Zxq3fGvqzp line 1:------> 3... @/7⏏5'Couldn't find final "'"; gave up at /tmp/Zxq3fGvqzp line 1 (EOF):------> 3... @/'7⏏5<EOL>Parse failedFAILED 00:00 137m» | ||
masak | it's a little bit as if "highlander variables" came true, but only for $/ :P | ||
ShimmerFairy | What is @() anyway? | 12:47 | |
(to me it looks like turning nothing into list context) | |||
masak | m: "foo bar baz" ~~ /(\w+) +% ' '/; say @()>>.Str.perl | ||
camelia | rakudo-moar 2bd273: OUTPUT«(["foo", "bar", "baz"],)» | ||
ShimmerFairy | Huh. I almost feel like that should be @[], but I'm sure that makes just as much sense :) | 12:50 | |
12:51
rurban left
|
|||
masak | @[] already means something else | 12:53 | |
std: @[] | |||
camelia | std 28329a7: OUTPUT«ok 00:00 137m» | ||
masak | m: say @[] | ||
camelia | rakudo-moar 2bd273: OUTPUT«» | ||
masak | pmichaud: if List objects support .push post-GLR, does it make more sense for Lists to autovivify in `%hash{$key}.push($elem)` than Arrays? | 12:55 | |
dalek | kudo/nom: 5930fc4 | jnthn++ | src/core/Str.pm: Fix Str.perl isolated comb-char handling. If we have combining chars at the start and we're in an implementation with NFG, we must handle them specially, otherwise we'll accidentally them on the opening quote. |
12:56 | |
ShimmerFairy | masak: suddenly I'm glad we got rid of a lot of special variables present in Perl 5 :) | ||
masak | :) | 12:57 | |
dalek | ast: 5277d28 | jnthn++ | S02-names-vars/perl.t: Unfudge tests for RT #125110. |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125110 | ||
ShimmerFairy | (by "special variables" I of course mean the ones whose names are essentially randomly-chosen non-alnum characters :P) | 12:59 | |
masak | ShimmerFairy: that's the `perldoc perlvar` name for them too. | ||
13:00
atroxaper joined
13:01
Dee22 joined
|
|||
masak | is substr-rw here to stay? or is it just a stopgap thing until we can properly optimize away expensive unused proxies? | 13:03 | |
moritz | yes! | 13:04 | |
masak | dang, and phew, respectively. | ||
13:04
atroxaper left,
vendethiel left
|
|||
jnthn | We don't have a concrete path towards optimizing those away, afaik. | 13:06 | |
masak | ok. | ||
I can see that it would be difficult. but I've yet to see a -rw form of anything in Perl 6 that I really like, or accept. | 13:07 | ||
they're all ugly. | |||
jnthn | Well, they all tend to mean you've opted for the mutable solution rather than the functional one... :) | 13:08 | |
masak | in Perl 5, both are just substr | ||
grondilu | m: for (my @ = { foo => Mu } xx 2) -> $x { say $x.WHAT } | ||
camelia | rakudo-moar 2bd273: OUTPUT«(Hash)(Hash)» | ||
grondilu | m: for (my @ = { foo => Mu } xx 2) Z ^2 -> $x, $ { say $x.WHAT } | ||
camelia | rakudo-moar 2bd273: OUTPUT«(Parcel)» | ||
grondilu | ^something's wrong here | 13:09 | |
masak | m: my %h = :foo; for False, True -> $exists { say %h<foo> :$exists, ", ", %h<bar> :$exists } | ||
camelia | rakudo-moar 2bd273: OUTPUT«False, TrueTrue, False» | ||
masak | wow, adverbs++ | ||
grondilu: ($x, $) parentheses | |||
grondilu | m: for (my @ = { foo => Mu } xx 2) Z ^2 -> ($x, $) { say $x.WHAT } | 13:10 | |
camelia | rakudo-moar 2bd273: OUTPUT«(Hash)(Hash)» | ||
grondilu | oh | ||
jnthn | "for flat" maybe... | ||
grondilu | I'm not sure how it is parsed without the parenthesis | 13:11 | |
jnthn | m: say 1/2 === 1/2 | ||
camelia | rakudo-moar 2bd273: OUTPUT«True» | ||
jnthn | m: say 2/4 === 1/2 | ||
camelia | rakudo-moar 2bd273: OUTPUT«True» | ||
jnthn | m: my $a = 2; say $a/4 === 1/2 | ||
camelia | rakudo-moar 2bd273: OUTPUT«True» | ||
jnthn | m: say (1/2).WHAT | 13:12 | |
camelia | rakudo-moar 2bd273: OUTPUT«(Rat)» | ||
jnthn | m: my %h{Rat}; my $a = 2; %h{$a/4}++; %h{1/2}++; say %h.perl | ||
camelia | rakudo-moar 2bd273: OUTPUT«Hash[Any,Rat].new(0.5 => 2)» | ||
jnthn | ohhh | ||
:) | |||
masak | equality for rats! | 13:13 | |
RabidGravy | eek! eek! | 13:15 | |
or eep! eep! | |||
13:19
gcole left,
Akagi201 joined
13:20
rarara joined
|
|||
jnthn | Yeah, I was thinking Rat too was missing a .WHICH | 13:20 | |
13:21
raiph joined
|
|||
jnthn | Turns out it's not, it just ain't in Rat.pm | 13:21 | |
13:21
jaffa4 joined
13:22
Akagi201_ joined
|
|||
moritz | but Complex is missing one | 13:22 | |
13:24
Akagi201 left
|
|||
jnthn | aye, I've added it locally | 13:24 | |
dalek | p/standalone-jar: b52adfa | peschwa++ | src/ (7 files): Add HLL::Compiler switch --with-cu and use parent ClassLoaders. This allows us to package nested jars with e.g. one-jar, which I will also implement a flag for in HLL::Compiler. Using parent ClassLoaders for IgnoreNameClassloader and ByteCodeClassLoader is neccessary to chain into e.g. JarClassLoader (which one-jar uses) to find nested jars. |
13:26 | |
p/standalone-jar: 118ac37 | peschwa++ | tools/jvm/one-jar- (25 files): Add the one-jar skeleton and a script that mostly builds a standalone jar. Reading the script reveals the missing pieces. The Rakudo entry CU is currently hardcoded, and it shouldn't really be an external script either. Soon™. |
|||
kudo/standalone-jar: c43eb19 | peschwa++ | src/vm/jvm/ (2 files): Add JVM ModuleLoader bits to support loading modules from nested jars. cf. NQP commit b52adfa6a4563c0723af1fd39c0791797d5a6595. |
13:27 | ||
13:27
vendethiel joined
|
|||
jnthn | m: use Test; nok 1 === 1 but role { }; | 13:29 | |
camelia | rakudo-moar 5930fc: OUTPUT«not ok 1 - # Failed test at /tmp/qs6TcupiRE line 1» | ||
jnthn | m: use Test; nok 1e0 === 1e0 but role { }; | ||
camelia | rakudo-moar 5930fc: OUTPUT«not ok 1 - # Failed test at /tmp/clMWqbfrtL line 1» | ||
jnthn | m: use Test; nok 1/2 === 1/2 but role { }; | ||
camelia | rakudo-moar 5930fc: OUTPUT«ok 1 - » | ||
jnthn | Also found/fixed the first two of those being wrong :) | 13:30 | |
masak uses `...my $var... given $var = ...;` as a poor man's Haskell `where` | |||
13:31
rarara left
13:32
cognominal left
|
|||
masak | today's mini-challenge: gist.github.com/masak/18bfb81f0f334e5e5516 | 13:35 | |
the second half of that challenge occupied me much of last week for $work. | |||
the first half was pretty straightforward. I just wrote a cute little 50-line Perl 6 script for it. | |||
(mostly to verify that the input 2 is correct) | 13:36 | ||
DrForr | Keeping the layout horizontally compact is probably an awkward bit of that. | ||
masak | sir, you are right. | 13:37 | |
the problem is tractable but more interesting than first appears. | |||
DrForr | And happened to fall *just* half an hour before the end of the day here :) | 13:38 | |
masak | haha | ||
ShimmerFairy | masak: this reminds me that I still need to figure out hexslide (last time I thought about it, I got to thinking about quite a bit of things, like trying to figure out which boards are transformations of another. I should write this stuff down before I totally forget it :P) | 13:40 | |
masak | ShimmerFairy: you and me both. | 13:41 | |
ShimmerFairy: I think the whole big space can be reduced to millions of subspaces of mutually transformable boards, which can then be individually solved. | 13:42 | ||
DrForr | masak: Actually it's more relevant to what I'm playing with than it may appear. I'm setting up a tool to prove that Nine Men's Morris is a draw, which requires a pretty massive tree. | ||
ShimmerFairy | masak: I never did write up my analysis of the 1D version of the game, did I? (2- and 3-pieces on a line). | ||
the number of possible boards in the 1D version matches up with the tribonacci numbers, IIRC :) | 13:43 | ||
masak | ShimmerFairy: I don't recall reading that, in any case. | ||
DrForr | 1 1 1 3 5 9 17 ... ? | ||
ShimmerFairy | masak: "millions of subspaces" sounds like the "partitions" I came to thinking about with hexslide; when the pieces in grooves split another, intersecting groove into two independent sides. | 13:44 | |
masak | ShimmerFairy: yeah, it sounds like we are very much thinking along the same lines here. | 13:45 | |
DrForr gets the feeling he should *really* not summon DDG here. | |||
masak | ShimmerFairy: maybe we should write a joint blog post? :) | 13:46 | |
DrForr: "DDG"? | |||
DrForr | The perlitically correct version of Google :) | ||
ShimmerFairy | masak: maybe :) I was hoping to someday have enough material for a huge math paper, walking through the various dimensions and such :P . (I once thought through how the number of grooves isn't the only factor to consider; e.g. a cube has the same number of groove axes as the original hexslide, but (AFAICT) they aren't 1:1 compatible) | 13:48 | |
DrForr | Something to do with the polyhexes, judging by iTunes. | ||
dalek | kudo/nom: 71cfb39 | jnthn++ | src/core/Str.pm: Further fixes to Str.perl + NFG. We were also vulnerable to producing incorrect .perl output when a combiner was placed on a non-printable. |
||
kudo/nom: 827ab5c | jnthn++ | src/core/Complex.pm: Add missing .WHICH method for Complex. |
|||
ShimmerFairy | I also found something about graph(?) theory dealing with the square board version once, that basically said it was still an open question as to the number of possible boards for a 2-piece only version of the game. I'm kinda fuzzy on that though. | 13:49 | |
grondilu | m: say .elems given flat my @ = [<a b>], 0; | ||
camelia | rakudo-moar 5930fc: OUTPUT«2» | ||
grondilu was expecting 3 | |||
m: say .elems given my @ = flat [<a b>], 0; | 13:50 | ||
camelia | rakudo-moar 5930fc: OUTPUT«2» | ||
ShimmerFairy | m: say .perl given flat my @ = [<a b>], 0 | ||
camelia | rakudo-moar 5930fc: OUTPUT«(["a", "b"], 0)» | ||
dalek | kudo/nom: ebd2833 | jnthn++ | src/core/Enumeration.pm: Don't use strict === when we want ==. |
||
kudo/nom: 19bc2c3 | jnthn++ | src/core/ (2 files): Correct === Int/Num fast-paths. They need to ensure that the type is identical. |
|||
kudo/nom: 60c273d | jnthn++ | src/core/ (2 files): Add === fast-paths for Complex and Rational. |
|||
ast: 227b81e | jnthn++ | S02-names-vars/perl.t: More tests for Str.perl and comb chars. |
|||
ast: 85dd356 | jnthn++ | S03-operators/value_equivalence.t: Test for RT #125509, plus other === bugs. |
|||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125509 | ||
ShimmerFairy | m: say .perl given my @ = ([<a b>], 0).flat | ||
camelia | rakudo-moar 5930fc: OUTPUT«[["a", "b"], 0]<>» | ||
ShimmerFairy | m: say .perl given my @ = ([<a b>], 0).flat.flat | ||
camelia | rakudo-moar 5930fc: OUTPUT«[["a", "b"], 0]<>» | ||
grondilu | flattening in Perl 6 is still a mystery to me | 13:51 | |
13:51
vendethiel left
|
|||
moritz | same here | 13:51 | |
though .flat only ever flattens (), never [] | 13:52 | ||
grondilu | m: say .elems given my @ = [<a b>].list, 0; | ||
camelia | rakudo-moar 5930fc: OUTPUT«3» | ||
grondilu | I guess I should do that | 13:53 | |
dalek | ast: 42e642e | jnthn++ | S03-operators/value_equivalence.t: Tweak test we didn't really fix. A recent change made it a passing todo by hiding an issue rather than fixing it at its root. |
13:54 | |
ShimmerFairy | masak: also, considering that for the 1D version the number of combinations are related to various kinds of Fibonacci sequences, I want to say that the 2D version has a similar kind of sequence, but somehow a 2D version of Fibonacci numbers. | ||
13:54
rurban joined
|
|||
DrForr | Okay, I'll bite. Someone got a pointer? Since all I can find is an iTunes game... | 13:55 | |
13:55
laouji left
|
|||
DrForr suspects he's about to waste an otherwise productive week. | 13:56 | ||
13:56
vendethiel joined
|
|||
ShimmerFairy | DrForr: it's described on masak's blog; give me a second to find the post | 13:57 | |
13:59
JimmyZ_ joined
|
|||
DrForr | My Quaternions talk is what's up at ::EU, but I badly want to do a series on game theory. Which would pretty much cement the reputation of perl6 as an academic language, so I'm grudgingly trying to get the last bits of ANTLR out of the way so I can do something more useful like Mojolicious. | 13:59 | |
ShimmerFairy | DrForr: strangelyconsistent.org/blog/counti...igurations | 14:00 | |
have fun being tormented for years :P | |||
14:00
g4 left
14:03
Ven left
|
|||
ShimmerFairy | DrForr: I'm sure it would be interesting. I can definitely see Perl 6 being an academic language. | 14:03 | |
DrForr | Okay, you people need to read these books: | 14:06 | |
www.amazon.com/s/ref=nb_sb_ss_c_0_1...Caps%2C253 | 14:07 | ||
14:12
skids joined
14:13
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
dalek | ast: 73e6a7c | jnthn++ | S32-exceptions/misc.t: Test for RT #125120. |
14:14 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125120 | ||
dalek | kudo/nom: 150df80 | jnthn++ | src/Perl6/World.nqp: Make compiler look for exceptions in setting only. If people declared a package X, it could hide the X namespace for exceptions, so the compiler could not find its exception types to throw for things like syntax errors. This has led to all manner of confusion. So, now we only look for those in the current setting. |
||
14:16
CIAvash left,
CIAvash joined
14:17
vendethiel left
|
|||
ugexe | moar is failing on windows right now right? | 14:19 | |
jnthn | Uh, no | ||
ugexe | ah so i did hose this system | 14:20 | |
jnthn | All the commits I just made are from Moar/NQP/Rakudo HEAD... | ||
Though you're not the only person to report that something is up... | |||
What compiler did you build with? | |||
ugexe | cl | ||
jnthn | Hm, same as me then | ||
14:21
Ven joined
14:22
vendethiel joined
|
|||
timotimo | what's cl? it's not clang, right? | 14:22 | |
ugexe | from visual studio | ||
timotimo | is that the codename for the visual studio compiler? | ||
code-names are cool. | |||
jnthn | It's the executable name of the compiler; cl.exe | 14:23 | |
14:24
tinyblak left
|
|||
jnthn | ugexe: 32-bit of 64-bit? | 14:24 | |
timotimo | "compiler and linker".exe possibly | ||
jnthn | timotimo: Maybe, but there's also a link.exe ;) | ||
timotimo | huh | ||
so that must stand for ... something with language ... intel ... nativecode ... kompilation? | 14:25 | ||
jnthn | I guess cl will compile and link if you don't ask it just to spit out an object file though... | ||
RabidGravy | it's been "cl.exe" since before visual studio was even thought of | ||
ugexe | 64bit | 14:26 | |
ShimmerFairy | I like how it's one letter away from the Windows command cls :P | ||
jnthn | ugexe: Hm, same here also. Oddness | ||
14:27
laouji joined
|
|||
FROGGS | ugexe: how does it fail? | 14:28 | |
ugexe | stage optimize: gmake: *** [CORE.setting.moarvm] ERROR -1073741784 | ||
FROGGS | ugexe: well, gmake + cl = no luck | ||
ugexe: is it possible that moar was built with cl and nmake, and something tries to build rakudo with gcc and gmake? | 14:29 | ||
ugexe | yes | 14:30 | |
FROGGS | hmmm | ||
ugexe | im guessing the Path is giving the Configure.pl probe the wrong one for my case? | ||
FROGGS | ugexe: can you debug what happens in Configure.pl at around line 133? | 14:31 | |
14:31
laouji left
|
|||
FROGGS | ugexe: also, what do you get here? nqp-m -e "print(nqp::backendconfig()<make>)" | 14:32 | |
C:\rakudo>nqp-m -e "print(nqp::backendconfig()<make>)" | 14:33 | ||
nmake | |||
it seems to tell the truth on my box | |||
ugexe | that command tells me gmake | ||
which Configure.pl? /nqp or /moar? | |||
FROGGS | ugexe: rakudo's | ||
ugexe: but what you just said means that the nqp it picks up was built with a moarvm which was built with gcc+gmake | 14:34 | ||
14:35
FROGGS[mobile] joined
|
|||
ugexe | i see it checks that command first before the nmake /? >NUL 2>&1 | 14:35 | |
the rakudo configure that is | |||
grondilu | I hate it when I can't use perl6 while it's compiling. It should not be the case. | ||
FROGGS | shop & | 14:37 | |
14:37
FROGGS left
|
|||
hoelzro | tadzik: any chance you could merge my emmentaler PR so that we can have warnings reports in the smoker? =) | 14:38 | |
itz | if I'm inside a method can I access the method name? | 14:40 | |
ugexe | $?ROUTINE i think | ||
14:40
Ven left
|
|||
jnthn | m: class A { method yes() { say &?ROUTINE.name } }; A.yes | 14:40 | |
camelia | rakudo-moar 60c273: OUTPUT«yes» | ||
itz | ty | ||
ugexe | maybe adding a !$has_cl to github.com/rakudo/rakudo/blob/nom/...#L138-L139 would be sufficient | 14:45 | |
im dumb, that doesnt help that nqp was built with gmake in the first place | 14:46 | ||
14:49
atroxaper joined
|
|||
FROGGS[mobile] | true :o) | 14:50 | |
so the question is: why was nqp built that way? | 14:52 | ||
ugexe | im trying to discover why in the configures, but naturally at first glance it all seems legit | ||
FROGGS[mobile] | sure, I wrote it :P | 14:53 | |
14:54
atroxaper left
|
|||
ugexe | this could all be solved if you just made more obvious miscalculations | 14:55 | |
FROGGS[mobile] | I'm sorry :S | 14:56 | |
14:59
raiph left,
raiph joined
|
|||
grondilu | yeah, the script I wrote to convert .dat mesh files to webgl works. Check out my spaceship: grondilu.github.io/oolite/cobra3.html | 15:00 | |
Perl6++ | |||
the scritp really is ugly though: gist.github.com/grondilu/aa164666244e3fdeee8e | 15:01 | ||
but it does the job | |||
15:01
raiph left
15:02
raiph joined
15:05
raiph left,
AlexDaniel left
15:06
raiph joined
|
|||
ugexe | it seems as though the vs2013 native tool command prompt is no longer setting the Path to cl, so the probe never sees it. suppose i should reinstall VS | 15:07 | |
15:07
Dee22 left,
VinceDee joined
15:09
raiph left,
raiph joined,
Akagi201_ left
15:10
raiph left
15:12
raiph joined
15:13
raiph left
|
|||
jnthn | ugexe: try running "vcvars64" | 15:13 | |
15:13
raiph joined
15:16
raiph left
15:17
aborazmeh left,
raiph joined
|
|||
ugexe | no such command, nor am i able to find a matching file | 15:18 | |
15:19
raiph left
|
|||
hoelzro | does anyone here use the DBIish Pg driver? I tried hacking on cpandatesters this weekend, only to find that a while $sth.fetchrow_hashref -> $row { ... } never terminates (for me) when using the Pg driver | 15:20 | |
15:20
raiph joined
15:23
raiph left
|
|||
itz | grondilu++ # that is way cool | 15:24 | |
15:24
tinyblak joined
|
|||
moritz | m: say so [] | 15:24 | |
camelia | rakudo-moar 150df8: OUTPUT«False» | ||
moritz | hoelzro: sounds like a bug | ||
colomon | huh. just tried the parallel mandelbrot code for the first time in ages. | 15:25 | |
in the past, it almost always flaked out badly. | |||
hoelzro | moritz: indeed, I'm just wondering if others are seeing it | ||
colomon | today, it seems to run well under Linux, but still flakes out under OS X. | ||
ah, there were go, got it to flake out under Linux too | 15:26 | ||
masak | DrForr: it might not surprise you at all that "winning ways" are among my favorite books. | ||
ShimmerFairy: recently I've been looking into topology, especially algebraic topology. seeing irclog.perlgeek.de/perl6/2015-06-29#i_10820956 I suspect you would enjoy doing the same. | 15:28 | ||
hoelzro | also, is there anyone who can get me a copy of the DB that testers.perl6.org uses? the setup SQL files aren't entirely complete =/ | 15:29 | |
masak | ShimmerFairy: algebraic topology is basically "oh look, a bridge over from topology to algebra! let's solve a whole host of open topology problems using well-honed algebraic tricks!" | ||
15:29
tinyblak left
|
|||
colomon | algebraic topology was my most incomprehensible class at school. | 15:30 | |
masak | well, I'll be honest and say that there are many things about it that I still incomprehend :P | 15:31 | |
but I kind of enjoy that, spending a fraction of my time outside my "knowledge comfort zone" | |||
15:32
zakharyas left,
raiph joined
15:35
raiph left,
raiph joined
15:36
gfldex joined,
coffee` joined
|
|||
ugexe | print qq|hello\rXXXXX| # on Windows this displays differently than perl5 on windows (or rakudo on linux as well) | 15:44 | |
jnthn | colomon: I did a bunch of work on conc stability over the last month or so, so I'm glad it's at least less flaky... There's more bugs to find yet, alas. | 15:47 | |
colomon | jnthn: yeah, I tried it after reading your blog post linked in the p6 “weekly”. :) | ||
timotimo | oh, speaking of the weekly | ||
colomon | jnthn: on linux it seemed much better, but I still got a seg fault after enough tries (maybe 5) | 15:48 | |
jnthn: on OS X I’m yet to get a successful run | |||
timotimo | lizmat: in the last weekly you did for me, you mentioned explicitly how the next one will be ... more or less; should i let you write this week's weekly or take over again? | ||
hoelzro | m: sub nothing { return } ; .say for (["value"].list Z nothing()) | ||
camelia | rakudo-moar 150df8: OUTPUT«value Nil» | ||
hoelzro | m: sub nothing { return Empty } ; .say for (["value"].list Z nothing()) | 15:49 | |
camelia | ( no output ) | ||
jnthn | colomon: OS X seems to be great at bringing out all kinds of bugs :) | ||
colomon | jnthn: :) | ||
hoelzro | what are the rules regarding a return without a value? why does the Z operator yield anything there? | ||
jnthn | hoelzro: I suspect that needs considering as part of GLR | 15:51 | |
15:53
pullphinger joined
16:00
espadrine left
16:03
espadrine joined,
domidumont left,
gtodd joined
16:05
itz left
|
|||
hoelzro | jnthn: what would be the expected post-GLR behavior there? | 16:07 | |
jnthn | hoelzro: I said "needs considering" 'cus I don't know :P | 16:08 | |
hoelzro | ah =) | 16:09 | |
jnthn | TimToady or pmichaud may know, however :) | ||
16:10
rindolf joined
|
|||
rindolf | Hi all . Sup? | 16:10 | |
16:12
raiph left
16:15
Ven joined
16:17
tinyblak joined
16:18
uncleyear joined
|
|||
tadzik | hoelzro: oh, yes! Please remind me an hour from now :) | 16:19 | |
16:19
spider-mario joined
|
|||
hoelzro | will do! | 16:19 | |
16:20
dha joined
|
|||
ugexe | perl6: my $p = Proc::Async; # re: recent panda PRs | 16:21 | |
camelia | rakudo-jvm 150df8: OUTPUT«Could not find symbol '&Async' in block <unit> at /tmp/tmpfile:1» | ||
( no output ) | |||
[Coke] | .seen curisovidpoe | 16:23 | |
yoleaux | I haven't seen curisovidpoe around. | ||
[Coke] | .seen curtisovidpoe | ||
yoleaux | I saw CurtisOvidPoe 8 Jun 2015 23:27Z in #perl6: <CurtisOvidPoe> japhb: thank you. | ||
dalek | p: 64945f1 | jnthn++ | tools/build/MOAR_REVISION: Get MoarVM with bug fix, extra APIs. |
||
rindolf | hoelzro: long time! Sup? | 16:25 | |
dha | Do we have a p6 equivalent of C<localtime> yet? Or C<gmtime> for that matter? | ||
JimmyZ_ | Datetime? | ||
hoelzro | rindolf: nothing really; summertime, so I'm busier with non-programming stuff than usual. yourself? | ||
TimToady | the .seen command needs a 'Did you mean ...?' | 16:28 | |
jaffa4 | dha: now | 16:29 | |
m: say now | |||
camelia | rakudo-moar 150df8: OUTPUT«Instant:1435595431.112935» | ||
dha | yeah, that's not really equivalent to localtime... :-) | 16:30 | |
jaffa4 | m: say DateTime.new(now) | ||
camelia | rakudo-moar 150df8: OUTPUT«2015-06-29T16:30:48Z» | ||
jaffa4 | m: say DateTime.new(now).hour | 16:31 | |
camelia | rakudo-moar 150df8: OUTPUT«16» | ||
jaffa4 | m: say DateTime.new(now).minute | ||
camelia | rakudo-moar 150df8: OUTPUT«31» | ||
dalek | kudo/nom: 7378ad7 | jnthn++ | src/Perl6/ModuleLoader.nqp: Fix "dependency not precomp'd" error. Seems it didn't trigger for some reason the previous way we had it checked. This gets it more reliable. |
||
kudo/nom: 9ac7c8e | jnthn++ | / (2 files): Use MoarVM API for HOW access. Digging directly into the pointer isn't good enough, since we lazily deserialize ->HOW. This fixes pre-comp bugs involving subset types, and possibly others. Most immediately, it fixes RT #125245. |
|||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125245 | ||
dalek | ast: ca60fc4 | jnthn++ | S10-packages/precompilation.t: Test for RT #125245. |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125245 | ||
rindolf | hoelzro: I've been doing some packaging and QA work for Mageia Linux. | 16:32 | |
dha | Yeah, DateTime is closer, but I'm still not seeing something that gives the output C<scalar(localtime)> does. | ||
I.e. something a human doesn't have to stop and think about. :-) | |||
rindolf | hoelzro: and I contributed to a Sokoban solver written in Python that I found on GitHub and which had a suitable licence. I used the GitHub API to download all the relevant repositories to see if they contain a LICENSE file. | 16:34 | |
[Coke] | jnthn++ # keepin' busy! | ||
jaffa4 | m: say Date.new(now).hour | 16:35 | |
camelia | rakudo-moar 150df8: OUTPUT«Method 'hour' not found for invocant of class 'Date' in block <unit> at /tmp/MdgEzlieKa:1» | ||
jaffa4 | m: say Date.new(now) | ||
camelia | rakudo-moar 150df8: OUTPUT«2015-06-29» | ||
jaffa4 | m: say Date.new(now).day-of-week | ||
camelia | rakudo-moar 150df8: OUTPUT«1» | ||
b2gills | jaffa4: instead of `DateTime.new(now)` just use `DateTime.now` | 16:36 | |
dha | So, so far, I'm not finding equivalents of $mday, $wday, $yday $isdst and the scalar output of localtime(). | ||
raydiak | dha: doc.perl6.org/type/DateTime | 16:37 | |
dha | Yes, that is where I am not finding those things. :-) | ||
jaffa4 | m: say Date.new(now).day-of-month | ||
camelia | rakudo-moar 150df8: OUTPUT«29» | ||
16:37
nowan joined
|
|||
dha | oh, ok, Dateish. | 16:37 | |
jaffa4 | m: say Date.new(now).day-of-week | 16:38 | |
camelia | rakudo-moar 150df8: OUTPUT«1» | ||
jaffa4 | m: say Date.new(now).day-of-year | ||
camelia | rakudo-moar 150df8: OUTPUT«180» | ||
dha | Ok, so that leaves $isdst and C<scalar(localtime)> | ||
raydiak | m: say ~DateTime.now | 16:39 | |
camelia | rakudo-moar 150df8: OUTPUT«2015-06-29T18:39:53+02:00» | ||
jaffa4 | I cannot find $sdst | 16:40 | |
raydiak is not sure about dst either | |||
well that's not quite scalar localtime either | 16:41 | ||
dha | Right. | ||
jaffa4 | you can build it | ||
dha | And, for those who may have missed it, this is the context for what I'm asking all these questions for: github.com/dha/perl5-to-perl6-docs | 16:42 | |
raydiak | yeah, don't see a direct equivalent for scalar localtime | ||
dha | Ok, will document that as such. And, just to be sure, as I'm no expert on time zones, can UTC be considered the same as the Greenwich time zone for most applications? | 16:43 | |
raydiak | wikipedia says "For most purposes, UTC is considered interchangeable with GMT, but GMT is no longer precisely defined by the scientific community." | 16:44 | |
m: say ~Date.new # :) | 16:45 | ||
camelia | rakudo-moar 150df8: OUTPUT«2015-12-24» | ||
jnthn | Just verified: the pre-comp bug I just fixed was the one afflicting Text::CSV also | ||
.tell |Tux| 124298 is fixed :) | 16:46 | ||
yoleaux | jnthn: I'll pass your message to |Tux|. | ||
raydiak | jnthn++ | ||
dha | ok, so the equivalent of gmtime would be methods on a UTC DateTime object. | ||
jaffa4 | m: say callframe().my | 16:47 | |
camelia | rakudo-moar 150df8: OUTPUT«EnumMap.new("!UNIT_MARKER" => Mu, "\$!" => Mu, "\$/" => Mu, "\$=finish" => Mu, "\$=pod" => Mu, "\$?PACKAGE" => Mu, "\$_" => Mu, "::?PACKAGE" => Mu, "\@?INC" => Mu, :EXPORT(Mu), :GLOBALish(Mu))» | ||
jaffa4 | m: say callframe().my{"\$>PACKAGE"}; | ||
camelia | rakudo-moar 150df8: OUTPUT«(Any)» | ||
jaffa4 | m: module eeee; say callframe().my{"\$>PACKAGE"}; | 16:48 | |
camelia | rakudo-moar 150df8: OUTPUT«(Any)Saw 1 occurrence of deprecated code.================================================================================Semicolon form of 'module' without 'unit' seen at: /tmp/Fgj6VTbLmQ, line 1Deprecated since v2015.4, will be removed wit…» | ||
|Tux| | jnthn++ | ||
yoleaux | 16:46Z <jnthn> |Tux|: 124298 is fixed :) | ||
|Tux| tests locally … | |||
jaffa4 | m: unit module eeee; say callframe().my{"\$>PACKAGE"}; | ||
camelia | rakudo-moar 150df8: OUTPUT«(Any)» | ||
raydiak | dha: sounds right, probably via DateTime.utc() | ||
jaffa4 | m: unit module eeee; say callframe().my; | 16:49 | |
camelia | rakudo-moar 150df8: OUTPUT«EnumMap.new("\$?PACKAGE" => Mu, "\$_" => Mu, "::?PACKAGE" => Mu)» | ||
raydiak | m: say DateTime.now.utc | ||
camelia | rakudo-moar 150df8: OUTPUT«2015-06-29T16:49:09Z» | ||
jaffa4 | m: say DateTime.now.utc | ||
camelia | rakudo-moar 150df8: OUTPUT«2015-06-29T16:49:28Z» | ||
jaffa4 | not correct | ||
ok, it is | |||
raydiak | m: say DateTime.now | 16:50 | |
camelia | rakudo-moar 150df8: OUTPUT«2015-06-29T18:50:07+02:00» | ||
16:51
nys left,
AlexDaniel joined,
rindolf left
16:52
Zoffix joined
16:53
diana_olhovik_ left
|
|||
raydiak | dha: I think for many things the difference between localtime and gmtime isn't important to think about any more...e.g. you will get the correct Duration if you subtract two DateTime.Instant()s from different timezones | 16:54 | |
16:54
dakkar left
|
|||
jnthn | 6 RTs so far today. Time for some čevapčiči, then I'll see what more I can fix in the evening session :) | 16:54 | |
& | |||
dha | Granted, but I wanted to put something in for C<gmtime> other than "Just forget about it." | ||
16:57
abraxxa left
|
|||
raydiak | certainly, I just meant if there is an appropriate place, you may want to note where the fundamental methodology has changed, to further ease the transition | 16:58 | |
raydiak ought to go read before making suggestions though :) | |||
dha | Yeah. Not sure offhand how to really explain it. But, hey, patches welcome. :-) | 17:00 | |
|Tux| | jnthn, I now get new failures | 17:03 | |
likely not related to your fix | |||
raydiak | dha: not sure either myself atm, but I'll keep that in mind :) | ||
|Tux| | # expected: 'QB8m:"Ħēłĺº"' | 17:04 | |
# got: 'QB8m:"\x[126]ēłĺº"' | |||
why is only *one* of those UTF8 characters converted to \x notation (where I expected none to be in \x) | |||
17:05
JimmyZ_ left
|
|||
|Tux| | the other fail is related: | 17:06 | |
# expected: 'QB8m:"⑮"' | |||
# got: 'QB8m:"\x[246e]"' | |||
m: "Ħēłĺº".say | 17:09 | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«Ħēłĺº» | ||
|Tux| | m: "Ħēłĺº".gist.say | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«Ħēłĺº» | ||
|Tux| | m: "Ħēłĺº".perl.say | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«"\x[126]ēłĺº"» | ||
|Tux| | That does *not* look right to me. very inconsistent | ||
m: "Hēłĺº".perl.say | 17:12 | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«"Hēłĺº"» | ||
|Tux| | m: "HĦēłĺº".perl.say | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«"HĦēłĺº"» | ||
|Tux| | so, only if the first character is "special", .perl transforms that to \x[] | 17:13 | |
colomon | m: "ēłĺº".perl.say | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«"\x[113]łĺº"» | ||
colomon | seems like | 17:16 | |
17:17
FROGGS[mobile] left
17:19
FROGGS joined,
raiph joined
|
|||
dha | C<lstat> and the C<_> filehandle - gone? | 17:19 | |
17:19
espadrine left
|
|||
dha | Oh, it's probably something in IO now, isn't it. /me digs | 17:21 | |
ugexe | its in nqp at least | ||
m: use nqp; nqp::lstat | |||
camelia | rakudo-moar 9ac7c8: OUTPUT«===SORRY!===Arg count 0 doesn't equal required operand count 3 for op 'lstat'» | ||
dha | hm. $fh.stat and $fh.lstat do not seem to work. | 17:23 | |
ugexe | so on windows my $line = "1\r2"; will print "1\n2" to the terminal screen, and "12" printing to a file handle | 17:25 | |
raydiak | dha: I think IO::Handle and IO::Path both do IO::FileTestable | 17:29 | |
17:30
virtualsue left
|
|||
ugexe | \b *does* work on windows moarvm though | 17:34 | |
dha | raydiak - yes, that does implement the various filetest operators. No obvious equivalent for stat/lstat, though. | 17:36 | |
ugexe | case MVM_CCLASS_NEWLINE has a if (cp == '\n' ... cp = '\r' in string/ops.c. guess ill pluck that out '\r' out and see what happens | ||
dha | Ok, *please* tell me that C<msgctl> C<msgget> C<msgrcv> and C<msgsnd> are gone so I don't have to document them. | 17:38 | |
b2gills | ugexe: "1\r2" and "1\n2" will print "1\r\n2" on windows if the filehandle is in text mode | ||
That's a (mis)feature of DOS/Windows | 17:39 | ||
dha: I am confident that will never be a part of the language itself ( it would be relegated to an external module ) | 17:41 | ||
dha | Good! | ||
jaffa4 | Is it possible to set a variable in the caller's namespace? | 17:47 | |
dha | So, it looks like one can still C<use> a module. is the complementary C<no> still usable? | 17:49 | |
psch | m: no strict; $x = 5; say $x | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«5» | ||
psch | dha: not as in "unload this module" i think, though | 17:50 | |
dha | And, not, I imagine for versions either. | ||
So, still usable for pragmas, but not otherwise? | |||
jnthn | .u Ħ | 17:51 | |
yoleaux | U+0126 LATIN CAPITAL LETTER H WITH STROKE [Lu] (Ħ) | ||
dha | Would that be a reasonable thing to say? | ||
jnthn | m: say uniprop 'Ħ'.ord, 'Canonical_Combining_Class' | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«0» | ||
jnthn | |Tux|: Hm, it's only supposed to trigger the \x-ing if it's a combining char at the start | ||
m: my $s = 'Ħ'; my int $opener = ord($s); say so $opener >= 256 && uniprop($opener, 'Canonical_Combining_Class') | 17:53 | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«True» | ||
jnthn | m: say uniprop('Ħ'.ord, 'Canonical_Combining_Class').WHAT | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«(Str)» | ||
jnthn | Oh... | 17:54 | |
And that's what we get for making '0' be True :P | |||
TimToady | heh | ||
FROGGS | ups | ||
TimToady | I'm surprised it took this long to bite us | ||
but please, in the sense that it tends to support the decision as the correct one | 17:55 | ||
*pleased | |||
jnthn | *nod* | ||
Yes, I was very much +1 to the change :) | |||
Ven backlogs a bit | 17:56 | ||
FROGGS | m: say "Ħ" ~~ /<:Canonical_Combining_Class({say $_; say $_.WHAT; 1})>/ # why is that a string anyway? | ||
camelia | rakudo-moar 9ac7c8: OUTPUT«0(Str)「Ħ」» | ||
jnthn | Anyways, 1-char addition should fix it :) | ||
FROGGS: I *think* it may be able to take a non-numeric value also | |||
ugexe | b2gills: the filehandle was in text mode... | 17:57 | |
FROGGS | jnthn: not according to MoarVM/UNIDATA/PropertyValueAliases.txt:361:# Canonical_Combining_Class (ccc) | ||
jnthn | static char *Canonical_Combining_Class_enums[56] = { "Not_Reordered", "0", ... | 17:58 | |
FROGGS | # In the case of ccc, there are 4 fields. The second field is numeric, third | 17:59 | |
# is abbreviated, and fourth is long. | |||
so yeah, hmmm | |||
18:00
Ven left,
telex left
|
|||
jnthn | Got a fix | 18:00 | |
m: use Test; is "Ħ".perl.chars, 3; | |||
camelia | rakudo-moar 9ac7c8: OUTPUT«not ok 1 - # Failed test at /tmp/PchVfxBbSC line 1# expected: '3'# got: '9'» | ||
18:02
telex joined
|
|||
dalek | kudo/nom: 76d4cf3 | jnthn++ | src/core/Str.pm: Fix type-o in Str.perl comb-chars change. |
18:02 | |
ast: efef903 | jnthn++ | S02-names-vars/perl.t: Another regression test for Str.perl. |
18:03 | ||
jnthn | |Tux|: Fixed, thanks. | ||
18:04
captain-adequate joined
18:09
ggoebel2 joined
|
|||
gfldex | grondilu: i just used perl6 while compiling it. I utilised witchcraft and btrfs snapshots to achieve that. As a bonus i can now switftly switch between rakudo versions by resymlinking the target directory. You may want to give that a try. | 18:12 | |
18:13
ggoebel left
|
|||
dha | If I'm reading this right, one would no longer use C<opendir> to create a directory handle, but rather something like C<my $dir = IO::Path.new("directory")> or, probably more likely, C<my $dh = "directory".IO>? | 18:14 | |
ugexe | yeah, it doesnt create anything | 18:17 | |
"directory".IO.mkdir on the other hand... | |||
18:17
Zoffix left
|
|||
gfldex | m: .say for '.'.IO.dir; | 18:18 | |
camelia | rakudo-moar 9ac7c8: OUTPUT«"/home/camelia/star".IO"/home/camelia/.cpanm".IO"/home/camelia/.local".IO"/home/camelia/.npm".IO"/home/camelia/.perl6".IO"/home/camelia/.perlbrew".IO"/home/camelia/.rcc".IO"/home/camelia/.ssh".IO"/home/camelia/Perlito".IO"/home/c…» | ||
18:18
domidumont joined
|
|||
gfldex | m: .basename.say for '.'.IO.dir; | 18:18 | |
camelia | rakudo-moar 9ac7c8: OUTPUT«star.cpanm.local.npm.perl6.perlbrew.rcc.sshPerlitobinevalbotlognieczanqp-jsp1p2perl5rakudo-inst-1rakudo-inst-2rakudo-star-2015.02rakudo-star-2015.03rakudo1rakudo2star-2014.09stdugex…» | ||
dalek | ast: 1c4cfe4 | jnthn++ | S06-advanced/return.t: Tests for RT #115868. |
18:22 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=115868 | ||
18:22
raiph left
|
|||
dalek | kudo/nom: e52a889 | jnthn++ | src/Perl6/Actions.nqp: Avoid a warning while producing an error. |
18:23 | |
kudo/nom: db0e838 | jnthn++ | src/core/Backtrace.pm: Avoid useless error reporting subs in backtrace. |
|||
18:26
nowan left
18:27
atroxaper joined
18:30
nowan joined,
sjn_phone_ joined
|
|||
AlexDaniel | FROGGS: oh! I'm so happy that somebody was able to reproduce that bug | 18:31 | |
18:31
atroxaper left
|
|||
FROGGS | AlexDaniel: yeah... I just don't know how to solve it :/ | 18:31 | |
AlexDaniel | FROGGS: by the way, what did you use to get that backtrace? | 18:32 | |
FROGGS: maybe it would make sense to also get the backtrace for free(): invalid pointer | 18:33 | ||
FROGGS: because once upon a time I got that error message as well | |||
although I did not change anything, as far as I remember | 18:34 | ||
but you probably know better | |||
skids | m: sub f (|c ($a, $b)) { }; &f.signature.arity.say; &f.signature.count.say # How do we feel about getting .count to look for nonpresence of subsig slurpies? | 18:35 | |
camelia | rakudo-moar 76d4cf: OUTPUT«0Inf» | ||
skids | Also | ||
FROGGS | AlexDaniel: first you need to build MoarVM with --debug, potentially --debug=3 | ||
skids | m: sub f (|c ($a, $b), $a, $b) { }; &f.signature.arity.say; &f.signature.count.say # How do we feel about making that not "variadic"? | ||
camelia | rakudo-moar 76d4cf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9CG3vPEx1BRedeclaration of symbol $aat /tmp/9CG3vPEx1B:1------> 3sub f (|c ($a, $b), $a7⏏5, $b) { }; &f.signature.arity.say; &f.si expecting any of: shape declaration» | ||
skids | oops | ||
m: sub f (|c ($a, $b), $d, $e) { }; &f.signature.arity.say; &f.signature.count.say # How do we feel about making that not "variadic"? | |||
camelia | rakudo-moar 76d4cf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ipo54KHHM5Cannot put required parameter $d after variadic parametersat /tmp/ipo54KHHM5:1------> 3sub f (|c ($a, $b), $d7⏏5, $e) { }; &f.signature.arity.say; &f.si expecting any of: …» | ||
FROGGS | AlexDaniel: and then when you encounter a segfault, run your script under perl6-gdb-m | 18:36 | |
AlexDaniel: and the you'll see instructions | |||
jnthn | FROGGS, AlexDaniel: Which SEGV do you speak of? :) | ||
FROGGS | AlexDaniel: there is also perl6-valgrind-m, which is useful | ||
jnthn: RT #125500 | 18:37 | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125500 | ||
FROGGS | #5 0x00007ffff79070a3 in MVM_frame_dec_ref (tc=0x603730, frame=0xf5addd0) at src/core/frame.c:85 | ||
AlexDaniel | FROGGS: well, I did perl6-valgring-m, the output is provided in one of the links | 18:38 | |
although I did not use any additional options | |||
d* | 18:39 | ||
skids | (...I'd be happy to work on the above two Signature things if that is what is wanted. Also, I'm still plugging away at a new .assuming.) | ||
FROGGS | AlexDaniel: valgrind is only useful, if it reveals an illegal read or illegal write btw | 18:40 | |
AlexDaniel | FROGGS: ok, got it | 18:41 | |
DrForr | masak: Indeed it would not surprise me re:"winning ways". | 18:42 | |
18:43
sjn_phone_ left
18:46
rindolf joined
|
|||
rindolf | Hi all. | 18:46 | |
jnthn | FROGGS: Are you running latest builds of stuff? | 18:47 | |
FROGGS | jnthn: ~$ perl6-m --version | ||
This is perl6 version 2015.06-90-gb197408 built on MoarVM version 2015.06-44-g2c96984 | |||
dha | So, C<package>. S10 indicates it can be used with a block or to indicate that an entire file is in a given package. Not in the docs, however. | ||
FROGGS | jnthn: not quite I guess | ||
dha | The only thing I can find in the docs is doc.perl6.org/routine/package which confuses me. | 18:48 | |
jnthn | FROGGS: I fixed a missing big-int related error check today | ||
dha | Are the claims in S10 actually functional at this point? And how would one use what's shown at doc.perl6.org/routine/package ? | ||
FROGGS | jnthn: I'm rebuilding now... | ||
18:51
tinyblak left
|
|||
hoelzro | tadzik: ping | 18:51 | |
ugexe | m: class Foo { has $.a; }; my $bar = Foo.new.^attributes; say $bar.[0].package | 18:52 | |
camelia | rakudo-moar db0e83: OUTPUT«(Foo)» | ||
dha | what's the C<[0]> for? | 18:55 | |
oh. | |||
ugexe | attributes is plural. its a list | ||
dha | right. | ||
m: my $x = IO::Path.new(".").^attributes; say $x.[0].package; | 18:58 | ||
camelia | rakudo-moar db0e83: OUTPUT«IO::Path is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting:1 in method new at src/RESTRICTED.setting:32 in block <unit> at /tmp/Ib9wn3ihKV:1» | ||
19:00
khw joined
|
|||
dalek | kudo/nom: 14131df | jnthn++ | src/Perl6/Actions.nqp: Add a bunch of missing re-declaration checks. |
19:01 | |
ast: 20f6891 | jnthn++ | S32-exceptions/misc.t: Various redeclaration tests, including RT #108462. |
|||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=108462 | ||
dha | I guess for my current purposes, I don't really need to understand C<.package>. I just need to know if C<package> does what S10 says it should. | 19:02 | |
19:05
laouji joined
|
|||
tadzik | hoelzro: pong | 19:09 | |
hoelzro | tadzik: wanna merge that PR? =) | ||
19:10
laouji left
|
|||
tadzik | yeah :) | 19:10 | |
done, thaks | 19:11 | ||
I should merge more PRs | |||
this week is the last fulltime week though, tuits will come | |||
vendethiel | m: sub infix:<=>($a, $b) { $a + $b }; say 3 = 4 | 19:16 | |
camelia | rakudo-moar db0e83: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EEbbFBq56oCannot override infix operator '=', as it is a special form handled directly by the compilerat /tmp/EEbbFBq56o:1------> 3sub infix:<=>7⏏5($a, $b) { $a + $b }; say 3 = 4» | ||
[Coke] | anyone have any feedback on the attr-required branch? or on the required tests? Or on sugar for the syntax? | 19:17 | |
19:17
bin_005 joined
19:18
rindolf left,
sjn_phone_ joined
|
|||
[Coke] | irclog.perlgeek.de/perl6/2015-06-24#i_10797106 - wondering what that would look like - class F { has $.bar! } ? | 19:19 | |
FROGGS | [Coke]: I like it | 19:20 | |
hoelzro | tadzik: thanks! | ||
PerlJam | class C { has $!x! }; is the one that people may react to. | ||
hoelzro | now I just need a merge on github.com/perl6-community-modules...lts/pull/2 | 19:21 | |
19:21
aindilis joined
|
|||
masak | TimToady: can quasi blocks install new operators in COMPILING:: ? affecting the parse in the mainline block they get spliced into. | 19:22 | |
dha | I'm guessing that C<pipe> has been eaten by some kind of IO class? | ||
PerlJam | [Coke]: I'd like to see your branch merged even if the sugar does not yet exist. | 19:23 | |
skids | .oO(Diet [Coke]?) |
19:24 | |
[Coke] | skids: CokeZero is preferred. | ||
PerlJam: I have no problem with that - probably better to do it now, give a few weeks in case it turns out to be a bad idea. | 19:25 | ||
jnthn | .oO( No...*beer* is preferred! ) |
||
[Coke] | jnthn: sadly, no, I even mean that for beverage choice. no more beer. | 19:26 | |
(too many carbs) | |||
jnthn agrees with PerlJam, fwiw | |||
FROGGS | aye, 'is require' is very nice and clear | 19:27 | |
masak | PerlJam: class C { has $!x! } does not make much sense, since if it doesn't have an accessor, it also *can't* be initialized at construction. at least not with the normal .new and .BUILD | ||
PerlJam | masak: That won't stop people from trying to do it was my point :) | 19:28 | |
FROGGS | jnthn: so, I'm pressing the merge button? or do you think we should wait for TimToady to chime in? | ||
jnthn | FROGGS: I thought TimToady had at some point said it was OK to go in for now to play with? | 19:29 | |
FROGGS | ahh, missed that | ||
jnthn | Maybe I'm confusing two different things though :) | ||
dalek | rakudo/nom: 212c0c0 | coke++ | src/ (3 files): | ||
rakudo/nom: Add a required attr to Attributes | |||
rakudo/nom: | |||
rakudo/nom: If "is required" is present, set the attr. | |||
rakudo/nom: | |||
FROGGS | [Coke]++ | ||
jnthn: I don't mind :o) | 19:30 | ||
19:30
dalek joined,
ChanServ sets mode: +v dalek
|
|||
masak | PerlJam: well, if that is a problem, then it's easy to make both `has $!attr is required;` and `has $!attr!;` compile-time errors (with good error messages explaining why the combination doesn't make sense). | 19:32 | |
19:32
TEttinger joined
|
|||
PerlJam | masak: aye, I think it would be required ;) | 19:33 | |
dha | Is there a p6 equivalent for p5 C<pos>, or is that just gone? | ||
masak | dha: global state bad, but there are some equivalents. | 19:34 | |
DrForr | nine: Around? | ||
dalek | ar: 1cc0f0a | gerd++ | tools/build/ (2 files): languages -> share |
19:35 | |
ar: 27a11d5 | FROGGS++ | tools/star/Makefile: set version of moar/nqp/rakudo to 2015.06 |
|||
ar: 023a885 | FROGGS++ | modules/ (22 files): update submodules |
|||
dha | masak - any worth mentioning? | ||
ar: f30a4d9 | FROGGS++ | docs/announce/2015.06.md: stub release announcement |
|||
ar: c7b57d0 | FROGGS++ | / (2 files): update versions / copyright year |
|||
DrForr | Or rather, the owner of IO::Handle - Deprecation alert on IO::Handle::pipe | ||
ar: 9deab8a | FROGGS++ | / (4 files): added Template-Mustache and File-Temp, these are deps |
|||
ar: 940c2f3 | FROGGS++ | / (6 files): move modules into correct place |
|||
ar: 36ecc6c | FROGGS++ | / (3 files): add File::Directory::Tree as a dependency |
|||
FROGGS | rest of star comes tomorrow | ||
PerlJam | FROGGS++ nice | ||
jnthn | FROGGS++ \o/ | 19:36 | |
PerlJam | FROGGS: ooc, is Inline::Perl5 part of R*? | ||
FROGGS | PerlJam: no, nothing NativeCallish in there | 19:38 | |
19:39
pdcawley left
|
|||
PerlJam | FROGGS: was that because NativeCall was separate at one time, or something else? | 19:40 | |
FROGGS | PerlJam: no, it is more like we don't know what libs are there on the target system | ||
nine | DrForr: yes | 19:41 | |
PerlJam | FROGGS: Perl 5 is a fairly safe bet :) Anyway, I've found that particular module quite useful lately. | 19:42 | |
FROGGS | AlexDaniel: can you reproduce RT #125500 with latest rakudo+nqp+moarvm? I can't... | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125500 | ||
FROGGS | PerlJam: yes, and I think we should revise the included dists... though we also need to take platforms like windows into account | 19:43 | |
DrForr | nine: IO::Handle::pipe gave me a deprecation alert, so my query was really to the author there. Though I do have a quick question re: Inline::Perl5. Namely, is there an 'install' step missing in the docs? | 19:44 | |
ugexe | the deprecation sounds like its from CompUnit | ||
DrForr | The 'BUILDING' bit stops at testing, and I don't see an install in the generated Makefile. | 19:45 | |
nine | DrForr: well to be precise, the docs do not talk about installing at all ;) Only about building. | ||
19:45
CIAvash left
|
|||
nine | DrForr: that's because I actually have no idea what make install would have to do to install. I only know that we can install modules with panda. | 19:45 | |
DrForr | I'll assume that is by design then. | ||
Okay, I did this build by hand. I'll do 'panda install' then. | 19:46 | ||
FROGGS | IF SOMEONE WANTS TO TRY A NEW STAR, here is a release candidate: froggs.de/perl6/rakudo-star-2015.06-RC0.tar.gz | ||
DrForr | (assuming it's going to DTRT.) | 19:47 | |
19:47
sjn_phone_ left
|
|||
nine | Is there a way besides panda to install a module? | 19:47 | |
DrForr | You're asking the wrong person here :) | 19:48 | |
19:48
[Sno] left
|
|||
ugexe | something like my $repo = CompUnitRepo::Local::Installation.new(%*CUSTOM_LIB<site>); $repo.install(|from-json("META.info".slurp), @includes); | 19:48 | |
ufo and zef can also install modules. although anything that uses panda specific Build.pm wont get that code run | 19:49 | ||
well ufo just creates a makefile you can use to install but almost the same :) | 19:50 | ||
DrForr | nine: Just so you're aware, something in the toolchain is passing -Ilib to moar, it may very well be me :) | ||
No, not my invocation of perl6. | 19:51 | ||
dalek | kudo/nom: 4bcbc74 | jnthn++ | src/ (3 files): Make ENTER phaser work as an r-value. In doing so, refactor the way we produce code to run phasers, so we do more work at compile time and less at runtime. This also should give the optimizer a shot at inlining simple ENTER phasers. |
19:52 | |
DrForr reads the docs more closely. | |||
dalek | ast: fbe6471 | jnthn++ | S04-phasers/enter-leave.t: Tests for RT #116102 (ENTER phasser as r-value). |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=116102 | ||
dha | So, if you want to C<print> to something other than $*OUT, you must use C<$fh.print> rather than C<print $fh "whatever"> now? | ||
ugexe | no | 19:53 | |
dha | or am I just not finding the right incantation for it.? | ||
19:53
[Sno] joined
|
|||
ugexe | method print { die } :) | 19:53 | |
PerlJam | dha: print $fh: "whatever"; #not the colon | ||
er note | |||
dha | ah. In general terms, what's the colon doing? | 19:54 | |
jnthn | Darn, 9 RTs fixed today...now I need to do one more so I can get to double figures... | ||
PerlJam | providing some syntax for indirect object notation so that Perl doesn't have to guess what you mean :) | ||
DrForr | nine: Think I found the issue, ne'er mind. | 19:55 | |
dha | And is that use of ":" god forbid documented anywhere? :-) | 19:57 | |
PerlJam | S03:4019 | 19:58 | |
synbot6 | Link: design.perl6.org/S03.html#line_4019 | ||
19:58
domidumont left
|
|||
dha | thanks. | 19:58 | |
TimToady | S12:317 | ||
synbot6 | Link: design.perl6.org/S12.html#line_317 | ||
19:58
[Sno] left
|
|||
PerlJam | It's too bad the bot doesn't have an index of synopses such that you can ask it to search for "indirect object" (for instance) and have it return a list of SXX:nnnn for where that term can be found | 20:03 | |
dha | Indeed. Fortunately, I have ack and a copy of the files. :-) | ||
dalek | ast: 35619ce | jnthn++ | S06-multi/type-based.t: Add test coverage for RT #125483. |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125483 | ||
20:04
darutoko left
|
|||
dha | Any differences between p5 and p6 C<printf>? | 20:05 | |
(I note that C<printf> doesn't seem to be documented at doc.perl6.org) | 20:06 | ||
PerlJam | dha: probably some differences since they don't share the same implementation. :) | ||
dha | (although C<sprintf> is) | ||
I can safely assume that the directives for C<printf> are the same as for C<sprintf> though, right? | 20:08 | ||
(in p6) | |||
TimToady | it's likely a good first approximation | ||
masak | dha: yes -- sorry, distracted. there's a flag on regexes that allows you to continue where the last match ended. | 20:09 | |
20:10
yqt joined
20:11
kanl left,
kanl joined
|
|||
PerlJam | gah! I keep typing $obj.method in my P5 code today | 20:12 | |
20:12
frobisher joined
|
|||
frobisher | bah. | 20:12 | |
20:13
dha left,
frobisher is now known as dha
|
|||
RabidGravy | boom | 20:13 | |
dha | masak - thanks. is that flag documented? | ||
tony-o | worse is the array sigil switching PerlJam | ||
yoleaux | 27 Jun 2015 06:17Z <raiph> tony-o: I've realized that use of {(...)} entirely eliminates the problems ("fooling around with ending a block and restarting a block or whatever ... buffering crap into a temp str to use that as the return value") | ||
27 Jun 2015 06:18Z <raiph> tony-o: (Also, that the say-in-say approach will end in tears) | |||
27 Jun 2015 06:19Z <raiph> tony-o: I've updated github.com/tony-o/perl6-template-p...e/issues/1 | |||
tony-o | dha: yes it's documented | 20:14 | |
masak | dha: yes. S06 | ||
er, S05, of course | |||
dha | So, fsvo "documented". :-) | ||
TimToady | masak: [] will also flatten after GLR, since [] won't assume $ anymore | 20:15 | |
masak | interesting. | ||
TimToady | wrt MONKEY-TYPING, the hyphen was introduced precisely because it's harder to type, iirc | ||
RabidGravy | works for me | 20:16 | |
dha | masak - which flag am I actually looking for in S05? | 20:17 | |
PerlJam | dha: S05:304 | ||
synbot6 | Link: design.perl6.org/S05.html#line_304 | ||
PerlJam | (if I was paying enough attention) | 20:18 | |
dha | Ah, so it's the default of :c | ||
It talks about :c in doc.perl6.org/language/regexes but not its default. | 20:19 | ||
dalek | kudo/nom: 1478dc0 | jnthn++ | src/core/Exception.pm: Escape chars in X::Str::Numeric indicator. Fixes RT #125335. |
20:20 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125335 | ||
dha | Actually, it mentions that the default is the start of the string, which is inaccurate. | ||
dalek | ast: 9c05ca0 | jnthn++ | S32-exceptions/misc.t: Test for RT #125335. |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125335 | ||
PerlJam | dha: depends on how you read the text. "By default, [the regex] searches from the start of the string" | 20:21 | |
but, yeah, it's unclear at best. | |||
dha | yeah, actually, it says what the default of where the regex starts, with :c overriding it. It doesn't say what :c's default is. | 20:22 | |
dalek | kudo/nom: 309b83a | TimToady++ | src/Perl6/Grammar.nqp: allow my %{Foo} |
20:24 | |
dha | Should I try to patch that or leave it alone for now? | 20:25 | |
jnthn | heh, cute... | ||
dha | uh... | 20:28 | |
vendethiel | my %{Foo}? | ||
dha | m: 16.printf("%d\n") | ||
camelia | rakudo-moar 4bcbc7: OUTPUT«Directives specify 0 arguments, but 1 argument was supplied<Internal error while creating backtrace: MVMArray: Can't pop from an empty array in method AT-POS at src/gen/m-CORE.setting:14774 in method next-interesting-index at src/gen/m-CORE.settin…» | ||
PerlJam | dha: patch away (or remember to remind one of us to patch it later :) | ||
dha | m: 16.printf | ||
camelia | rakudo-moar 4bcbc7: OUTPUT«16» | ||
20:28
virtualsue joined
|
|||
TimToady | m: my %{Complex}; | 20:29 | |
camelia | rakudo-moar 4bcbc7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DCuxA3evV5Unsupported use of %{Complex}; in Perl 6 please use %Complexat /tmp/DCuxA3evV5:1------> 3my %{Complex}7⏏5;» | ||
dha | odd. On my machine, that last bit of code output "16%" | ||
TimToady | vendethiel: ^^ | ||
anonymous array with non-string key | |||
dha | So, C<printf> can't be used as a method? or am I just invoking incorrectly again? | ||
vendethiel | m: my %<hash> | ||
camelia | rakudo-moar 4bcbc7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VDnxeDgQQICannot declare a match variableat /tmp/VDnxeDgQQI:1------> 3my %<hash>7⏏5<EOL>» | ||
TimToady | dha: for individual values we use .fmt("%s") and such | 20:30 | |
and the variadic form is considered something of an antipattern, since it separates related items | 20:31 | ||
as far as I can recall, nobody's actually requested the method form of that | 20:32 | ||
(if you mean the list as the object) | |||
20:32
diana_olhovik_ joined
|
|||
TimToady | m: $*OUT.printf: "%s", "oof" | 20:33 | |
camelia | rakudo-moar 4bcbc7: OUTPUT«Method 'printf' not found for invocant of class 'IO::Handle' in block <unit> at /tmp/ZewzpwfW5K:1» | ||
TimToady | I guess we don't have that either | ||
dha | m: say $*OUT.fmt: "%s", "oof" | ||
camelia | rakudo-moar 4bcbc7: OUTPUT«Method 'fmt' not found for invocant of class 'IO::Handle' in block <unit> at /tmp/lkfU_5aFiZ:1» | ||
TimToady | m: $OUT.say: "oof".fmt("%s") | 20:34 | |
camelia | rakudo-moar 4bcbc7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/F9hZkbfGuKVariable '$OUT' is not declaredat /tmp/F9hZkbfGuK:1------> 3<BOL>7⏏5$OUT.say: "oof".fmt("%s")» | ||
TimToady | m: $*OUT.say: "oof".fmt("%s") | ||
camelia | rakudo-moar 4bcbc7: OUTPUT«oof» | ||
jnthn | m: class C { has $!x is rw } | ||
camelia | rakudo-moar 4bcbc7: OUTPUT«useless use of 'is rw' on $!x in any at src/Perl6/World.nqp:2511» | ||
dha | So you have to use .say on a specific filehandle to make that work? | 20:35 | |
TimToady | or .print | ||
dha | so... | ||
m: say: "oof".fmt("%s"); | 20:36 | ||
camelia | ( no output ) | ||
dha | o... k... | ||
TimToady | your "say:" was just a label | ||
colon is only for methods | |||
dha | ah. | 20:37 | |
I'm still getting the hang of the colon. :-) | |||
TimToady | because listops already default to taking args | ||
and methods default to not taking args | |||
(since they already have one arg, the invocant) | |||
dha | m: say "oof".fmt("%s") | ||
camelia | rakudo-moar 4bcbc7: OUTPUT«oof» | ||
dha | I assume C<prototype> is no longer around. | 20:43 | |
20:43
smls joined
|
|||
TimToady | m: say &push.signature | 20:44 | |
camelia | rakudo-moar 4bcbc7: OUTPUT«(|)» | ||
TimToady | m: say &atan2.signature | ||
camelia | rakudo-moar 4bcbc7: OUTPUT«($, $?)» | ||
smls | "future Perl 6 is likely to require tail call elimination in the absence of some declaration to the contrary" -- TimToady in Feb 2011 [rosettacode.org/wiki/Find_limit_of_...on#Perl_6] | ||
^^ is this still gonna happen? | |||
TimToady | dunno | 20:45 | |
dalek | ast: 42df59c | usev6++ | S06-signature/named-parameters.t: Add tests for RT #77788 |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...l?id=77788 | ||
smls | Or will we get an explicit form like P5's "goto %sub" ? | 20:46 | |
goto ⊂ | |||
jnthn | Nothing's gonna happen in 6.0. | ||
(with regard to TCO) | |||
dalek | kudo/nom: 7b5256b | jnthn++ | src/Perl6/World.nqp: Turn warnings from traits into worries. This means they show up as potential difficulties with a useful source location, rather than pointlessly talking about a compiler guts source location. |
||
jnthn | But the "future" bit could be right :) | ||
dalek | ast: 10a658d | jnthn++ | integration/weird-errors.t: Test for RT #125227. |
20:47 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125227 | ||
jnthn | 7b5256b is a little cheeky, but probably more useful than annoying. :) | ||
20:47
cognominal joined
20:48
raiph joined
|
|||
jnthn | OK, resolved 12 RTs today. That'll do. :) | 20:49 | |
[Coke] | jnthn: lucky 13! | ||
jnthn | :P | ||
bartolin: rt.perl.org/Ticket/Display.html?id=125257 could be closed with a test, if you're having a test writing session :) | 20:50 | ||
35 to go until we're back to a 3 digit number of tickets... | 20:53 | ||
20:53
diana_olhovik_ left
|
|||
dha | PerlJam - I'm adding "If no position is | 20:54 | |
specified for C<:c> it will default to C<0> unless C<$/> is true, in which | |||
case it defaults to C<$/.to>." to the entry in regexes.pod on C<:c>. does that read ok to you? | |||
20:55
nowan left
|
|||
dha | (S05 says "defaulting to ($/ ?? $/.to !! 0)") | 20:56 | |
Mind you, PerlJam is just the person who said "go ahead and patch it". The rest of you can chime in if you wish. :-) | 20:57 | ||
bartolin | jnthn: not sure, if I'll do it today -- otherwise I'll take a look tomorrow. thanks for the note :-) | ||
btw, in 2015 we have already more resolved tickets than in 2014; jnthn++ | 20:58 | ||
colomon | \o/ | ||
RabidGravy | DHA | 20:59 | |
dhA | |||
dha | RABIDGRAVY | ||
RabidGravy | sorry lost control of my keyboard there | 21:00 | |
"$/ is defined" but yeah makes sense | |||
dha | oh. Does the conditional operator do "defined" rather than "true" in p6? | 21:01 | |
21:01
espadrine joined
|
|||
dha | according to the docs, it does not. | 21:02 | |
jnthn | bartolin: Also, since r-p isn't something we're working on any more, I think rt.perl.org/Ticket/Display.html?id=115390 is in the same situation. | ||
RabidGravy | no, but it's and object that isn't a bool so it's truthiness is befing inferred | 21:03 | |
dha | Admittedly, that was the one part of my patch that seemed a bit off. | ||
So, I can feel safe changing that to "set"? | |||
bartolin | jnthn: yeah, I've wondered about that recently. I was not sure whether it's sane to add those loops to roast ... | 21:04 | |
. o O ( maybe in a file marked as 'stress'? ) | 21:05 | ||
RabidGravy | Bool on a Match is "end of match >= start of match" | 21:06 | |
jnthn | bartolin: Well, on Moar, if I remove the say (which you'd do for the tst) and run it up to 1000, it's only about a second | ||
bartolin | jnthn: I see, not very stressful then ... | 21:07 | |
21:08
espadrine left
|
|||
bartolin | jnthn: if we speak about tickets: RT #123969 seems to work fine as well. should tests for that one got to t/04-nativecall in rakudo or to roast? | 21:08 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=123969 | ||
dha | Eh. I'll change it to "set". Certainly sounds better, and if someone disagrees, they can patch it. | ||
RabidGravy | so dha, "if there was a successfull match then $/.to otherwise 0" | ||
bartolin | j: class Foo is repr<CStruct> { has int32 $.idontcare; has Foo $.bar }; my $a = Foo.new; say "alive" | ||
camelia | rakudo-jvm 309b83: OUTPUT«alive» | 21:09 | |
dha | *nod* | ||
21:09
pullphinger left
|
|||
jnthn | bartolin: Well, it's a bit useless if .new doesn't work... | 21:09 | |
bartolin: So I'd say there's still an issue | 21:10 | ||
bartolin | jnthn: I think it works now (see above) | ||
jnthn | bartolin: oh, sorry...yes, you're right :) | ||
bartolin: Then yes, test in t/04-nativecall | 21:11 | ||
bartolin: Best keep all the nativecall tests together | |||
bartolin++ | |||
bartolin | great, thanks for looking! | ||
21:11
MueThoS76 joined
|
|||
jnthn | TimToady: Plesae could you see if you agree with rt.perl.org/Ticket/Display.html?id...xn-1348528 ? | 21:11 | |
(If you're good with that plan, I can go ahead and do it, and we can close the second-oldest issue in RT :P) | 21:12 | ||
bartolin: rt.perl.org/Ticket/Display.html?id=81682 is another one for the "just needs test" list :) | 21:13 | ||
(I just tagged it testneeded) | |||
bartolin | jnthn++ | 21:15 | |
21:15
skids left
21:16
[Sno] joined
|
|||
jnthn | OK, I'm going to relax. :) | 21:16 | |
21:17
FROGGS_ joined
21:18
jaffa4 left
21:20
FROGGS left
21:22
virtualsue left
|
|||
[Coke] | jnthn: have my beer, will you? | 21:24 | |
21:30
MueThoS76 left
21:32
atroxaper joined
|
|||
grondilu | wait, wasn't "note" supposed to write on stderr? | 21:32 | |
$ perl6 -e 'note "ipsum lorem"' 2>/dev/null suggests it does not. | 21:33 | ||
grondilu checks S16 and gets confirmation it should write on $*ERR | 21:35 | ||
21:37
atroxaper left
|
|||
RabidGravy | grondilu, the implementation definitely does $*ERR.print so either $*ERR is wrong or something weird is going on | 21:38 | |
21:39
smls left
|
|||
grondilu | well I can't reproduce it | 21:40 | |
I mean I run the ipsum lorem again and I see nothing. Weird. | |||
meh nevermind, it might have been me hallucinating. | |||
RabidGravy | :) | ||
grondilu | oh wait | 21:42 | |
I4m so confused | |||
so, $ perl6 -e 'note "ipsum lorem"' 2> /dev/null shows nothing. | 21:43 | ||
which is fine since $*ERR goes to /dev/null | |||
21:43
nowan joined
|
|||
grondilu | but when I do :r!perl6 -e 'note "hello";' in Vim, the lines are printed. I supposed my mistake was to think :r in Vim only reads STDIN | 21:44 | |
*suppose | |||
geekosaur | heh | ||
yes, that's an old (and annoying) vi-ism | |||
(presuming you meant stdout) | 21:45 | ||
dha | C<quotemeta> - replaced or just gone? | 21:48 | |
timotimo | if you put $foo into a regex it'll match literally, if you write <$foo> it'll be interpreted as regex code | 21:49 | |
is that what you mean? | |||
dha | What I meant was, is there something that does what C<quotemeta> did in p5, although what you just said might be useful in explaining how to acheive a basically similar result in p6. | 21:53 | |
geekosaur | I believe dha is working on a p5 to p6 guide | ||
quotemeta is a perl5 function | |||
dha | well, a similar result in the use of regexes. | ||
yes, that is what I am doing. | |||
geekosaur | and for regex use, what timotimo said as the replacement (inverted logic, note). for things like my bad habit of using qm() as a quick and dirty shell quote, no replacement I'm aware of >.> | 21:55 | |
(the correct answer being to not involve the shell, of course. cf. yesterday's discussion) | |||
timotimo | i don't know anything about p5 | ||
masak | 'night, #perl6 | 21:56 | |
21:58
rurban left
|
|||
dha | And where is that regex behavior documented? under regexes or quoting constructs? Or somewhere else? | 22:02 | |
And, side note, in the quoting constructs docs, under the C<qw> entry, there's this: "The q:w and qw forms". Should that first "q" be "Q"? | 22:04 | ||
(i.e. should that be "Q:w"?) | |||
dalek | kudo-star-daily: 307ccae | coke++ | log/ (10 files): today (automated commit) |
22:12 | |
rl6-roast-data: 2f1cff2 | coke++ | / (9 files): today (automated commit) |
|||
22:13
dha left,
frobisher joined
22:14
frobisher is now known as dha
|
|||
dha | So. did anyone say anything to me while I was busy reconnecting? | 22:15 | |
tadzik | nope | ||
dha | oh yay. :-) | ||
tadzik | :) | ||
dha | Now I just need to remember what my questions were... | ||
tadzik | (I dunno though) | ||
22:16
lolisa joined
|
|||
RabidGravy | but yes, quotemeta is un-neccesary as variable interpolated into a regex is treated literally unless you ask for it not to be | 22:18 | |
geekosaur | [29 22:02] <dha> And where is that regex behavior documented? under regexes or quoting constructs? Or somewhere else? | ||
[29 22:04] <dha> And, side note, in the quoting constructs docs, under the C<qw> entry, there's this: "The q:w and qw forms". Should that first "q" be "Q"? | |||
[29 22:04] <dha> (i.e. should that be "Q:w"?) | |||
dha | Thanks. :-) | ||
22:18
bin_005 left
22:22
nowan left
22:26
nowan joined
22:30
nowan left,
kaare_ left
22:33
nowan joined
|
|||
TimToady | .tell jnthn I'm fine with the default FAILGOAL backtracking | 22:51 | |
yoleaux | TimToady: I'll pass your message to jnthn. | ||
22:52
VinceDee left
|
|||
dha tries to decide if no one actually has answers to his CLEARLY ESSENTIAL questions, or if everyone's just busy. | 22:52 | ||
b2gills | I think telling Perl5 folks to use q:w in Perl6 is better than trying to explain the difference | 22:54 | |
dha | Well, I think it's confusing to tell them C<< <> >> means C<qw//> in one context and "treat this as a regex" in another. | 22:57 | |
And I'm still curious is "q:w" shouldn't really be "Q:w", as most of the examples in the quoting constructs docs indicate. | 22:58 | ||
TimToady | well, the basic problem is that we don't know what they're wanting to use quotemeta for | 22:59 | |
b2gills | It only means treat as a regex inside of regexes, which has a whole mess of special syntax | ||
TimToady | qw// has very little to do with it, it my mind | ||
dha | Well, I'm basically punting and saying "no more quotemeta, as such" | 23:01 | |
b2gills | I like to think that `<a b c>` is short for `qw<a b c>` which is short for `Q :q :w <a b c>` which is short for ... | ||
dha | And if C<< <> >> has special meaning inside a regex, I'd like to point to where that's documented. | ||
TimToady | and yes, the equivalent of P5's qw is more like Qw, I believe | 23:02 | |
b2gills | A Perl 6 quotemeta wouldn't be a direct replacement for Perl 5's anyway | ||
since any non-word char would need to be escaped | 23:03 | ||
dha | TimToady - yeah, I'm just looking at the phrase "The q:w and qw forms" on the quoting constructs page, and looking at the examples above, and just wondering if that first instance should be a capital Q. | 23:04 | |
TimToady | well, maybe not | ||
RabidGravy | dha, the < > in a regex is alluded to butnot clearly spelt out in the language/regex doc | 23:05 | |
TimToady | m: say qw/\// | ||
camelia | rakudo-moar 7b5256: OUTPUT«/» | ||
23:05
skids joined
|
|||
TimToady | that's more like q than Q | 23:05 | |
m: say Qw/\// | |||
camelia | rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QAQjuFobo8Missing required term after infixat /tmp/QAQjuFobo8:1------> 3say Qw/\//7⏏5<EOL> expecting any of: prefix term» | ||
TimToady | yes, qw is more accurate, so I retract what I just said | ||
b2gills | github.com/rakudo/rakudo/blob/15c6...3457-L3465 | 23:06 | |
TimToady | m: say <\>> | ||
camelia | rakudo-moar 7b5256: OUTPUT«>» | ||
23:06
spider-mario left
|
|||
TimToady | if you can quote the end delimiter, that's q semeantics rather than Q | 23:06 | |
dha | b2gills - yeah, I can see '<a b c>' as equivalent to 'qw<a b c>'. I just think that it having a different meaning inside a regex is confusing. especially for someone coming from perl 5 who's already confused. :-) | 23:07 | |
Ah. q:w and Q:w behave the same. | |||
dha finally had the thought "why don't I try this?" doh. | |||
TimToady | <> inside regex is a very different beast, since it's taking over for (?:...) and such in p5 | ||
it's our extensible metasyntax, and has very different rules from outside of regex | 23:08 | ||
dha | Yes, I'm definitely getting that impression. | ||
RabidGravy | but [ ] has a different meaning in a regex to not in one in p5 e.g | ||
dha | I guess my question is "but where can I read about that?" | ||
TimToady | all the regex stuff is in S05 | 23:09 | |
dha | I'm guessing your typical person trying to move from p5 to p6 isn't going to just come in here like an idiot and start asking lots of random questions. | ||
dha admits to the possibility that he is such an idiot. | |||
TimToady | well, if they have, then we'd like to move beyond that modality eventually :) | 23:10 | |
we're fine with people turning random questions into docs :) | |||
dha | Ah! Thank you. s05 appears to be what I was looking for. | 23:11 | |
TimToady | but yeah, regexes are the most revolutionary part of the redesign | ||
b2gills | m: .say for Q :qq :quotewords << "a b\tc" d e f >> | ||
camelia | rakudo-moar 7b5256: OUTPUT«a b cdef» | ||
dha | Which, in retrospect is kind of obvious, I guess. I think I needed the phrase "extensible metasyntax" to actually find it. | 23:12 | |
TimToady | std: .say for Q :qq :quotewords << "a b\tc" d e f >> | ||
camelia | std 28329a7: OUTPUT«ok 00:00 136m» | ||
23:14
RabidGravy left,
cognominal left
23:16
gfldex left
|
|||
b2gills | m: .say for Q :qq :quotewords :!backslash << "a b\tc" d e f >> # the "" switches it back to qq | 23:20 | |
camelia | rakudo-moar 7b5256: OUTPUT«a b cdef» | ||
dha | Do we still have C<require> in p6? | 23:33 | |
AlexDaniel | m: constant ½ = 1/2; say ½; | 23:34 | |
camelia | rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lV19js3V6FMissing initializer on constant declarationat /tmp/lV19js3V6F:1------> 3constant7⏏5 ½ = 1/2; say ½;» | ||
dha | And... C<reset>? I don't think I've ever seen anyone actually use C<reset>... | ||
AlexDaniel | what's wrong with unicode constants? | 23:35 | |
23:35
vendethiel left
|
|||
AlexDaniel | m: constant ä = 1/2; say ä; | 23:36 | |
camelia | rakudo-moar 7b5256: OUTPUT«0.5» | ||
AlexDaniel | nothing is wrong, but how ½ is different? | ||
23:38
vendethiel joined
|
|||
AlexDaniel | it seems like it is from another unicode set or something | 23:43 | |
23:45
yqt left
|
|||
TEttinger | m: $½ = 1/2; say ½; | 23:45 | |
camelia | rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FyHhkRFMPSName must begin with alphabetic characterat /tmp/FyHhkRFMPS:1------> 3$7⏏5½ = 1/2; say ½; expecting any of: infix infix stopper statement end …» | ||
TEttinger | that might be it? | ||
m: $½ = 1/2; say $'½; | |||
camelia | rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Q3BDbyJviLName must begin with alphabetic characterat /tmp/Q3BDbyJviL:1------> 3$7⏏5½ = 1/2; say $'½; expecting any of: infix infix stopper statement end …» | ||
TEttinger | m: $½ = 1/2; say $½; | ||
camelia | rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HrUQCEy9ebName must begin with alphabetic characterat /tmp/HrUQCEy9eb:1------> 3$7⏏5½ = 1/2; say $½; expecting any of: infix infix stopper statement end …» | ||
TEttinger | sorry | ||
ugexe | m: my $x = " "; my $y = $x.index("\n"); say $y.perl; $z = $x.rindex("\n"); say $z.perl | 23:55 | |
camelia | rakudo-moar 7b5256: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RuUl3efqthVariable '$z' is not declaredat /tmp/RuUl3efqth:1------> 3; my $y = $x.index("\n"); say $y.perl; 7⏏5$z = $x.rindex("\n"); say $z.perl» | ||
ugexe | m: my $x = " "; my $y = $x.index("\n"); say $y.perl; my $z = $x.rindex("\n"); say $z.perl | 23:56 | |
camelia | rakudo-moar 7b5256: OUTPUT«IntFailure.new(exception => X::AdHoc.new(payload => "substring not found"), backtrace => Backtrace.new)» | ||
ugexe | index and rindex are not doing the same thing when no matches are found | ||
dha | I'm not seeing any obvious equivalent to C<rewinddir> in IO::Path. Should I assume that's gone, or might it be somewhere else that I'm not thinking to look? | 23:59 |