»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:13
llfourn joined
00:17
troys_ is now known as troys
00:28
ZzZombo left,
ZzZombo joined
00:34
cdg_ joined
00:37
cdg left
00:41
Zoffix joined
|
|||
Zoffix | I stole it. | 00:44 | |
yoleaux | 7 Dec 2017 17:16Z <tbrowder> Zoffix: thnx for the new highlighter! | ||
Zoffix | But... there's a whole nest of buggers in RI::I :o | ||
00:44
Herby_ joined
|
|||
Herby_ | o/ | 00:44 | |
Zoffix | \o | ||
Writing tests ATM to cover them all. | |||
00:46
mienaikage joined
|
|||
Zoffix | First pass gonna be quite a deopt. | 00:51 | |
00:52
patrickz joined,
perlpilot_ joined
00:56
patrickz_ left,
BenGoldberg joined
00:59
mson joined
|
|||
timotimo | do we have some document where things like "an iterator shall not be asked to pull-one after IterationEnd has been encountered" and friends? | 01:09 | |
Zoffix | It's not me being a moron, right? Iterator.count-only/.bool-only are concerned with the *current* state of the iterator not its initial state? That is I can always legally do `.pull-one xx .count-only` without violating Iterator protocol | ||
timotimo | i wonder if we ever decided upon what count-only does if values have already been consumed | ||
Zoffix | timotimo: that should be in the docs for Iterator type | ||
That one I know 'cause jnthn said that. Dunno about countonly | 01:10 | ||
It makes sense for it to adjust the stuff after iteration. | |||
01:10
stmuk_ joined
|
|||
timotimo | mhm | 01:11 | |
Zoffix | I already got 87 lines of bug cover tests and I'm only 60% through RI::I | ||
timotimo | well, the docs seem to say you can count-only after pulling values and get the number of remaining items | ||
Zoffix | The only problem is I wrote that some time back :} | 01:12 | |
timotimo | hah :) | ||
01:13
stmuk left
01:17
cdg_ left
01:20
lookatme joined
|
|||
timotimo | maybe it'd be good if there were a way for count-only to signal "oh, turns out i can't tell you after all!" | 01:21 | |
hm. or is that what the default implementation of count-only does? | |||
Zoffix | There's no default impl. | 01:22 | |
timotimo | i just saw. hmm. | ||
we use nqp::can and friends to figure that out, then? | |||
Zoffix | yeah | ||
timotimo goes to bed | 01:23 | ||
Zoffix | \o | ||
01:29
unclechu joined,
tadzik joined,
AlexDaniel` joined,
tyil[m] joined,
CIAvash[m] joined,
mack[m] joined,
Garland_g[m] joined,
wamba[m] joined,
M-Illandan joined,
wictory[m] joined,
Matthew[m] joined
01:30
ilmari[m] joined,
xui_nya[m] joined
|
|||
Zoffix | What does this mean again? "This representation (NativeRef) does not support elems (for type IntAttrRef)" | 01:32 | |
m: class Foo { has int $!x; method z { use nqp; nqp::elems($!x) } }.new.z | 01:33 | ||
camelia | This representation (NativeRef) does not support elems (for type IntAttrRef) in method z at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix rocks out to www.youtube.com/watch?v=jkPAX8Zydiw | 01:37 | ||
Herby_ | perfect programming music :) | ||
Zoffix | :) | 01:38 | |
01:39
mcmillhj joined
01:44
mcmillhj left
01:46
troys is now known as troys_
01:53
cdg joined
01:58
cdg left
|
|||
Zoffix | .tell lizmat I stole the .tail(5).tail bug. Would you be able review my fix in that and other iterators github.com/rakudo/rakudo/commit/af9812fa73 ? Unless I'm misunderstanding iterator protocol, the .count-only/.bool-only need to account for iterator's consumation and adjust their values. I removed some of the impls because I assumed they weren't worth it. The one (IIRC only one...) exception is | 02:01 | |
yoleaux | Zoffix: I'll pass your message to lizmat. | ||
Zoffix | RI::I.Combinations; I couldn't figure out how to impl them. I also added tests in github.com/perl6/roast/commit/88a12f6984 | ||
.tell lizmat RI::I.Combinations; I couldn't figure out how to impl them. I also added tests in github.com/perl6/roast/commit/88a12f6984 | 02:02 | ||
yoleaux | Zoffix: I'll pass your message to lizmat. | ||
02:03
comborico1611 left
|
|||
Zoffix powers down | 02:03 | ||
02:03
Zoffix left
02:19
eliasr left
02:26
astj left,
astj joined,
piojo joined
02:27
astj left,
astj joined
02:32
troys_ is now known as troys
02:35
ZzZombo left,
ZzZombo joined
|
|||
piojo | m: my @pairs = [('a' => 'b'),]; say so @pairs.any ~~ ('a' => 'b'); | 02:39 | |
camelia | No such method 'a' for invocant of type 'Pair' in block <unit> at <tmp> line 1 |
||
piojo | Seems like junctions can't handle pairs? | ||
my @ints = 2; say so @ints.any ~~ 2; | |||
m: my @ints = 2; say so @ints.any ~~ 2; | 02:40 | ||
camelia | True | ||
02:40
perlpilot_ left
|
|||
piojo | m: say ('a' => 'b') ~~ ('a' => 'b') | 02:40 | |
camelia | True | ||
geekosaur | m: my @pairs = [('a' => 'b'),]; say so ('a' => 'b') ~~ @pairs.any; | 02:41 | |
camelia | True | ||
geekosaur | ~~ is not symmetrical | ||
piojo | geekosaur: But I thought a junction would be collapsed and be evaluated as its elements | 02:42 | |
err, expanded | |||
geekosaur | I don't know off the top of my head what Pair.ACCEPTS does, but it's apparently not what you think it should | ||
piojo looks up .ACCEPTS | |||
geekosaur | more to the point here is that a ~~ b induces a closure, aliases $_ to a, and invokes b.ACCEPTS($_). ACCEPTS may be special for various types | 02:45 | |
02:47
ilbot3 left
|
|||
geekosaur | "If topic is any other value, uses the invocant's key as the name of the method to call on topic and check's its .Bool is the same as .Bool of the invocant's value. This form can be used to check Bool values of multiple methods on the same object, such as IO::Path, by using Junctions:(...)" | 02:47 | |
piojo | geekosaur: thanks. so it's because Junction is a "special" type, so ACCEPTS is trying to compare it by key/value, and when the key is called as a method, the junction gets expanded, and `.a` is called on each pair in the list, which fails | 02:49 | |
Thanks, that makes sense! | |||
geekosaur | (Pair.ACCEPTS. here the Junction needs to be on the Pair, not the Array as you had it. *possibly* an argument could be made for it applying to a Junction differently than using the default lookup) | ||
yes | 02:50 | ||
it does seem kinda confusing and possibly it should do something different with Pair.ACCEPTS(Junction) | |||
otoh Junction interacts oddly with some things and that might turn out to be difficult to accomplish | |||
piojo | But it would enable linguistically friendly code, which we like in general | 02:51 | |
"any(array) ~~ pair" is how it would be spoken, at least in English | |||
geekosaur | I think the biggest problem is that Junction somehow needs to be 'invisible' for the type check there, but *without* triggering autothreading | ||
piojo | geekosaur: that sounds very tricky | 02:52 | |
Impossible, actually | |||
It can have more than one type, so it has to trigger auto-threading | |||
perhaps it's just a mistake that smartmatch looks so symmetric | 02:53 | ||
geekosaur | possibly. getting it reversed seems to happen a lot | ||
piojo | nobody would switch the operand order for "a < b", but for "a == b" and "a ~~ b" it looks fine. | 02:54 | |
02:54
poohman joined
02:57
ilbot3 joined,
ChanServ sets mode: +v ilbot3
03:01
poohman left
03:06
pilne left
03:11
piojo1 joined
03:13
piojo left
03:14
piojo joined
03:16
piojo1 left
03:28
poohman joined
03:39
Sgeo left
03:41
Sgeo joined
03:45
troys is now known as troys_
03:53
TEttinger left
03:54
Cabanossi left
03:56
Cabanossi joined
04:00
TEttinger joined
04:08
Cabanossi left,
jeromelanteri joined
04:10
Cabanossi joined
|
|||
buggable | New CPAN upload: PDF-Font-0.1.2.tar.gz by WARRINGD cpan.metacpan.org/authors/id/W/WA/...1.2.tar.gz | 04:23 | |
04:29
Morfent left
04:38
piojo left
04:40
kyan joined
04:44
Morfent joined
04:51
committable6 left
04:54
kitsunenokenja left
04:57
troys_ is now known as troys
04:58
troys is now known as troys_,
troys_ is now known as troys
05:12
committable6 joined,
ChanServ sets mode: +v committable6
05:20
wamba joined
05:22
itaipu joined
05:23
poohman_ joined
05:26
poohman left,
poohman_ is now known as poohman
05:46
BenGoldberg left
05:54
poohman left,
poohman joined
05:56
itaipu left
05:59
poohman left,
poohman joined
06:00
poohman left,
poohman joined,
poohman left
06:01
troys is now known as troys_,
poohman joined,
poohman left
06:02
poohman joined,
poohman left,
poohman joined
06:03
poohman left,
poohman joined,
poohman left
06:04
poohman joined,
poohman left,
khw left,
releasable6 left,
poohman joined,
releasable6 joined,
poohman left
06:05
poohman joined,
poohman left
06:06
poohman joined,
poohman left,
tony-o is now known as tonyo,
poohman joined
06:07
poohman left
06:08
poohman joined,
poohman left,
poohman joined,
poohman left
06:09
poohman joined,
poohman left,
poohman joined,
poohman left
06:10
poohman joined,
poohman left
06:11
poohman joined,
poohman left
06:12
poohman joined,
poohman left,
llfourn left
06:13
poohman joined,
poohman left,
poohman joined,
poohman left
06:14
poohman joined,
poohman left
06:15
poohman joined,
poohman left
06:16
poohman joined,
poohman left,
poohman joined,
poohman left,
tonyo is now known as tony-o
06:17
poohman joined,
poohman left
06:18
poohman joined,
poohman left,
poohman joined
06:19
poohman left,
poohman joined
06:20
poohman left,
poohman joined,
poohman left
06:21
poohman joined,
poohman left,
poohman joined,
poohman left
06:22
poohman joined,
poohman left
06:23
poohman joined,
poohman left,
poohman joined,
poohman left,
poohman joined
06:24
poohman left,
poohman joined,
poohman left
06:25
poohman joined,
poohman left,
poohman joined,
poohman left
06:26
poohman joined,
poohman left
06:27
poohman joined,
poohman left,
poohman joined,
bonsaikitten left,
xiaomiao joined
06:28
poohman left,
poohman joined
06:29
poohman left,
poohman joined,
poohman left,
troys_ is now known as troys,
poohman joined
06:30
poohman left,
poohman joined,
poohman left
06:31
poohman joined,
poohman left,
poohman joined,
poohman left
06:32
poohman joined,
poohman left,
poohman joined
06:33
poohman left,
poohman joined,
poohman left
06:34
poohman joined,
poohman left
06:35
poohman joined,
poohman left,
poohman joined,
poohman left
06:36
poohman joined,
poohman left,
poohman joined
06:37
poohman left,
poohman joined,
poohman left
06:55
domidumont joined
06:57
xinming joined
06:59
domidumont left
07:01
domidumont joined
07:06
troys left,
leedo left,
jkva_ left
07:07
peteretep left,
jkva_ joined,
evalable6 left,
peteretep joined,
kent\n left,
plicease_ left
07:08
rodarmor left,
wamba left,
kent\n joined,
kerframil left,
plicease joined,
wamba[m] left,
jsimonet left
07:09
leedo joined
07:11
jsimonet joined
07:14
ilmari[m] left,
Garland_g[m] left,
Matthew[m] left,
tadzik left,
xui_nya[m] left,
unclechu left
07:15
CIAvash[m] left,
M-Illandan left,
mack[m] left,
wictory[m] left,
mienaikage left,
tyil[m] left,
AlexDaniel` left
07:17
john51 left,
squashable6 left,
greppable6 left,
john51 joined
07:23
Cabanossi left
07:25
darutoko joined,
Cabanossi joined
07:28
timotimo left
07:30
giraffe left
07:35
reportable6 left,
reportable6 joined
07:39
kyan left
07:40
ChoHag left
07:43
wamba joined
07:45
giraffe joined
07:52
ChoHag joined
07:54
timotimo joined
08:02
sena_kun joined
08:07
Cabanossi left
08:10
Cabanossi joined
08:12
geospeck joined
08:22
konsolebox left
08:26
sena_kun left,
jeromelanteri left
08:28
|oLa| joined,
konsolebox joined
08:33
ChoHag_ joined
08:35
ChoHag left
08:36
sena_kun joined
08:43
sena_kun left,
sena_kun joined
08:53
cpage_ left
|
|||
moritz | jnthn: just a quick reminder that your advent post is due tomorrow 00:00 UTC :-) | 08:58 | |
lookatme | :) | ||
moritz | (should the schedule be a problem, there's still room for swapping things around) | ||
days 10, 11, 12, 14 are already scheduled... I don't think we ever had such exemplary pre-lineup :-) | 09:00 | ||
(I mean in the previous years; it's been great all around this year) | 09:01 | ||
09:04
traxex left
09:06
rodarmor joined,
domidumont left
09:08
traxex joined
09:10
mson left,
lookatme left
|
|||
masak | pre-lineup++ | 09:12 | |
09:18
tadzik joined
09:20
parv joined
09:21
zakharyas joined
09:25
zakharyas left
09:26
zakharyas joined
09:45
llfourn joined
09:47
wamba[m] joined,
ilmari[m] joined,
Matthew[m] joined,
CIAvash[m] joined,
mack[m] joined,
M-Illandan joined,
AlexDaniel` joined,
wictory[m] joined,
tyil[m] joined,
unclechu joined,
Garland_g[m] joined,
mienaikage joined,
xui_nya[m] joined
09:53
wamba left,
domidumont joined
09:57
cdg joined
09:59
rindolf joined
10:00
Morfent left
10:03
Morfent joined
10:05
zakharyas left
10:06
zakharyas joined
10:07
Cabanossi left
10:10
Cabanossi joined,
mscha joined
|
|||
mscha | m: say infix:<==>(3,3); say infix:<==>(2,4) | 10:11 | |
camelia | True False |
||
mscha | This works, but what do I do if I have $oper = '=='? infix:<$oper> and infix:($oper) don't work. | 10:12 | |
10:13
domidumont left
10:21
eliasr joined
10:22
domidumont joined
|
|||
jnthn | m: my $op = "+"; say ::("&infix:<$op>")(1, 41) | 10:22 | |
camelia | 42 | ||
mscha | jnth: thanks, perfect! | 10:24 | |
jnthn: thanks, perfect! | |||
10:25
virtualsue joined
10:26
konsolebox left,
virtualsue left
10:28
konsolebox joined
|
|||
mscha | m: my $op = '!='; say ::("&infix:<$op>")(1, 41); | 10:28 | |
camelia | True | ||
mscha | m: my $op = '>='; say ::("&infix:<$op>")(1, 41); # Why does this not work? | ||
camelia | No such symbol '&infix:<>=>' in block <unit> at <tmp> line 1 |
||
10:32
domidumont left
|
|||
mscha | m: my $op = '>='; say ::("&infix:«$op»")(1, 41); | 10:32 | |
camelia | Use of uninitialized value $op of type Any in string context. Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful. False in code at <tmp> line 1 |
||
mscha | Huh? | ||
10:33
domidumont joined
10:35
konsolebox left
10:36
konsolebox joined
10:44
Zoffix joined
|
|||
Zoffix | m: my $op = ">="; say ::("\&infix:«$op»")(1, 41); | 10:44 | |
camelia | False | ||
10:48
parv left
|
|||
sjn | o/ | 10:48 | |
tbrowder | sjn: \o | ||
sjn | Quick question.... Does the following statement ring true for the Perl 6 programming language? -- "If you have to bend over backwards to do something in Perl 6, then you're probably doing the wrong thing." | 10:50 | |
s/the wrong thing/something wrong/ | |||
mscha | Thanks, Zoffix. Now all I got to deal with is infix:<==> vs. infix:«>=». | 10:51 | |
Zoffix | m: for "==", ">=" -> $op { my &op = &::("infix:<$op>") // &::("infix:«$op»") // &::("infix:<$op.subst(/<?before <[<>]>>/, "\\", :g)>"); say op 1, 41 } | 10:54 | |
camelia | False False |
||
Zoffix | m: for "==", ">=" -> $op { my &op = &::("infix:<$op>") // &::("infix:«$op»") // &::("infix:<$op.subst(/<?before <[<>]>>/, "\\", :g)>"); say op 42, 41 } | ||
camelia | False True |
||
Zoffix | So how come ::("\&infix:«$op»") needs a backslash but ::("&infix:<$op>") doesn't? | 10:55 | |
Looking at ASTs, the «» version got this stuff up in it, but why does the backslashing make or not make it run? gist.github.com/zoffixznet/0dec3a8...95aee3ad89 | 10:56 | ||
10:58
wander joined
|
|||
Zoffix | m: my $w = BEGIN $*W.WHAT; my $op = '=='; dd $w.canonicalize_pair: 'infix:', $op | 10:58 | |
camelia | ":infix:<==>" | ||
Zoffix | m: my $w = BEGIN $*W.WHAT; my $op = '>='; dd $w.canonicalize_pair: 'infix:', $op | ||
camelia | ":infix:«>=»" | ||
wander | \0 | ||
Zoffix | mscha: ^ unsupported and evil method, but I think the other one with the .subst stuff is just as fragile | 10:59 | |
10:59
cdg left
|
|||
Zoffix | oh | 10:59 | |
10:59
cdg joined
|
|||
Zoffix | m: my $w = BEGIN $*W.WHAT; my $op = '>='; dd 'infix' ~ $w.canonicalize_pair: '', $op | 10:59 | |
camelia | "infix:«>=»" | ||
Zoffix | m: my $w = BEGIN $*W.WHAT; my $op = '=='; dd 'infix' ~ $w.canonicalize_pair: '', $op | ||
camelia | "infix:<==>" | ||
Zoffix | This I meant | ||
11:01
cdg left,
cdg joined
|
|||
mscha | m: for '==', '>=' -> $op { say (&::("infix:<$op>") // &::("infix:«$op»"))(5,3); | 11:02 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing block at <tmp>:1 ------> 3fix:<$op>") // &::("infix:«$op»"))(5,3);7⏏5<EOL> |
||
11:03
mattp_ left
|
|||
mscha | m: for '==', '>=' -> $op { say (&::("infix:<$op>") // &::("infix:«$op»"))(5,3); } | 11:03 | |
camelia | False True |
||
mscha | Thanks for the tips, Zoffix! | ||
11:03
mattp_ joined
11:06
cdg left
|
|||
mscha | Used it for this: www.reddit.com/r/adventofcode/comm...s/dqy25k2/ | 11:07 | |
11:07
cdg joined
11:08
wamba joined,
Cabanossi left
11:10
Cabanossi joined
11:11
Zoffix left,
cdg left
11:15
konsolebox left,
araraloren joined
|
|||
araraloren | o/ | 11:16 | |
tbrowder | \o | ||
masak | m: my &eval = &EVAL; for q[==], q[>=] -> $op { say eval "5 {$op} 3" } | 11:17 | |
camelia | False True |
||
masak | mscha: ^ | ||
tbrowder | anyone here know about gen of docs.perl6.org? | 11:18 | |
11:18
konsolebox joined
|
|||
tbrowder | i see a bad table in language/regexes.pod6 that should be rendering properly after the recent pod table fix | 11:21 | |
11:23
traxex_ joined
|
|||
moritz | what does that need? a newer version of Pod::To::HTML? | 11:24 | |
11:24
jeromelanteri joined
11:26
traxex left
|
|||
tbrowder | i don’t think it does, but i looked at it and don’t see any special handling. however, the visible escape chars are suspicious. shouldn’t it be using latest master rakudo? | 11:26 | |
11:27
traxex_ left
|
|||
sjn | tbrowder: docs are in [email@hidden.address] , right? | 11:28 | |
11:28
traxex joined
|
|||
tbrowder | yes | 11:28 | |
11:29
wamba left,
konsolebox left,
Zoffix joined
|
|||
wander | tbrowder: IIRC need a explicit version bump | 11:30 | |
sjn | tbrowder: which line in doc/Language/regexes.pod6 has suspicious escape chars? | ||
Zoffix | tbrowder: it uses latest rakudo for *travis testing*. For builds, it uses whatever is built in /home/rakudobrew on hack. | ||
Guess I got time to kick off a build | |||
mscha | masak: yeah, but eval is evil. ;-) | 11:31 | |
11:31
konsolebox joined
|
|||
tbrowder | hm, so it prob doesn’t have latest, that would explain it | 11:31 | |
Zoffix | It's using 2017.10 | ||
tbrowder | that should fix it unless my fix was bad | 11:32 | |
Zoffix | tbrowder: while you're here... there's still a missing roast file when `make spectest` is run | ||
tbrowder | whoa, that’s pretty old | ||
Zoffix | Not really. Latest stable user release. | 11:33 | |
11:33
traxex left,
traxex joined
|
|||
tbrowder | yeah, awating samcv. i could merge it but that wouldn’t be right. | 11:33 | |
i commented on her question in the roast PR #361 | 11:34 | ||
masak | mscha: I take your knee-jerk reaction against `eval` and call it :P | 11:35 | |
11:36
konsolebox left
|
|||
masak | mscha: it's only actually *dangerous* if (say) the user was allowed to type in what $op should be. but that's not so in the above code, so it's fine. | 11:36 | |
Zoffix | .oO( famous last words... ) |
||
tbrowder | so maybe when 2017.12 comes out it will render properly | 11:37 | |
masak | I don't get it how we ended up in a situation where people think that because there are injection attacks possible with `eval`, it shouldn't ever be used, even when the resulting code is both shorter and easier to read. | ||
11:37
ChoHag_ left
|
|||
Zoffix | masak: easy: the $code in "not so in the above code" later gets changed, creating an exploit that causes $n million of accounts to get hacked. Your hack to avoid using the dedicated "I know what I'm doing" method makes the issue even more pernicious, since the programmer can't even easily grep for evil | 11:38 | |
masak | Zoffix: I'm not actually in disagreement with you, just so you know :) | 11:40 | |
I also wouldn't use these techniques in production | |||
and yes, that distinction is important | |||
my beef is that I feel the warnings against `eval` have spread to situations where it would be completely fine. you had to invent a production-like context where the program was changed further beyond its original purpose for `eval` to become an actual problem. | 11:41 | ||
in *my* hypothetical scenario, the code was a 10-minute throwaway thing, and it was never changed later, and no problem arose | |||
11:42
konsolebox joined
|
|||
masak | and if your objection then is "but we shouldn't teach techniques which might have a downside in some contexts", then I'd disagree | 11:42 | |
11:43
wamba joined
|
|||
masak | I think we should spend *more* effort on distinguishing the contexts in which techniques apply, not less | 11:43 | |
11:43
mahafyi joined
|
|||
mscha | masak, Zoffix: I agree with you both. In my case, the operator does come from “user” input, but it's parsed by a grammar that only accepts the 6 basic numeric comparison operators; so it is safe, in practice. But better safe than sorry, so why use it if there's an alternative? | 11:45 | |
11:45
Ven`` joined
|
|||
Zoffix | masak: in my *actual* scenario, I had no idea where the code were to be used or how many more people would find it in the logs and use it elsewhere, or how many more people would edit the programs using that code later on, so I provided a version that isn't exploitable. I don't understand what purpose it serves to use a hack instead of `use MONKEY-SEE-NO-EVAL`, regardless of contexts | 11:46 | |
11:47
traxex_ joined,
itaipu joined
|
|||
masak | m: my %ops = { "==" => &[==], ">=" => &[>=] }; for %ops.kv -> $k, &op { say "3 $k 5: { &op(3, 5) }" } | 11:47 | |
camelia | Potential difficulties: Useless use of hash composer on right side of hash assignment; did you mean := instead? at <tmp>:1 ------> 3 %ops = { "==" => &[==], ">=" => &[>=] }7⏏5; for %ops.kv -> $k, &op { say "3 $k 5: 3 >= 5: F… |
||
masak | m: my %ops = "==" => &[==], ">=" => &[>=]; for %ops.kv -> $k, &op { say "3 $k 5: { &op(3, 5) }" } | ||
camelia | 3 >= 5: False 3 == 5: False |
||
masak | heh :) | ||
Zoffix | masak: the problem with your context excuse is the source of the op and the place where the op is used are in different locations so the person editing the way the op is obtained might not even be aware it's being evaled | ||
masak | mscha: anyway, something like the above (after debugging) oughta work | ||
lunch & | 11:48 | ||
mscha | I'm sticking with this one: | 11:49 | |
sub oper($op) returns Code | |||
11:49
Geth left
|
|||
mscha | { | 11:49 | |
11:49
synopsebot left
|
|||
mscha | # Comparison operators can be infix:<==> or infix:«<=». Find either. | 11:49 | |
return &::("infix:<$op>") // &::("infix:«$op»") | |||
} | |||
11:49
Geth joined,
ChanServ sets mode: +v Geth,
traxex left,
synopsebot joined,
ChanServ sets mode: +v synopsebot
|
|||
Geth | doc: b2d61952b6 | (Zoffix Znet)++ (committed using GitHub Web editor) | util/trigger-rebuild.txt rebuild with newer rakudo |
11:50 | |
Zoffix | tbrowder: ^ should use latest now | ||
11:50
Zoffix left
|
|||
tbrowder | thnx, fingers crossed! | 11:51 | |
11:51
ChoHag joined
|
|||
tbrowder | can you look at roast PR #361 and see if i’m off base? | 11:52 | |
11:59
traxex joined
12:01
scimon joined
12:02
traxex_ left
12:09
wander left
12:10
traxex_ joined
|
|||
scimon | Last day of my holiday. Writing my blog post. | 12:13 | |
12:13
traxex left
|
|||
buggable | New CPAN upload: Game-Sudoku-0.1.1.tar.gz by SCIMON cpan.metacpan.org/authors/id/S/SC/...1.1.tar.gz | 12:13 | |
12:15
traxex_ left
|
|||
DrForr | And uploading your module, it looks like :) | 12:15 | |
12:15
traxex joined
12:18
Ven`` left
12:20
traxex_ joined
12:23
traxex left
12:24
kaare_ left
12:25
kaare_ joined,
traxex joined,
traxex_ left
12:29
wamba left
12:30
traxex_ joined
12:32
traxex left,
konsolebox left,
konsolebox joined
12:33
kaare__ joined
12:34
kaare_ left
12:36
traxex_ left
12:41
zakharyas left
12:46
traxex joined
|
|||
scimon | I made a small change to it this morning. More junctions :) | 12:46 | |
12:46
cdg joined
|
|||
scimon | (Been AFK, Mattress delivery. I am not in the good books) | 12:47 | |
tbrowder | huzzah, doc/language/regexes bad table now looks correct! | ||
Zoffix: thnx | |||
12:48
wamba joined
12:50
cdg left
12:51
traxex_ joined
12:53
Cabanossi left
12:54
wamba left,
traxex left
12:55
Cabanossi joined
12:56
traxex joined
12:58
traxex_ left
12:59
konsolebox left
13:00
konsolebox joined,
wamba joined
13:01
traxex left
13:11
wamba left
13:27
lizmat left
13:36
wamba joined,
melezhik left
13:46
cdg joined
13:51
cdg left
13:57
wamba left
14:00
preaction left
14:01
mson joined,
mcmillhj joined
14:03
Ven`` joined,
mahafyi left
14:09
zakharyas joined
|
|||
tbrowder | can anyone show me the “canonical” left/right interpolating and noninterpolating character pairs? i believe the answer is (in ascii form) “<<>>” and “<>”, respectively. | 14:10 | |
14:10
comborico1611 joined
|
|||
Phlogistique | ä× | 14:11 | |
no | |||
sorry | |||
«» | |||
14:12
AlexDaniel left
|
|||
tbrowder | yes, those are the preferred form for <<>> but my devices make it difficult to enter them, thnx | 14:12 | |
DrForr | Compose-key combo FTW. | 14:18 | |
14:18
jdoege joined
|
|||
DrForr | I'm a touch surprised that my keyboard at work doesn't have those on them. | 14:18 | |
I've got degree, {section}, and what the hell are # and @ doing down by x and v, come to think of it? | 14:19 | ||
Altreus | :s | 14:25 | |
14:25
mscha left
|
|||
Altreus | what sort of backward keyboard do you even have | 14:25 | |
14:27
khw joined
|
|||
huf | could be hungarian | 14:28 | |
altgr-v is @, altgr-x is # | |||
so probably some kind of "also ran" country layout | |||
DrForr | Close enough; it's Czech. The number of accented letters is impressive. | 14:31 | |
huf | there we go :) | ||
14:32
preaction joined,
ChoHag left
14:34
mahafyi joined
14:36
domidumont left,
preaction left
|
|||
comborico1611 | Jan Hus was a brilliant man. | 14:39 | |
14:41
DickClarke is now known as DickClark,
preaction joined
14:44
preaction left,
preaction joined
14:53
domidumont joined
15:00
ChoHag joined
15:04
domidumont left
15:05
domidumont joined
15:08
Cabanossi left
15:10
Cabanossi joined
15:24
cdg joined,
geospeck left
15:40
wamba joined
15:49
pdcawley left
16:04
perlpilot joined
16:06
ChoHag left
16:08
Ven`` left
16:09
Cabanossi left
16:10
Cabanossi joined
16:12
cdg left,
ChoHag joined
16:15
jdoege left
16:16
araraloren left
16:17
troys joined
16:22
Ven`` joined,
philomath_ joined
16:37
itaipu left
16:42
mahafyi left
16:44
domidumont left,
ChoHag left
16:50
Ven`` left
16:55
luiz_lha joined,
luiz_lha is now known as Guest96827,
Guest96827 left
16:56
ldeandrade_ joined
16:58
ldeandrade_ left,
ldeandrade_ joined
16:59
ldeandrade_ left
17:01
luiz_lha1 joined
17:02
luiz_lha1 is now known as luiz_lha
17:06
ChoHag joined
17:13
mcmillhj left
17:17
domidumont joined
17:19
troys is now known as troys_
17:23
domidumont1 joined,
timeless left,
timeless joined
17:24
silug left,
Cabanossi left
17:25
Cabanossi joined
17:26
mcmillhj joined
17:27
domidumont left
17:36
itaipu joined,
epony left,
epony joined
17:40
luiz_lha left
17:42
mktoho joined
|
|||
mktoho | Hello! | 17:43 | |
scimon | Hi | ||
17:47
AlexDaniel joined
17:48
zakharyas left,
evalable6 joined,
ChanServ sets mode: +v evalable6
|
|||
comborico1611 | Greetings | 17:48 | |
17:48
zakharyas joined
17:51
mktoho left
17:55
cdg joined
18:00
cdg left
|
|||
buggable | New CPAN upload: Game-Sudoku-0.2.0.tar.gz by SCIMON cpan.metacpan.org/authors/id/S/SC/...2.0.tar.gz | 18:04 | |
scimon | So while writing all the things I've tweaked a few things. | ||
Hiy just under 2000 words. Now adding links. | |||
18:10
domidumont1 left
|
|||
Herby_ | \o/ | 18:14 | |
scimon | Does anyone know what time we're publishing the Advent calender at? 00:00 GMT? | 18:17 | |
(I've set mine up for that but we can change it if required) | 18:21 | ||
18:21
marcusramberg left
|
|||
[Coke] | That seems fine, but I doubt there's a strict schedule | 18:21 | |
18:21
marcusramberg joined
|
|||
scimon | Righto. | 18:22 | |
Well... I'll probably give it a re-read over the weekend. Quite happy with it. I controlled my urge to write it as a conversation between elves. Just. | 18:23 | ||
Now I need to do dishes. | |||
18:23
scimon left,
Cabanossi left
18:25
Cabanossi joined
18:28
kerframil joined,
itaipu left
18:34
avalenn left
18:37
mahafyi joined
18:38
wamba left,
itaipu joined
18:41
troys_ is now known as troys
|
|||
DrForr | WRT Pod::To::* is there a test suite with decent coverage I can gank? | 18:45 | |
18:47
itaipu left
18:54
darutoko left
|
|||
DrForr | Come to think of it one would suppose that the compiler would have one... | 18:54 | |
TimToady notes that "use MONKEY;" is considerably shorter and easier to type than "my &eval = &EVAL;", and doesn't hide the EVALs in lower case, or hide the MONKEY that the boss is gonna be grepping for | 18:57 | ||
18:57
zakharyas left
|
|||
TimToady | as for the argument that it's the wrong default, well, that's the wrong argument :) | 18:57 | |
19:07
Cabanossi left
19:11
Cabanossi joined
19:12
cdg joined
19:15
troys is now known as troys_
19:17
cdg left
19:36
unicodable6 left,
unicodable6 joined
|
|||
[Coke] | m: say i**i | 19:38 | |
camelia | 0.207879576350762+0i | ||
19:43
geospeck joined
|
|||
[Coke] | m: use Test; is-approx(i**i,e**(-π/2)) | 19:48 | |
camelia | ok 1 - | ||
20:09
Thrush joined
|
|||
Thrush | I have a question: Does Perl6 support tail-call-recursion optimization? By googling, I found some pages that say it's supposed to, but those pages are from 2002. | 20:10 | |
AlexDaniel | Thrush: still no | 20:12 | |
jnthn | Thrush: No | ||
Thrush | Ah, okay, thanks. Any plans for the future? | 20:13 | |
20:14
mahafyi_ joined
|
|||
Thrush | (Any plans to make Perl 6 support tail-call-recursion optimization in the future, that is.) | 20:14 | |
20:14
comborico1611 left
20:15
mahafyi left,
mahafyi_ is now known as mahafyi
20:16
zakharyas joined
20:18
comborico1611 joined
20:21
dmaestro joined
|
|||
jnthn | It's been discussed a bit; the challenge is in working out when we can apply the optimization, and making that predictable enough that people can rely on it. | 20:23 | |
I don't know of anyone who has plans to work on it in the immediate future, but it certainly could happen some day. | 20:24 | ||
dmaestro | I expected this to work: | ||
m: "\c[GREEK SMALL LETTER ALPHA]" ~~ /<:L&:Script<Greek>>/ | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in metachar:sym<assert>; couldn't find final '>' (corresponding starter was at line 1) at <tmp>:1 ------> 3"\c[GREEK SMALL LETTER ALPHA]" ~~ /<:L7⏏5&:Script<Greek>>/… |
||
dmaestro | just like: | ||
m: "\c[GREEK SMALL LETTER ALPHA]" ~~ /<:L+:Script<Greek>>/ | 20:25 | ||
camelia | ( no output ) | ||
dmaestro | m: say "\c[GREEK SMALL LETTER ALPHA]" ~~ /<:L+:Script<Greek>>/ | ||
camelia | 「α」 | ||
dmaestro | Is the (documented) '&' set intersection operator not yet implemented? Or broken? | 20:26 | |
m: say "\c[GREEK SMALL LETTER ALPHA]" ~~ /<:Script<Greek>>/ | |||
camelia | 「α」 | ||
jnthn | Hm, it's documented? I'm pretty sure it's not implemented, but: | ||
m: say "\c[GREEK SMALL LETTER ALPHA]" ~~ /<:L> & <:Script<Greek>>/ | |||
camelia | 「α」 | ||
jnthn | Can be done like that | ||
dmaestro | Thanks, that is usable at least. | 20:27 | |
jnthn | Given we an just compile the other form into what I showed, it's probably a fairly soft feature :) | 20:28 | |
*can | |||
dmaestro | yes, documented in Regexes / Unicode Properties / "Categories can be used together, with an infix operator: ..." | ||
Thrush | Thanks for the info, jnthn. | 20:29 | |
jnthn | OK, could be worth a docs issue, since that site should just include stuff that's done, not stuff that's hoped for some day :) | ||
dmaestro | Right :-) | ||
20:30
Thrush left
|
|||
jnthn | From backlog here: if you are doing `my &eval = &EVAL`, you're at risk of the compiler disappearing some of the symbols at the point you use `eval`. The uppercase isn't simply a discouragement, it's a hint that the language treats this name specially. | 20:31 | |
And that optimization *will* get more aggressive in the future. | 20:32 | ||
20:33
benchable6 left,
benchable6 joined
|
|||
jnthn | In summary, `my &eval = &EVAL; { my $x = 42; eval 'say $x' }` may work today, but I'd be surprised if it still worked in a year's time. | 20:33 | |
El_Che | slap a 6.c and don't worry about it | 20:34 | |
geekosaur | mm, because it's a preannounced thing, versions don't help much | 20:35 | |
El_Che | let's say you'll need a pre 6.d release to run it :) | ||
geekosaur | hypothetically that optimization could get committed in the next 5 minutes without requiring a version break | 20:36 | |
(*very* hypothetically...) | |||
El_Che | If you use monkey in capitals in your code, you're not in the place to make a formal complaint | ||
DrForr | Hrm. I've got at least 2 requests for Pod::TreeWalker, which likely means that given autarch's state I should probably ask to take it over which means I should think very carefully about whether I should ask... | ||
jnthn | Well, I sure won't be committing it in the next 5 minutes, 'cus I'm already behind with witing my advent article. :P | ||
Talking of which...guess I should hide this IRC window :) | 20:37 | ||
20:37
s0me0n3-unkn0wn joined,
dmaestro left
|
|||
mspo | so is this christmas going to be perl7 release? | 20:37 | |
El_Che | mspo: don't troll | 20:38 | |
AlexDaniel | .oO( 7lang release ) |
||
mspo | El_Che: if TimToady said it then it would be a great troll | ||
what's the changelog on the language spec look like for the last 12 months? | 20:39 | ||
AlexDaniel | not much has changed | 20:40 | |
20:40
s0me0ne-unkn0wn left
|
|||
AlexDaniel | but a lot of *new* stuff was added on top | 20:40 | |
20:40
Zoffix joined
|
|||
Zoffix | mspo: perl7 has been out for ages, bruh: github.com/perl7/perl7/ | 20:41 | |
mspo | Zoffix: I actually forgot about that one | ||
20:43
mahafyi left
|
|||
Zoffix | mspo: changelog is gonna be pretty huge. There are 2707 new commits that define 6.d | 20:43 | |
mspo | AlexDaniel: isn't the implementation changing some parts of the spec? | ||
Zoffix: will 6.d be "final" on xmas? | 20:44 | ||
AlexDaniel | mspo: very rarely, only if the spec was really wrong in the first place | ||
Zoffix | mspo: I'd say "refines" is more appropriate term. There weren't any real changes to 6.c language, other than error fixes. 6.d merely defines language behaviour for parts that previously were undefined. | ||
mspo: far from it. Spring 2018, I hope. There's currently a blocker that kinda stalls some ambitious people to get 6.d outta the door: R#1289 | 20:45 | ||
synopsebot | R#1289 [open]: github.com/rakudo/rakudo/issues/1289 [6.d BLOCKER] Implement a Way to Know Caller's Language | ||
Zoffix | Actually, there *were* some big changes, like `await` in 6.d being non-blocking. But, I mean, posed against those 2700 commits, it's a drop in a bucket | 20:46 | |
mspo | Zoffix: language spec is waiting on the implementation? | 20:47 | |
20:47
zakharyas left,
Phi_mb joined
|
|||
Zoffix | Also, many 6.d things that are meant to be for 6.d only are already done in 6.c, 'cause we simply didn't have a mechanism to place them in 6.d at that time, or chose to put in 6.c 'cause the 6.c spec was vague enough to allow it. | 20:48 | |
mspo: something like that. It's a bit tough to make a proper release of a spec if you can't even guarantee it works. | |||
The Whirpool and what not. | 20:49 | ||
And we had fudges in 6.c for unimplemented features/bugs and in the end they were just annoyances or features we ended up nixing in the end so 6.d release won't have fudges. | 20:50 | ||
mspo | okay | ||
anyway too bad about not being on christmas | |||
would have been a cool tradition | |||
20:50
philomath_ left
|
|||
AlexDaniel | … not :) | 20:50 | |
Zoffix | mspo: nah, it's good. I'd hate for us to have dates to follow. I rather we Release When It's Ready. 2015's Christmas release was a disaster and I'd argue large part of that was rushing to meat a deadline. | 20:51 | |
AlexDaniel | arbitrary deadlines are not cool. | ||
Zoffix relocates | |||
20:51
Zoffix left
|
|||
[Coke] | Disaster is a strong word, but it wasn't perfect, for sure. | 20:51 | |
AlexDaniel | .oO(meat the deadline, fish the spec) |
||
mspo | it added a nice bit of marketing | 20:52 | |
geekosaur | not quite a disaster but it was definitely Bad Idea | 20:53 | |
20:53
Phi_mb left
20:55
rindolf left
|
|||
mspo | I disagree | 20:55 | |
geekosaur | the whole CUR thing was a cluster____ | 20:56 | |
20:57
Zoffix joined
|
|||
Zoffix | I didn't mean just the event itself, but also the state of the spec at the time. There were huge swaths of the language entirely undefined. | 20:58 | |
20:59
rindolf joined
|
|||
Zoffix | It should've cooked for a couple years more, but overall I thinl it was a good decision to realease then. To solidify, to start the stability kindset | 20:59 | |
And 6.d is that, 2-year later, medium-rare cooked version to me :) so I'm glad to let it simmer to perfect flavour | 21:00 | ||
geekosaur | I'm actually not bothered much bythat part. the spec was always explicit about being forward-looking and knowing some of its plans were at best speculative | ||
mspo | geekosaur: yes | 21:01 | |
Zoffix: didn't you come in after the christmas thing? | |||
geekosaur | no | 21:02 | |
Zoffix | mspo: yeah, right around it. Though I was an alcoholic back then and I think I "came in" only in October 2016 :) | 21:03 | |
previous times are hazy in memor | |||
y | |||
geekosaur | thoguht you were around a little before glr. but I also recall the alcoholic bit | ||
(glr was september-ish iirc?) | 21:04 | ||
Zoffix | Ah yeah, I think I came around glr. but was on and off | ||
masak | ah, you young'uns :) | 21:05 | |
mspo | Zoffix: my point is that the christmas thing had a little marketing style behind it | ||
Zoffix: which increased the energy enough to get one or two more people looking; also nice to do a big release over a break for most people | |||
idk just like my opinion man | |||
Zoffix: you should write the get-clean-with-perl6 guide | 21:06 | ||
masak .oO( with a language like that, who needs alcohol? ) | 21:08 | ||
masak hides | |||
Zoffix | :) | ||
geekosaur | .oO ( new name meme: THCamelia ) | ||
bonus "tea"/"T" joke | 21:09 | ||
El_Che | Zoffix: it's a good story. For when Perl6 takes over the world :) | 21:10 | |
Zoffix | hehe | ||
I even remember what changed my mind. The guts of &val. To drunker's mind it looked complex and I was contemplating writing an article about it until I looked at it after a few days away from drinking. It looked so simple and it kinda made me realize just how much booze affects your working memory, even for days after you drank | 21:12 | ||
mspo | I'd rather use the drinker's language | ||
21:13
ChoHag left
|
|||
Zoffix | ZofBot: weekend is here \o/ | 21:13 | |
ZofBot | Zoffix, so nothing for you then? | ||
Zoffix | ZofBot: gonna be learning C | 21:14 | |
ZofBot | Zoffix, Sex attraction is so purely a question of the taste of the individual that the wise man never argues about it | ||
geekosaur | heh | ||
bot's getting snarky, I see | |||
Zoffix & | |||
21:14
Zoffix left
|
|||
mspo | www.perlmonks.org/index.pl?node_id=466656 | 21:15 | |
geekosaur | also learning C might be enough to drive Zoffix back to the bottle... | ||
mspo | learning C doesn't take long; it's really small | 21:16 | |
*using* it on the other hand.. | |||
geekosaur | that's kinda the point, yes | ||
easy right up until you start realizing just how nasty things like its conflation of pointers and arrays gets | 21:17 | ||
*get | |||
mspo | there are 32 keywords in C :) | ||
El_Che | I invented me a few project to refresh C. It was painful when you're writing stuff for hours that would take minutes in a higher language | ||
geekosaur | one of which is completely useless (at least until C++ repurposed it) | ||
('auto' which exists solely for pedants who want the full set of storage classes) | 21:18 | ||
(or those still writing pseudo-BCPL in C, which is even worse) | 21:19 | ||
jnthn | Ah, BCPL. :) | 21:20 | |
I never wrote it, but got a couple of lectures on it at uni :) | |||
iirc, it...had one type, which was int32 :) | 21:21 | ||
geekosaur | yep | ||
which is why C got 'auto'; since you don't have typed variables, you declare a stack var with e,g. 'auto a;' | 21:22 | ||
jnthn | Oh! That bit I didn't know :) | ||
geekosaur | well, you didn;t do that in BCPL; 'auto' was actually intended for automated BCPL-to-C translators | 21:23 | |
BCPL not onlyh didn;t have types, it was also weak on the idea of declarations in general :) | |||
but C made you declare things, so translators had to insert something and didn;t have types. thus 'auto' | 21:24 | ||
21:25
ChoHag joined
21:28
cdg joined
21:29
eliasr left
|
|||
dylanwh | was bcpl int32 or int16? I thought it was 'word' and at the time 'word' == 16 bit | 21:29 | |
21:29
kitsunenokenja joined
|
|||
geekosaur | at the time 'word' depended on the architecture | 21:29 | |
and BCPL went along woith that, so whether it was int16 or int32 depended on what kind of machine you were on | 21:30 | ||
El_Che is enjoying the conversation | 21:32 | ||
21:33
rindolf left
|
|||
geekosaur | BCPL was kinda transitional because it was one of the first practical "portable" system programming languages (unlike something like DEC's BLISS family which had common features but different specifics on every processor line) | 21:35 | |
it also indicates that nobody'd actually *thought* much about portability yet :) | |||
...for all the portability gotchas C has, when introduced it was a massive improvement over the state of the art in portability | 21:36 | ||
21:37
avalenn joined
21:38
Cabanossi left
|
|||
masak | lol, I blog'd: strangelyconsistent.org/blog/has-it...hree-years | 21:39 | |
21:40
Cabanossi joined
|
|||
moritz | masak++ | 21:46 | |
21:46
itaylor57 left
|
|||
samcv | . | 21:46 | |
yoleaux | 11:23Z <tbrowder> samcv: i have answered your question at roast PR #361 | ||
21:46
itaylor57 joined,
itaylor57 left
|
|||
dogbert17 remembers his old Amiga, part of the OS was written in BCPL if I remember correctly | 21:47 | ||
samcv | tbrowder: merged :) | 21:48 | |
dogbert17 | en.wikipedia.org/wiki/AmigaDOS | ||
samcv | releasable6: status | 21:49 | |
releasable6 | samcv, Next release in 7 days and ≈21 hours. No blockers. 0 out of 78 commits logged | ||
samcv, Details: gist.github.com/15798faad1ab913b98...887ee5d125 | |||
tbrowder | samcv: did my answer make sense? i’m not sure how i could use is-deeply on a table. | 21:54 | |
samcv | yes it was fine, thanks | ||
21:54
rindolf joined
|
|||
tbrowder | ok, thank you (hope you don’t mind the cat in the hat ref, been around grandkids too much to resist it) | 21:56 | |
21:56
mcmillhj left
|
|||
samcv | :) | 21:56 | |
21:59
kerframil left,
itaylor57 joined
22:02
kitsunenokenja left
22:07
troys_ is now known as troys
22:10
bisectable6 left,
bisectable6 joined,
ChanServ sets mode: +v bisectable6
22:15
greppable6 joined,
squashable6 joined
22:18
rindolf left
22:22
Cabanossi left
22:23
rindolf joined
22:25
Cabanossi joined
22:30
wamba joined
22:45
geospeck left
22:47
setty1 joined
22:52
Cabanossi left
22:55
Cabanossi joined
22:58
perlpilot left
23:04
rindolf left
23:25
cdg left
23:26
cdg joined
|
|||
jnthn | Aww, the advent highlighter fails for me with "Error 422: 422 Unprocessable Entity" | 23:28 | |
23:34
troys is now known as troys_
23:35
cdg left
|
|||
ingy | www.youtube.com/watch?v=_Ht4Ei3pdR8 | 23:38 | |
jnthn: they can't all be winners. | 23:39 | ||
jnthn | Pretty much exhausted my guesses at what could be wrong with it. | 23:47 | |
23:53
Cabanossi left
23:55
Cabanossi joined
|
|||
jnthn | ah, I musta had some old or busted version of a dependency somewhere | 23:58 | |
zef nuke and then installing it again worked | |||
23:59
setty1 left
|