samcv i got a segfault while compiling. argh 00:47
i must have messed something up..
Geth rakudo: MasterDuke17++ created pull request #1117:
Speed up .contains by flattening the haystack
02:11
AlexDaniel am I doing something wrong? gist.github.com/AlexDaniel/4a5f0c1...9c18cc54c0 04:18
ugexe: you probably know :) 04:21
well… even if I do, I hope we'll find a way to deal with it: RT #131763 04:35
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131763
samcv AlexDaniel, how much does that speed it up 05:37
flattening the string that is
i am curious
AlexDaniel samcv: hm, what are you talking about exactly? 05:38
samcv github.com/rakudo/rakudo/pull/1117/files
this. as it's very relevant to my interests
AlexDaniel ask MasterDuke perhaps? :) 05:39
samcv oh
dammit
sorry you pasted it
or am i just clicking the wrong links
i did. my bad :)
why can't you be the same person. would make my life easier
AlexDaniel indeed, only one copyright line would be required in whateverable… 05:40
and I'd be able to search for *all* whateverable RT tickets using just my email :)
samcv heh
AlexDaniel on a related note, Proc::Async seems to be very broken :-/ 05:41
There. RT #131764 05:45
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131764
AlexDaniel I *think* there's no bug if you are not using react/whenever, but I may be wrong 05:48
samcv so it's a regression? 05:50
AlexDaniel for whateverable, yes, because I refactored the code a little bit 05:51
and switched to react/whenever as was suggested…
hm, maybe I can check if it's a regression with bisectable…
the stdin issue is reproducible at least on 2017.03 05:55
so not a recent regression for sure
but the code does not seem to work at all in earlier versions, so I have no idea 05:56
maybe I'm doing something wrong? Maybe one is supposed to put stdin into Proc::Async differently
nine AlexDaniel: it does work well if you move the $proc.close-stdin into the whenever $proc.stdout block 06:29
samcv so i've been thinking about ways to speed up appending a \n or \r\n 06:30
for say and the like
AlexDaniel nine: you are not suggesting this as a real solution, are you?
samcv since everyone keeps telling me to make it faster :p 06:31
oh what's the tool to check speed across commits. is that a thing?
nine AlexDaniel: no, more as a data point. It at least tells us that $proc should get all the input
samcv AlexDaniel, ?
AlexDaniel samcv: benchable, yes, but all bots are currently down for a moment 06:32
samcv ah ok
AlexDaniel samcv: github.com/perl6/whateverable/wiki/Benchable
nine: actually, that's a nice workaround… 06:33
nine: something like this works also: whenever Promise.in(0) { $proc.close-stdin } 06:37
samcv so for appending \n, i was thinking of having a string always allocated that was \n. or maybe caching it. so when you concat "foo" ~ "\n" it will go some fast path or something. but this might not make it faster i don't know eh 06:38
thinking again maybe not faster. since i think it's already composed there uh
AlexDaniel nine++ 06:40
nine AlexDaniel: $proc.print is asynchronous while $proc.close-stdin is not! So my previous assessment was wrong. In some cases $proc simply does not get the input because we closed its stdin before printing anything.
AlexDaniel ooooooooooooooooh
nine So the workaround is actually a fix. At least if close-stdin is really meant to be synchronous
samcv it would seem like a naturally synchronouse command but maybe it shouldn't be? 06:41
AlexDaniel nine: I don't think I understand it. What would guarantee that “whenever Promise.in(0)” runs after, if print is actually asynchronous? 06:43
closing whenever you get stdout is not a fix definitely, because you may get no stdout at all
nine AlexDaniel: but print returns a promise. You can await that to ensure that we wrote anything before closing: $proc.print(“one\ntwo\nthree\nfour”).then: { $proc.close-stdin }; 06:46
AlexDaniel :O
riiiiiiiiight
then whenever $proc.print(…) { $proc.close-stdin } ? That should work… 06:47
[Tux] This is Rakudo version 2017.07-11-g91be8bc1c built on MoarVM version 2017.07
csv-ip5xs 2.607
test 12.821
test-t 4.194 - 4.197
csv-parser 12.389
AlexDaniel and it does!
nine: awesome!
nine jnthn++ # beautiful API for a beautiful language 06:48
AlexDaniel well… 06:49
I mean, it's really cool, yes
but now I wonder if I'm the only idiot trying to do something like this (not properly) 06:50
nine AlexDaniel: note that I actually meant "beautiful", not "simple", "correct" or "well documented" ;) Because come one, it doesn't get prettier as that: $proc.print(“one\ntwo\nthree\nfour”).then: { $proc.close-stdin }; 06:52
AlexDaniel nine: I actually prefer the whenever version, but yeah, it's pretty cool 06:53
although it probably works a little bit differently 06:54
nine: if you get an exception during $proc.close-stdin, what's going to happen? :P
nine Unless someone catches it, it'll explode? 06:55
AlexDaniel m: Promise.in(1).then({ die ‘foo’ }); sleep 3 06:57
camelia ( no output )
AlexDaniel m: Promise.in(1).then({ say ‘foo’; die ‘foo’; say ‘bar’ }); sleep 3
camelia foo
AlexDaniel … where does it go?
nine: I was expecting an explosion that you can't really catch outside, but I really don't know now. 06:58
not a problem with whenever :) 06:59
nine m: Promise.in(1).then({ say ‘foo’; die ‘foo’; say ‘bar’ }).result; sleep 3 07:08
camelia foo
Tried to get the result of a broken Promise
in block <unit> at <tmp> line 1

Original exception:
foo
in block at <tmp> line 1
nine .then also returns a Promise
AlexDaniel nine: so yes, whenever version is actually prettier :P
Zoffix [Coke]: Zoffix: going to step away for a bit. finding myself getting very frustrated, would rather not have that impact the conversation. Will get back to you. 10:39
[Coke]: so I'm still waiting for you to get back to me. When I started prepping 6.d you were the loudest telling me I can't do it. So I yielded to your expertise and stopped doing it and now you just disappear again. Feels a bit unfair. 10:40
Zoffix goes off the grid for a couple of weeks 11:44
nine Zoffix: enjoy :) 11:53
jdv79 Zoffix: going to some far flung island with no electricity? 13:11
in any case have fun! 13:12
timotimo have fun, Zoffix :) 13:13
dogbert17 Zoffix: play through Prey while relaxing 13:14
lizmat: should I add tests for RT #130366 or have you already done that? 13:17
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130366
nine Looks like all the hotels recommended for TPC are sold out 13:43
llfourn yikes! I didn't book yet. 13:48
llfourn manages to book something 14:56
lizmat dogbert17: judging by the fact that "ack 130366 t/spec" comes up empty, I'd say there are no tests for it yet 16:19
[Coke] more on the malformed utf8 error: github.com/perl6/doc/issues/1414 17:04
Zoffix: again, I never told you you couldn't do it. 17:07
So I feel your categorization is also a bit unfair. 17:08
I am not the blocker here. I'm just voting no based on the last proposal I saw.
regarding the utf8 error: I know other people aren't seeing it, but perhaps that diff might point to some hint about what's causing the issue. 17:11
Zoffix: if there are any particular questions you'd like me to try to answer, I'm happy to try that again. 17:17
Zoffix [Coke]: the last question was, you saying "[Coke] Determine the "right" way to manage the roast spec" and me asking "what do you mean by manage?" 17:24
Do you mean the review process for 6.d inclusion?
And the other, I guess, is what's missing in github.com/perl6/6.d-prep/tree/master/TODO ? To me, it doesn't at all look like an impossible task for X number of weeks 17:27
As for Naming Issue Burnout, someone mentioned as the reason for 6.d being on Diwalli as impossible: the way I envison this is we present organized community feedback and leading reasoning for name extension to TimToady a month or so prior to release and he makes an executive decision whether and how to extend the language name to include an additional word that can be used standalone. Boom. Done. What's 17:30
there to burn out about and why does that impair 6.d release dates?
Dunno. This shit's look easy to me, but people keep saying it ain't. I don't know whom to believe my perception or others' :)
m: say "{Date.new("2017-10-19"} weeks until Diwali" 17:31
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')'
at <tmp>:1
------> 3say "{Date.new("2017-10-19"7⏏5} weeks until Diwali"
Zoffix m: say "{(Date.new("2017-10-19") - Date.now) / 7} weeks until Diwali" 17:32
camelia No such method 'now' for invocant of type 'Date'. Did you mean any of these?
new
not

in block <unit> at <tmp> line 1
Zoffix m: say "{(Date.new("2017-10-19") - Date.today) / 7} weeks until Diwali"
camelia 13.285714 weeks until Diwali
Zoffix Releasing a Diwali release widely off the actual Diwali date is just... weird. 17:34
geekosaur code names are code names 17:37
Zoffix re-disappears, but will read the answers in the chatlog upon return 17:39
perlpilot huh ... diwali will be released on my daughter's birthday. 18:03
(maybe :-)
[Coke] another reason not to release on diwali. we do it once, it's the punchline to a long running joke. we do it twice, we're setting a precedent. 19:49
geekosaur it was also rushed in unfortunate ways to make that punchline. that's another precedent it's best not to set imo 20:00
lucasb Can I add some 6.d suggestions as issues in that repo? 20:18
(or maybe it's better to start a thread in the mailing list...) 20:21
[Coke] I think it's fine to add suggestions to the repo 20:44
Zoffix Then let's not call it Diwali. Let's use something date-neutral. 20:52
lucasb: that's the purpose of the repo. To keep everything in one place. Please add everything to the repo instead of mailing lists some people might not be subscribed to 20:54
(mailing list are so '80s)
lucasb feels old
ok, thanks. will add :) 20:55
Zoffix
.oO( 6.d "Drunk Druid" )
20:57
.oO( 6.d "Dreamy Dragon" )
20:58
.oO( 6.d "Dreamy Dusky-Wing" )
20:59
^ actual butterfly name
butterfly.ucdavis.edu/butterfly/Erynnis/icelus
"Dotted Blue" "Dainty Sulphur" other ones. Yeah, I could totally get behind using butterfly names that start with release letter as release codewords 21:01
"Dismorphiinae" 21:02
Oh... 6.d "Dismorphia" a genus of butterflies that actually look nice for a change: en.wikipedia.org/wiki/Dismorphia 21:03
timotimo That was also the end of the first line in the file. (I.e. the first line of the JSON file contained just the opening bracket). 21:09
...
i didn't mean to paste, i wanted the context menu ...
living with a broken trackpad is terrible
Geth 6.d-prep: 0405d453ba | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
Add proposal to base release name...

  ...on a butterfly genus instead of some holiday
21:11
lucasb m: say my num $ 21:13
camelia NaN
lucasb m: say quietly +num
camelia 0
lucasb ^^ I was going to create a issue in 6.d-prep to discuss to what value native num should be initialized
Zoffix NaN 21:14
Do we even have tests for this?
As in, it don't got to be 6.d
lucasb well, I saw that as I change in the language, but maybe it's not like that... :) 21:15
*as a change in the language...
Zoffix m: say +NaN 21:16
camelia NaN
Zoffix to me looks just a simple bug report
Oh, woop 21:17
Was wondering why there's no warning :)
?m: say +Num
m: say +Num
camelia Use of uninitialized value of type Num in numeric context
in block <unit> at <tmp> line 1
0
Zoffix lucasb: actually, I don't think there's any bugs. The typeobject gets coerced to zero in all cases. And default of `num` is NaN, since it can't be the type object 21:18
Geth roast: dogbert17++ created pull request #285:
Add tests for RT #130366
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130366
Zoffix m: say +Proc::Async
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling prefix:<+>(Proc::Async) will never work with proto signature ($?)
at <tmp>:1
------> 3say 7⏏5+Proc::Async
Zoffix reaaally
Works fine locally 21:19
m: say +IO::Socket
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling prefix:<+>(IO::Socket) will never work with proto signature ($?)
at <tmp>:1
------> 3say 7⏏5+IO::Socket
Zoffix m: say +Date
camelia Use of uninitialized value of type Date in numeric context
in block <unit> at <tmp> line 1
0
Zoffix there
dogbert17 Zoffix: are you still off the grid ? 21:20
Zoffix Oh right 21:21
dogbert17 clickbaits lizmat with github.com/perl6/roast/pull/285
lucasb m: class C {}; say quietly +C 21:28
camelia 0
lucasb ok, this is new to me. I didn't know typeobjects numified to zero. (I was expecting an error) 21:29
Geth 6.d-prep: 0b45a1f143 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
Add extended language topic TODO
Zoffix lucasb: now THAT is a 6.d-worthy issue :) 21:30
I'm fully +2 on abandoning Perl 5's semantics and just erroring out on typeobject's since many ops fail on them instead of treating them as zeros
Zoffix re-degrids self
AlexDaniel “Dismorphia” is an awesome idea 21:36
Geth 6.d-prep: 6512fc5e80 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
Move naming section to bottom

The rest of stuff is far more important
21:40
ugexe m: sub foo(uint8 $x) { $x }; say foo(-1).perl; my uint8 $x = -1; say $x.perl; # is this expected? 21:54
camelia -1
255
AlexDaniel ugexe: well, I'm surprised that the last one gives 255 XD 21:56
ugexe: but this is a long-standing bug actually…
ugexe m: my uint32 $x = -1; say $x.perl; # i assume its giving their max 21:57
camelia 4294967295
AlexDaniel this may be related: RT #131149
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131149
AlexDaniel maybe this also RT #124294 21:58
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124294
AlexDaniel or this? RT #130267?
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130267
AlexDaniel m: my uint8 $x = 255; print $x, " -> "; $x = $x + 1; say $x; 21:59
camelia 255 -> 0
AlexDaniel c: 2017.01 my uint8 $x = 255; print $x, " -> "; $x = $x + 1; say $x; 22:00
committable6 AlexDaniel, ¦2017.01: «255 -> 0»
AlexDaniel c: 2016.12 my uint8 $x = 255; print $x, " -> "; $x = $x + 1; say $x;
committable6 AlexDaniel, ¦2016.12: «255 -> 0»
AlexDaniel ah, it was this one 22:01
c: 2017.01,HEAD my uint8 $x = 255; print $x, " -> "; $x++; say $x;
committable6 AlexDaniel, ¦2017.01: «255 -> 256» ¦HEAD(91be8bc): «255 -> 0»
AlexDaniel ugexe: anyway, no, this is not expected. Feel free to submit a new ticket or comment on any existing one.
jnthn uint8 rolling over to 0 looks right to me, or is that not the thing being considered a problem? 22:04
Oh, uint8 as an argument doing crazy things
Yeah, that's wrong
I'm sure there's a ticket about that
AlexDaniel jnthn: no-no that's not a problem for sure. I think I just wanted to point out that bugs like this are pretty much … “expected” in some sense 22:05
“known” is probably a better word, even though we don't have a full list of problems with uints yet 22:06
jnthn Yeah, they need some more work 22:07
Geth rakudo/nom: 8e960522e5 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
Fix typo in comment
22:08
ugexe m: sub foo(UInt $x) { $x }; say foo(-1); # expected (for brevity) 22:13
camelia Constraint type check failed in binding to parameter '$x'; expected UInt but got Int (-1)
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
jnthn MoarVM doesn't presently distinguish int/unit in parameters/arguments; dealing with that would solve quite a few issues, I suspect. 22:15
samcv .tell AlexDaniel if .uniprop('Extend') { return " " ~ $_ } elsif .uniprop('Prepend') { return $_ ~ " " } 22:37
yoleaux samcv: I'll pass your message to AlexDaniel.
AlexDaniel .
yoleaux 22:37Z <samcv> AlexDaniel: if .uniprop('Extend') { return " " ~ $_ } elsif .uniprop('Prepend') { return $_ ~ " " }
samcv you can also use nbsp if you want to be even more *proper* 22:38
which is what unicode recommends to use to attach things to
AlexDaniel u: { .uniprop('Extend') and .uniprop('Prepend') }
samcv not gonna be both
"\c[NBSP]" works since months ago when i added name aliases fyi
unicodable6 AlexDaniel, U+0000 <control-0000> [Cc] (control character) 22:39
AlexDaniel, U+0001 <control-0001> [Cc] (control character)
samcv ah cause it returns Other
just do .uniprop('GCB') eq 'Extend' 22:40
or .uniprop('GCB') eq 'Prepend'
my $gcb = .uniprop('GCB'); if $gcb eq 'Extend' { return $_ ~ "\c[NBSP]" } elsif $gcb eq 'Prepend' { return "\c[NBSP]" ~ $_ } 22:41
that is what i'd do and what unicode recommends 22:42
though someday we may have INVISIBLE CHARACTER which you can attach to it but for now NBSP is what is recommended you attach things to
AlexDaniel, also you can use $gcb eq 'Control' for control characters 22:44
and reduce the calls to .uniprop inside sanify
AlexDaniel ooh 22:45
samcv AlexDaniel, does that make sense? any other Q?
AlexDaniel samcv: yes, thank you very much! 22:46
samcv: no, not yet at least!
samcv ok :P 22:48
well you know what you need to do at least :P
AlexDaniel m: “\c[ZWJ]”.ord.base(16).say 22:54
camelia 200D
AlexDaniel unidump: u+200D 22:55
unicodable6 AlexDaniel, gist.github.com/9d5356b78baa846903...e9b44fd101
samcv ZWJ has GCB ZWJ
AlexDaniel yeah, I see
samcv: so I should surround it from both sides with NBSP, no? 22:56
samcv uh
it's a nonprinting character though :P
unlike the other ones we were talking about
on the left only is needed 22:57
AlexDaniel /o\
samcv so "\c[NBSP]" ~ "\c[ZWJ]"
AlexDaniel u: zero width joiner
unicodable6 AlexDaniel, U+200C ZERO WIDTH NON-JOINER [Cf] (‌)
AlexDaniel, U+200D ZERO WIDTH JOINER [Cf] (‍)
samcv also do the same with ZWNJ 22:58
AlexDaniel sooo it should not attempt to print it at all, right?
samcv why not
you seem to want to so go ahead :P
just put nbsp on the left on ZWNJ and ZWJ
then the other two i mentioned and i think that's all you need
AlexDaniel ZWNJ is Extend though 22:59
m: say “\c[ZWNJ]”.uniprop(‘GCB’).say
camelia Extend
True
AlexDaniel m: say “\c[ZWNJ]”.uniprop(‘GCB’)
camelia Extend
AlexDaniel m: say “\c[ZWJ]”.uniprop(‘GCB’)
samcv wel same thing i said anyway
camelia ZWJ
samcv that you put NBSP on the left
AlexDaniel samcv: I'm just so happy that you exist…
samcv hah
no problem
i'm glad i exist too :P 23:00
AlexDaniel samcv: uh, if $gcb eq 'Extend' { return "\c[NBSP]" ~ $_ } then? Not other way round? 23:03
u: { .uniprop(‘GCD’) eq ‘E_Modifier’ } 23:12
unicodable6 AlexDaniel, Found nothing!
AlexDaniel u: { .uniprop(‘GCB’) eq ‘E_Modifier’ }
unicodable6 AlexDaniel, U+1F3FB EMOJI MODIFIER FITZPATRICK TYPE-1-2 [Sk] (????)
AlexDaniel, U+1F3FC EMOJI MODIFIER FITZPATRICK TYPE-3 [Sk] (????)
AlexDaniel, 5 characters in total: gist.github.com/bc20cc5c426607ee21...da636d1c51
AlexDaniel u: { .uniprop(‘GCB’) eq ‘CR’ } 23:13
u: { .uniprop(‘GCB’) eq ‘LF’ }
unicodable6 AlexDaniel, U+000D <control-000D> [Cc] (control character)
AlexDaniel, U+000A <control-000A> [Cc] (control character) 23:14
AlexDaniel .u U+000D
yoleaux U+000D CARRIAGE RETURN (CR) [Cc] (␍)
AlexDaniel yoleaux: that's not exactly that character :S
samcv who wants to name 6.d Dingy Purplewing? 23:26
:P