01:12
BinGOs_ joined
01:23
ilmari joined,
JimmyZ joined
01:26
BinGOs joined
01:28
tbrowder joined
02:46
dalek joined,
JimmyZ joined
02:51
ilbot3 joined
02:54
tbrowder joined
03:32
stmuk_ joined
07:23
domidumont joined
07:28
domidumont joined
|
|||
dalek | arVM/even-moar-jit: 1a17d75 | brrt++ | src/jit/ (3 files): PHI node resolution just works, apparently In a surprise plot twist, merging live ranges seems to just work, even though it includes destructive merging of linked lists. |
07:57 | |
yoleaux2 | 8 Jan 2017 21:04Z <AlexDaniel> dalek: We like dogfood. Change the webhook to geth.perl6.party/?chan=#perl6-dev (or #moarvm for moarvm), Content-type: application/json and "Send me everything." | ||
08:17
zakharyas joined
08:22
brrt joined
|
|||
brrt | good * #moarvm | 08:22 | |
samcv | .ask jnthn do you think having defined synthetic graphemes for emoji ZWJ sequences would be feasible? would be good to be able to do "\c[zwj name here]" or do .uniname for zwj | 09:25 | |
yoleaux2 | samcv: I'll pass your message to jnthn. | ||
samcv | "\c[man student: medium-light skin tone]" for example | 09:26 | |
brrt | ohai samcv | 09:56 | |
contrary to my surprise PHI node handling Just Worked | |||
this despite depending on a destructive merge algorithm | |||
samcv | brrt, PHI? | 10:11 | |
brrt | it's terminology for 'special' fake nodes in a single-static-assignment graph to allow a value to 'derive' from multiple definitions | 10:12 | |
e.g. in the following code: | |||
my $a; if (rand() > 0.5) { $a = 5; } else { $a = 42; } say $a; | 10:13 | ||
the value of $a could come from the first block of the IF or the second | |||
in SSA form, a value is defined only once | |||
so to allow for the different flow control possibilities, after the if/else blocks, $a is 'replaced' by a value with a PHI node that includes both | 10:14 | ||
better to put it this way | |||
the code below is transformed to: | |||
my ($a1, $a2, $a3); if (rand() < 0.5) { $a1 = 5; } else { $a2 = 42; } $a3 = PHI($a1,$a2); say $a3 | 10:15 | ||
the PHI function/node 'resolves' to whichever of $a1, $a2 that was actually taken | 10:16 | ||
hence, it's virtual | |||
what it means is that - depending on the implementation an requirements - the register allocator might need to insert a copy instruction | |||
otherwise, it needs to make sure that both $a1 and $a2 are assigned to the same register (or storage location) | 10:17 | ||
makes sense? | 10:18 | ||
jnthn | oh wtf, MSVC doesn't support 0b10101011 notation in C? :/ | 11:02 | |
yoleaux2 | 09:25Z <samcv> jnthn: do you think having defined synthetic graphemes for emoji ZWJ sequences would be feasible? would be good to be able to do "\c[zwj name here]" or do .uniname for zwj | ||
samcv | morning jnthn | ||
jnthn | morning o/ | ||
Well, nearly afternoon here by now :) | |||
nwc10 | good *, jnthn | 11:09 | |
dalek | arVM: 5441e8f | jnthn++ | src/strings/utf8_c8.c: Fix MSVC build. It doesn't support the 0b syntax for binary numbers. |
11:17 | |
jnthn | That was not the problem I expected when looking into porting $dayjob code to run on Windows too :P | 11:18 | |
samcv | jnthn, i'm about to go to bed. any idea on what i said | 11:25 | |
<yoleaux2> 09:25Z <samcv> jnthn: do you think having defined synthetic graphemes for emoji ZWJ sequences would be feasible? would be good to be able to do "\c[zwj name here]" or do .uniname for zwj | |||
jnthn | samcv: I'm not sure about predefining them. I think the .uniname case is easy enough to generate on-demand (and cache). The other direction is more interesting... Does the Unicode spec define an algorithm for generating/parsing such names? | 11:27 | |
samcv | uhm | 11:28 | |
well they have names | |||
in the emoji zwj file | |||
jnthn | They gave names to sequences of codepoints? | ||
samcv | yes | ||
jnthn | o.O | ||
samcv | aye | ||
jnthn | Why didn't they just define new codepoints argh :P | ||
samcv | uhm cause then there'd be like so many | ||
jnthn | Oh, it's a combinatoric thing? :) | ||
samcv | yeah | 11:29 | |
www.unicode.org/Public/emoji/5.0//e...uences.txt | |||
also uhm | |||
there's more names too. not in the zwj file of multiple codepoints | |||
jnthn | heh | ||
samcv | www.unicode.org/Public/emoji/5.0/em...uences.txt | 11:30 | |
they don't have ZWJ in them tho | |||
but they are still sequences | |||
gems such as Mrs. Claus: light skin tone | |||
what else would we do without such an emoji? | |||
brrt | MSVCā :-( | 11:31 | |
jnthn | Not get our Christmas pressies, I guess... :P | ||
I'm not keen on us pre-generating synthetics for these, but I'm fine with us supporting this stuff...somehow. Is uniname and \c[...] an OK interface for this, or will we risk conflicts? | |||
samcv | no conflicts | 11:32 | |
i'm pretty sure. also emoji are all defined with lowercase names | |||
jnthn | I guess if we are asked for the name of a synthetic, then we can go and locate the appropraite name in the table and cache the MVMString * of it in the synthetic | 11:33 | |
If it exists | |||
Oh but | |||
This won't work out | |||
uniname/uninames is defined as a codepoint-level operation | |||
So it works at NFC level, not char level | |||
samcv | at least now it is :P | ||
heh | |||
jnthn | Yes, but we've explicitly documented it that way. :) | ||
samcv | for perl 6? or what? | 11:34 | |
mvm? | |||
jnthn | Yes. | ||
For Pelr 6 | |||
*Perl 6 | |||
samcv | well that is somewhat shortsighted though cause in 100 years | ||
there will probably be more than just emoji with their own names | |||
for multi codepoints | |||
heh | |||
jnthn | I'm not saying we shouldn't have a character names mechanism, just that uninames can't do both at once. | 11:35 | |
samcv | uhm | ||
but.... | |||
lizmat | unichar() anyone :-) | ||
samcv | uninames doesn't go by codepoint though | ||
jnthn | We've pretty much reserved the "uni" for codepoint level things | ||
It does | |||
samcv | it goes by graphemes does it not? | ||
hm | |||
m: "šāāļø".uninames.say | 11:36 | ||
camelia | rakudo-moar fbbe44: OUTPUTĀ«(INFORMATION DESK PERSON ZERO WIDTH JOINER FEMALE SIGN VARIATION SELECTOR-16)ā¤Ā» | ||
samcv | ah so it does | ||
jnthn | Yeah | ||
samcv | m: "šāāļø".chars.say | ||
camelia | rakudo-moar fbbe44: OUTPUTĀ«1ā¤Ā» | ||
samcv | ye | ||
jnthn | Which is useful. | ||
It just depends what you want :) | |||
I kinda like that uninmaes is codepoint level though...it goes nicely together with the Uni type being codepoint level | |||
samcv | yeah true | ||
but also limiting | 11:37 | ||
codenames would be more precise | |||
jnthn | Well, nothing stops us introducing charnames to mean the other thing. | ||
samcv | true | ||
jnthn | Modulo filtering it through TimToady++ for a name check :) | 11:38 | |
samcv | heh | ||
jnthn | Interestingly, \c[...] for the other direction doesn't have this problem, it seems :) | ||
samcv | se we could easily add that in? | ||
jnthn | Though I do very slightly fear the Unicode folks introducing conflicts in the future. | ||
samcv | of names? | ||
well we already have conflicts :P | |||
jnthn | Between codepoint names and these sequence names, yes. | 11:39 | |
Yes, I know, that's why I'm rather keen for us to avoid more of them :P | |||
samcv | since we use unicode 1 and unicode names | ||
which is sad | |||
but i don't see unicode introducing conflicts between names | |||
since they explicitly do not do that | |||
which is why unicode 1 names are shitty | |||
jnthn | OK, if they've said they won't... :) | 11:40 | |
samcv | not sure about emoji though. but otherwise | ||
they *probably* won't with emoji names either | |||
jnthn | If we're not sure, we could always pick \g[...] (for grapheme) or something | ||
samcv | that seems like just it would totally go against everything they stand for | ||
i will do more research | 11:41 | ||
or maybe email them | |||
jnthn | Or make \c[...] do codepoints and sequences, and then \u[...] is explicitly codepoints and \g[...] explicitly grapheme sequences or something... | ||
samcv | if they don't specify it. at least to get their intention | ||
jnthn | *nod* | ||
Yeah, sounds good | |||
samcv | ok sleep time :-D | 11:43 | |
lizmat | good night, samcv | 11:44 | |
brrt | good night yes | 11:46 | |
note to self | |||
usually live ranges expire just prior to their last use (which allows registers to be reused, usually useful) | 11:47 | ||
however, with ARGLIST references, that isn't really what you want, because we want to be able to 'push' register assignment 'backwards' | 11:48 | ||
ohā¦ wait a minute | |||
that is not going to be safe | |||
because it may be that if i push a register requirement 'backwards' in time, that i inadvertantly create a conflic with a past live range that has already expired | 11:49 | ||
so either i assign a register requirement earlier. or i insert a copy after | |||
hmmmpf | |||
brrt must consider that for a bit | |||
jnthn | 'night, samcv | 11:52 | |
13:03
brrt joined
14:13
brrt joined
14:21
Geth joined
14:30
Geth joined
14:34
Geth joined
14:37
Geth joined
14:38
Geth joined
14:40
Geth joined
15:06
FROGGS joined
16:20
geekosaur joined
|
|||
dalek | arVM/even-moar-jit: fb2f6e1 | brrt++ | docs/jit/plan.org: Update plan ARGLIST handling needs some planning before it will work properly. |
16:35 | |
17:35
stmuk joined
17:36
FROGGS joined
17:39
pyrimidine joined
17:41
zakharyas joined
|
|||
TimToady | for the record, I'm fine with ".charnames" | 18:18 | |
yoleaux2 | 2 Jan 2017 15:34Z <notviki> TimToady: is Pod supposed to allow arbitrary code to be run? For example, right now I can stuff a BEGIN block into table :config and run anything I want. Is that the idea or should it be just quoted text? RT#130477 | ||
6 Jan 2017 18:45Z <MasterDuke> TimToady: what do you think about github.com/rakudo/rakudo/pull/990? irclog.perlgeek.de/perl6-dev/2017-...i_13865466 and irclog.perlgeek.de/perl6-dev/2017-...i_13871168 for some background | |||
notviki | hehe | ||
Any time TimToady says something, he gets bot attacked :) | 18:19 | ||
TimToady | that'll teach me not to take vacations... | ||
the question with Pod is whether the surprise factor rises to the level of a security issue, about which I have no opinion yet | 18:22 | ||
it kinda depends on how the dox are actually distributed to the end user, who might expect a degree of staticness that Pod doesn't have | 18:24 | ||
if we translate to html and give that to users, that seems fine | |||
18:25
domidumont joined
|
|||
TimToady | if we expect users to run arbitrary Pod from across the network, that's a bit more problematical | 18:25 | |
jnthn | Perhaps the issue is that users won't really thinking of Pod as something they run, but rather as something that is rendered for them to view. | 18:40 | |
That is, they expect Pod is operated on, not operating. | |||
*be thinking | 18:41 | ||
And yes, there's a ton of precedent for documents that run stuff. doc.perl6.org runs JavaScript, PostScript is a Turing Complete language. | 18:43 | ||
TimToady | that's what I was saying | ||
it's not that it's bad, but that it can be used badly :) | |||
jnthn | Aye | ||
19:19
pyrimidi_ joined
19:32
pyrimidine joined
19:52
pyrimidine joined
20:02
pyrimidine joined
20:21
pyrimidine joined
22:36
pyrimidine joined
23:05
pyrimidine joined
|