Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-01-09

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:12 BinGOs_ joined #moarvm
01:23 ilmari joined #moarvm
01:23 JimmyZ joined #moarvm
01:26 BinGOs joined #moarvm
01:28 tbrowder joined #moarvm
02:46 dalek joined #moarvm
02:46 JimmyZ joined #moarvm
02:51 ilbot3 joined #moarvm
02:51 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:54 tbrowder joined #moarvm
03:32 stmuk_ joined #moarvm
07:23 domidumont joined #moarvm
07:28 domidumont joined #moarvm
07:57 dalek MoarVM/even-moar-jit: 1a17d75 | brrt++ | src/jit/ (3 files):
07:57 dalek MoarVM/even-moar-jit: PHI node resolution just works, apparently
07:57 dalek MoarVM/even-moar-jit:
07:57 dalek MoarVM/even-moar-jit: In a surprise plot twist, merging live ranges seems to just work, even
07:57 dalek MoarVM/even-moar-jit: 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 http://geth.perl6.party/?chan=#perl6-dev (or #moarvm for moarvm), Content-type: application/json and "Send me everything."
07:57 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/1a17d75286
08:17 zakharyas joined #moarvm
08:22 brrt joined #moarvm
08:22 brrt good * #moarvm
09:25 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.
09:26 samcv "\c[man student: medium-light skin tone]" for example
09:56 brrt ohai samcv
09:56 brrt contrary to my surprise PHI node handling Just Worked
09:56 brrt this despite depending on a destructive merge algorithm
10:11 samcv brrt, PHI?
10:12 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 brrt e.g. in the following code:
10:13 brrt my $a; if (rand() > 0.5) { $a = 5; } else { $a = 42; } say $a;
10:13 brrt the value of $a could come from the first block of the IF or the second
10:13 brrt in SSA form, a value is defined only once
10:14 brrt 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 brrt better to put it this way
10:14 brrt the code below is transformed to:
10:15 brrt my ($a1, $a2, $a3); if (rand() < 0.5) { $a1 = 5; } else { $a2 = 42; } $a3 = PHI($a1,$a2); say $a3
10:16 brrt the PHI function/node 'resolves' to whichever of $a1, $a2 that was actually taken
10:16 brrt hence, it's virtual
10:16 brrt what it means is that - depending on the implementation an requirements - the register allocator might need to insert a copy instruction
10:17 brrt otherwise, it needs to make sure that both $a1 and $a2 are assigned to the same register (or storage location)
10:18 brrt makes sense?
11:02 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
11:02 samcv morning jnthn
11:02 jnthn morning o/
11:02 jnthn Well, nearly afternoon here by now :)
11:09 nwc10 good *, jnthn
11:17 dalek MoarVM: 5441e8f | jnthn++ | src/strings/utf8_c8.c:
11:17 dalek MoarVM: Fix MSVC build.
11:17 dalek MoarVM:
11:17 dalek MoarVM: It doesn't support the 0b syntax for binary numbers.
11:17 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/5441e8f2c8
11:18 jnthn That was not the problem I expected when looking into porting $dayjob code to run on Windows too :P
11:25 samcv jnthn, i'm about to go to bed. any idea on what i said
11:25 samcv <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
11:27 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:28 samcv uhm
11:28 samcv well they have names
11:28 samcv in the emoji zwj file
11:28 jnthn They gave names to sequences of codepoints?
11:28 samcv yes
11:28 jnthn o.O
11:28 samcv aye
11:28 jnthn Why didn't they just define new codepoints argh :P
11:28 samcv uhm cause then there'd be like so many
11:28 jnthn Oh, it's a combinatoric thing? :)
11:29 samcv yeah
11:29 samcv http://www.unicode.org/Public/emoji/5.0//emoji-zwj-sequences.txt
11:29 samcv also uhm
11:29 samcv there's more names too. not in the zwj file of multiple codepoints
11:29 jnthn heh
11:30 samcv http://www.unicode.org/Public/emoji/5.0/emoji-sequences.txt
11:30 samcv they don't have ZWJ in them tho
11:30 samcv but they are still sequences
11:30 samcv gems such as Mrs. Claus: light skin tone
11:30 samcv what else would we do without such an emoji?
11:31 brrt MSVC— :-(
11:31 jnthn Not get our Christmas pressies, I guess... :P
11:31 jnthn 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?
11:32 samcv no conflicts
11:32 samcv i'm pretty sure. also emoji are all defined with lowercase names
11:33 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 jnthn If it exists
11:33 jnthn Oh but
11:33 jnthn This won't work out
11:33 jnthn uniname/uninames is defined as a codepoint-level operation
11:33 jnthn So it works at NFC level, not char level
11:33 samcv at least now it is :P
11:33 samcv heh
11:33 jnthn Yes, but we've explicitly documented it that way. :)
11:34 samcv for perl 6? or what?
11:34 samcv mvm?
11:34 jnthn Yes.
11:34 jnthn For Pelr 6
11:34 jnthn *Perl 6
11:34 samcv well that is somewhat shortsighted though cause in 100 years
11:34 samcv there will probably be more than just emoji with their own names
11:34 samcv for multi codepoints
11:34 samcv heh
11:35 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
11:35 samcv but....
11:35 lizmat unichar() anyone  :-)
11:35 samcv uninames doesn't go by codepoint though
11:35 jnthn We've pretty much reserved the "uni" for codepoint level things
11:35 jnthn It does
11:35 samcv it goes by graphemes does it not?
11:35 samcv hm
11:36 samcv m: "????‍♀️".uninames.say
11:36 camelia rakudo-moar fbbe44: OUTPUT«(INFORMATION DESK PERSON ZERO WIDTH JOINER FEMALE SIGN VARIATION SELECTOR-16)␤»
11:36 samcv ah so it does
11:36 jnthn Yeah
11:36 samcv m: "????‍♀️".chars.say
11:36 camelia rakudo-moar fbbe44: OUTPUT«1␤»
11:36 samcv ye
11:36 jnthn Which is useful.
11:36 jnthn It just depends what you want :)
11:36 jnthn I kinda like that uninmaes is codepoint level though...it goes nicely together with the Uni type being codepoint level
11:36 samcv yeah true
11:37 samcv but also limiting
11:37 samcv codenames would be more precise
11:37 jnthn Well, nothing stops us introducing charnames to mean the other thing.
11:37 samcv true
11:38 jnthn Modulo filtering it through TimToady++ for a name check :)
11:38 samcv heh
11:38 jnthn Interestingly, \c[...] for the other direction doesn't have this problem, it seems :)
11:38 samcv se we could easily add that in?
11:38 jnthn Though I do very slightly fear the Unicode folks introducing conflicts in the future.
11:38 samcv of names?
11:38 samcv well we already have conflicts :P
11:39 jnthn Between codepoint names and these sequence names, yes.
11:39 jnthn Yes, I know, that's why I'm rather keen for us to avoid more of them :P
11:39 samcv since we use unicode 1 and unicode names
11:39 samcv which is sad
11:39 samcv but i don't see unicode introducing conflicts between names
11:39 samcv since they explicitly do not do that
11:39 samcv which is why unicode 1 names are shitty
11:40 jnthn OK, if they've said they won't... :)
11:40 samcv not sure about emoji though. but otherwise
11:40 samcv they *probably* won't with emoji names either
11:40 jnthn If we're not sure, we could always pick \g[...] (for grapheme) or something
11:40 samcv that seems like just it would totally go against everything they stand for
11:41 samcv i will do more research
11:41 samcv or maybe email them
11:41 jnthn Or make \c[...] do codepoints and sequences, and then \u[...] is explicitly codepoints and \g[...] explicitly grapheme sequences or something...
11:41 samcv if they don't specify it. at least to get their intention
11:41 jnthn *nod*
11:41 jnthn Yeah, sounds good
11:43 samcv ok sleep time :-D
11:44 lizmat good night, samcv
11:46 brrt good night yes
11:46 brrt note to self
11:47 brrt usually live ranges expire just prior to their last use (which allows registers to be reused, usually useful)
11:48 brrt however, with ARGLIST references, that isn't really what you want, because we want to be able to 'push' register assignment 'backwards'
11:48 brrt oh… wait a minute
11:48 brrt that is not going to be safe
11:49 brrt 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 brrt so either i assign a register requirement earlier. or i insert a copy after
11:49 brrt hmmmpf
11:49 * brrt must consider that for a bit
11:52 jnthn 'night, samcv
13:03 brrt joined #moarvm
14:13 brrt joined #moarvm
14:21 Geth joined #moarvm
14:30 Geth joined #moarvm
14:34 Geth joined #moarvm
14:37 Geth joined #moarvm
14:38 Geth joined #moarvm
14:40 Geth joined #moarvm
15:06 FROGGS joined #moarvm
16:20 geekosaur joined #moarvm
16:35 dalek MoarVM/even-moar-jit: fb2f6e1 | brrt++ | docs/jit/plan.org:
16:35 dalek MoarVM/even-moar-jit: Update plan
16:35 dalek MoarVM/even-moar-jit:
16:35 dalek MoarVM/even-moar-jit: ARGLIST handling needs some planning before it will work properly.
16:35 dalek MoarVM/even-moar-jit: review: https://github.com/MoarVM/MoarVM/commit/fb2f6e1a35
17:35 stmuk joined #moarvm
17:36 FROGGS joined #moarvm
17:39 pyrimidine joined #moarvm
17:41 zakharyas joined #moarvm
18:18 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
18:18 yoleaux2 6 Jan 2017 18:45Z <MasterDuke> TimToady: what do you think about https://github.com/rakudo/rakudo/pull/990? https://irclog.perlgeek.de/perl6-dev/2017-01-06#i_13865466 and https://irclog.perlgeek.de/perl6-dev/2017-01-06#i_13871168 for some background
18:18 notviki hehe
18:19 notviki Any time TimToady says something, he gets bot attacked :)
18:19 TimToady that'll teach me not to take vacations...
18:22 TimToady 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:24 TimToady 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 TimToady if we translate to html and give that to users, that seems fine
18:25 domidumont joined #moarvm
18:25 TimToady if we expect users to run arbitrary Pod from across the network, that's a bit more problematical
18:40 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 jnthn That is, they expect Pod is operated on, not operating.
18:41 jnthn *be thinking
18:43 jnthn 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
18:43 TimToady it's not that it's bad, but that it can be used badly :)
18:43 jnthn Aye
19:19 pyrimidi_ joined #moarvm
19:32 pyrimidine joined #moarvm
19:52 pyrimidine joined #moarvm
20:02 pyrimidine joined #moarvm
20:21 pyrimidine joined #moarvm
22:36 pyrimidine joined #moarvm
23:05 pyrimidine joined #moarvm

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary