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 |