|
00:45
jnap joined
01:09
raiph joined
01:54
jnap joined
02:04
colomon joined
02:23
jnap joined
02:47
jnap joined
02:51
benabik joined
03:03
jnap joined
05:30
jnap joined
05:47
jnap joined
|
|||
| cxreg | is moar's GC a m&s model? | 06:39 | |
| i had a long-standing question with parrot's GC that despite all the times it was rewritten, was never addressed. which is, making m&s gc cow-friendly | 06:40 | ||
| ruby added a bitmap look-aside for gc in 2.0, very similar to what i'd hoped to see in parrot | 06:42 | ||
| patshaughnessy.net/2012/3/23/why-yo...n-ruby-2-0 | |||
|
06:48
jnap joined
|
|||
| TimToady | jnthn.net/papers/2013-bs-secret-life-of-gc.pdf | 07:04 | |
|
07:49
jnap joined
08:49
jnap joined
|
|||
| FROGGS | about the uniode issues... | 09:26 | |
| the problem is that we currently can't handle unions, like L, which matches when one of Lu|Ll|Lt|Lm|Lo is true | |||
| so I was thinking of making a bitmask out of Lu|Ll|Lt|Lm|Lo, but unfortunatly these are enums (1..5) whih makes that impossible | |||
| and we have only three bytes available for storing that information | |||
| my goal for today is to pack these unions (L = Ll|Lt|Lu, LC = Ll|Lm|Lo|Lt|Lu) as a list of ranges in these three bytes | |||
| diakopter | FROGGS: u still there? | 09:29 | |
| FROGGS | diakopter: yes | ||
| diakopter | why do you say we have only 3 bytes for that | 09:31 | |
| FROGGS | because it is a MVMint32, and the first byte is for the property code | 09:32 | |
| diakopter | eh | ||
| diakopter is confused | 09:33 | ||
| where do you see these 3/4 bytes | 09:34 | ||
| FROGGS | here, for example: entry->codepoint = unicode_property_value_keypairs[index].value & 0xFFFFFF; | ||
| MVMint32 property_code = unicode_property_value_keypairs[index].value >> 24; | |||
| diakopter | that's generated; it computes how many bits each property needs; most are binary so they need just one | 09:35 | |
| FROGGS | Ll is something like 14 << 24 + 1 | ||
| and Zs is something like 14 << 24 + 36 | 09:36 | ||
| 14 == general category | |||
| diakopter | my understanding of the ucd2c.pl is so far removed from the generated code that doesn't help me; I can only speak in generalities, I guess | ||
| FROGGS | diakopter: it is not about how many bits something needs, it is the property code and property value code | 09:37 | |
| diakopter | what is the problem we're trying to solve? just that the "L" property doesn't work? | ||
| FROGGS | diakopter: that is in unicode_ops.c | ||
| diakopter | (or other aliases?) | ||
| FROGGS | correct, any union like L does not work | ||
| diakopter | it's just that in the unicode text file tables, it doesn't care whether it's a union; the value is "normalized" into the text file anyway | 09:38 | |
| FROGGS | hmmm, maybe I could make L its own property code, and emit a lookup to Lu | Ll | ... | ||
| diakopter | so it should just be a regular old boolean property | ||
| FROGGS | gc ; L ; Letter # Ll | Lm | Lo | Lt | Lu | 09:39 | |
| gc ; LC ; Cased_Letter # Ll | Lt | Lu | |||
| gc ; Ll ; Lowercase_Letter | |||
| gc ; Lm ; Modifier_Letter | |||
| diakopter | right; it's precomputed for you in the .txt | ||
| at least, it used to be | |||
| FROGGS | if you ask a codepoint like "a" for its property value code for general category, you get a 1, which is Ll | ||
| so you can't check for L in the same category | 09:40 | ||
| diakopter | hang on | ||
| 0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041 | |||
| FROGGS | hmmm | 09:41 | |
| but but | |||
| diakopter | inthe | ||
| FROGGS | hmmm | ||
| yeah | |||
| diakopter | hang on; looking at the ucd2c.pl for a min | ||
| oh, did you revert your aliases thing yet | 09:43 | ||
| FROGGS | no | ||
| I may know why it does not work | |||
| diakopter | can you revert it | 09:44 | |
| FROGGS | if we are using UNIDATA/extracted/DerivedGeneralCategory.txt, there are mappings for Ll,Lu,etc to codepoint, but not for L | ||
| diakopter | oh | ||
| FROGGS | no, does not seem to be used... | 09:45 | |
| diakopter | hm, how new is that file | ||
| (was it in 6.0 or 6.1?) | |||
| FROGGS | no idea | ||
| diakopter | if so, oops :) | ||
| hm yeah, seems it was there | 09:46 | ||
| so that's not the problem | |||
| (they didn't move the data to there) | |||
| I'm still looking at th e.pl | 09:47 | ||
| FROGGS | but sadly I must go now, otherwise we won't have lunch :o( | 09:48 | |
| I am going to check then why we don't create an enum for L if that is the case | |||
| diakopter | i'll keep looking at it | ||
| FROGGS | thank you | ||
| :o) | |||
|
09:49
FROGGS[mobile] joined
|
|||
| diakopter | FROGGS[mobile]: which commits were you going to revert | 09:50 | |
|
09:50
jnap joined
|
|||
| FROGGS | parts of github.com/MoarVM/MoarVM/commit/00...a9f#diff-2 | 09:51 | |
| I'd remove at least line 775 to 783 there | |||
| diakopter | what were the other lines doing | ||
| FROGGS | was about adding ASCII_Hex_Digit, ASCIIHexDigit and asciihexdigit | 09:56 | |
|
10:03
[Coke] joined,
masak joined
|
|||
| dalek | arVM: 815c123 | jnthn++ | src/core/args.c: Align arity-related error generation with Rakudo. |
10:23 | |
|
10:25
FROGGS[mobile] joined
|
|||
| moritz | on Thursday we will have the first monthly rakudo release that supports MoarVM | 10:28 | |
| for that purpose, we should also cut a MoarVM release | |||
| jnthn | moritz: Yes, we should. | ||
| moritz | so, how? :-) | 10:29 | |
| jnthn | 1) Make a tarball. 2) Put it somewhere. :) | ||
| moritz | maybe steal the release process from NQP, which also has submodules? | ||
| jnthn | That's a good idea | ||
| moritz | jnthn: tag the version in the MoarVM repo | ||
| write it into a file | |||
| ideally have MoarVM read that file, and know its own version | 10:30 | ||
| jnthn | C:\consulting\MoarVM>moar --version | 10:31 | |
| This is MoarVM version 2013.10-375-g3a57b01 | |||
| It does at least have some idea... | |||
| moritz | ok, so that needs to consider a VERSION file if not under git, or something | ||
| jnthn | But i guess that comes from git | ||
| So yeah...need to change that. | 10:32 | ||
| moritz | I'll try to look into it this weekend, but we have visitors, so tuits might be low-ish | ||
| jnthn | Sure. If you don't get to it, I will :) | ||
| moritz | ooh, Configure.pl already reads from a VERSION file if it exists | 10:33 | |
| jnthn | oh, cool | ||
| moritz | FROGGS++ | ||
| FROGGS[mobile]++ | |||
| dalek | arVM: 75e60a1 | jnthn++ | src/core/args.c: Align missing named param error with Rakudo's. |
10:34 | |
|
10:51
jnap joined
10:56
odc joined
|
|||
| FROGGS | diakopter: could you make some sense out of it? otherwise I would continue now | 10:57 | |
| dalek | arVM: ccce6a6 | moritz++ | / (2 files): [Build] "release" Makefile target |
10:59 | |
| moritz | this is a "simplest thing that could possibly work". I'm pretty sure pmichaud++ had some issues with git-archive, but I don't know what they were, so I'm going to use it until I run into the same issue | 11:00 | |
| jnthn was gonna go with git archive also | 11:01 | ||
| FROGGS | ahh, we are indeed reading from DerivedGeneralCategory where L is not listed! | 11:26 | |
| I can fix that | |||
| timotimo | i had a probably silly idea when trying to sleep: | 11:38 | |
| since we handle strings as collections of begin+length blobs anyway, would it make sense to have an optimization that looks for common substrings and compresses every string? | |||
| it seemed very costly to me when i thought about it, but there may be crazy-cool algorithms involving prefix-tables or something like that | 11:39 | ||
| jnthn is working on the binder elimination opt today | 11:51 | ||
|
11:52
jnap joined
|
|||
| FROGGS | jnthn: will this get rid of the "slow path" ? | 11:52 | |
| jnthn | Yeah | 11:53 | |
| FROGGS | ohh, that sounds interesting then :D | ||
| timotimo | \o/ | 11:55 | |
| jnthn | I'm probably gonna (though maybe not in time for release) get this stuff in place on JVM too. | 12:02 | |
| FROGGS | ohh, I didn't even know that this applies to jvm also | 12:12 | |
| jnthn | Well, we notice it a bit less there 'cus the JVM is good at making hot slow paths less slow :) | ||
| timotimo | but this would also hit non-hot slow paths, yes? | 12:20 | |
| jnthn | Yeah | 12:22 | |
| timotimo | i like that | ||
| jnthn | And should mean the JVM can do a way better job on hot paths overall | ||
| timotimo | i can imagine | 12:23 | |
| jnthn | Time for a little shopping/lunch, methinks... | ||
|
12:52
jnap joined
13:53
jnap joined
|
|||
| FROGGS | 0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041 | 13:58 | |
| I wonder how both Ll and L property is stored for "a" in the six bits that general category has... | 13:59 | ||
| when I do "die Dumper($point) if $point->{code} == 65;" in the while loop of sub emit_bitfield, I can see that every codepoint can only has one property value within a category | 14:19 | ||
| so "a" can't be Ll and L at the same time atm | |||
|
14:44
benabik joined
|
|||
| benabik | L = Ll + Lu + L? | 14:44 | |
| FROGGS | ? | 14:45 | |
| benabik | L is Letter, Ll is lowercase, Lu is uppercase (IIRC). So perhaps it's implicitly in L because it's in Ll? | 14:46 | |
| FROGGS | well, that is not wrong, the problem is that the implementation makes it impossible to check for L atm | ||
|
14:54
jnap joined
|
|||
| moritz | there are also non-cased letters | 14:57 | |
| L = Lu + Ll + Lt + Lm + Lo | |||
| (t = titlecase, m = modifier, o = other) | 14:58 | ||
| benabik | L = ^L.$ ? | 14:59 | |
| FROGGS | that is not how it works :o) | 15:00 | |
| diakopter: that "L" in "0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041" is not gc:Letter but bc:Left_To_Right | 15:08 | ||
| diakopter: so I think we need to make L, LC, etc first class properties with one bit width | 15:24 | ||
|
15:51
ingy joined
15:52
dagurval joined
15:55
jnap joined
15:58
ingy joined,
dagurval joined
|
|||
| diakopter | FROGGS: ah yes, ok | 16:03 | |
| FROGGS: if you're not doing it, I can do it now | 16:04 | ||
| FROGGS: you working on it? | 16:12 | ||
| FROGGS | diakopter: not atm | 16:19 | |
| diakopter: I would be happy if you gave it a whirl | |||
| diakopter | ok I will | ||
| now | 16:20 | ||
| FROGGS: where are the other union-ish categories defined | 16:22 | ||
| er, properties | |||
| FROGGS | UNIDATA/PropertyValueAliases.txt:566:gc ; L ; Letter # Ll | Lm | Lo | Lt | Lu | 16:23 | |
| you need to look for | in the last part | 16:24 | ||
| diakopter | did you see I already had the section to parse that file | ||
| FROGGS | I added: | 16:26 | |
| my @unionof = split /\s*\|\s*/, $parts[-1]; | |||
| if ($#unionof) { | |||
| to: | |||
| github.com/MoarVM/MoarVM/blob/mast...2c.pl#L872 | |||
| ahh, and the first within that "if ($#unionof) {" is "pop @parts;" | |||
| diakopter | ok, but what is the current line 808 doing | 16:27 | |
| FROGGS | it resolves extra aliases | ||
| you can get rid of it for now | |||
| because it probably mixes names of aliases and unions | 16:28 | ||
| diakopter | ok | 16:29 | |
|
16:55
jnap joined
17:56
jnap joined
|
|||
| jnthn | m: say 850 / 1662 | 18:28 | |
| camelia | rakudo-moar 6aa2f1: OUTPUT«0.511432» | ||
| jnthn | Got a few regressions to hunt after dinner, but so far got spectest time on Moar down to half of what it was. | ||
| Well, just over half | 18:29 | ||
| diakopter | wat | 18:44 | |
| that sounds like it means setting parse time is far more than 50% reduced in time | |||
| FROGGS | wow! | 18:49 | |
| dalek | arVM: 8782fd3 | diakopter++ | / (3 files): back out these changes temporarily or not |
18:51 | |
| diakopter | FROGGS: did I remove the right things? | ||
| I'm not certain | |||
| jnthn | diakopter: No, setting parse time is the about the same. :) | 18:52 | |
| diakopter | o_O | ||
| jnthn | diakopter: It's the code it generates that's better. | ||
| diakopter | o | ||
| FROGGS: I'm not sure | 18:56 | ||
|
18:57
jnap joined,
lue joined
|
|||
| diakopter | FROGGS: am I right that a char can have multiple general categories? | 19:00 | |
| FROGGS | diakopter: yes, looks like you removed the right things | 19:11 | |
| diakopter: yes | |||
| a char can be at least in two categories of the general category | 19:12 | ||
| same goes for all unions | |||
| I mean, this applies only for unions | |||
| diakopter | ok | 19:13 | |
| FROGGS | a codepoint can be in up two to categories of a "property" | ||
| jnthn: btw, I am running into this: | 19:25 | ||
| Object conflict detected during deserialization. | |||
| (Probable attempt to load two modules that cannot be loaded together). | |||
| I just commented it so I can compile v5... and it seems to work :o) | |||
| perl6-m t/spec/base/num.v5 | 19:33 | ||
| Cannot find method 'encoding': no method cache and no .^find_method | |||
| looks like I need to tweak v5's module loader... | |||
| damn, I did not want to use fudge for v5's source | 19:34 | ||
| jnthn | FROGGS: Oh, there's some NYI there I think... | 19:37 | |
| [Coke] | moar is up to 28068 passes. | 19:40 | |
| FROGGS | jnthn: ahh, about repossession or some such? | 19:41 | |
| jnthn | yeah | ||
| FROGGS | [Coke]: and it will get a lot more passing tests or it will fail quite a lot for the next run... be prepared :o) | 19:42 | |
| [Coke] | oh, di dyou fix the unicode!? woot. | 19:44 | |
| FROGGS | not me, no | 19:45 | |
| diakopter++ is working on it | 19:46 | ||
|
19:58
jnap joined
|
|||
| FROGGS | damn, I think I sent a patch for Perl5 wrong-ish :o( | 20:05 | |
| jnthn | FROGGS: You wrote it in Perl 6 instead? :) | 20:07 | |
| FROGGS | hehe, no | 20:08 | |
| but I think that I have attached either another unrelated patch, or only the unrelated patch :/ | |||
| jnthn | Email, how does it work... | 20:10 | |
| diakopter | FROGGS: hard problem is hard | ||
| er, easy problem is hard | |||
| FROGGS | diakopter: yeah | ||
| diakopter | well, I got this far: | 20:12 | |
| processing PropertyValueAliases.txt...found union: C is 'Cc | Cf | Cn | Co | Cs' | |||
| found union: L is 'Ll | Lm | Lo | Lt | Lu' | |||
| found union: LC is 'Ll | Lt | Lu' | |||
| found union: M is 'Mc | Me | Mn' | |||
| found union: P is 'Pc | Pd | Pe | Pf | Pi | Po | Ps' | |||
| found union: S is 'Sc | Sk | Sm | So' | |||
| found union: Z is 'Zl | Zp | Zs' | |||
| but the problem is it needs to do this much earlier | |||
| anyway, moving it | 20:14 | ||
| dalek | arVM: c74390c | jnthn++ | / (10 files): Add assertparamcheck, to help with arg type checks This will be used to add a new feature to the Moar code-gen in NQP, which in turn will be used for binder fast-pathing in Rakudo. |
20:15 | |
| arVM: 2bfad44 | jnthn++ | src/core/args.c: Decont while auto-unboxing. Works for the common case. |
|||
| FROGGS | diakopter: well, you could scan for that piece earlier... | 20:16 | |
| diakopter | yeah | ||
| FROGGS | like before calling UniCode( | ||
| diakopter | adding into UnicodeData() | ||
| timotimo | jnthn: this is your speedup without regressions? :) | 20:24 | |
| jnthn | timotimo: Well, I might have lost 4-5 tests. | ||
| tests, not test files | |||
| But think we can live with that. | 20:25 | ||
| Rakudo patch coming it a bit. | |||
| timotimo | that sounds pretty darn good! | 20:26 | |
| jnthn | Doing some further analysis/tweaks | 20:27 | |
| diakopter | FROGGS: I'm still not sure whether to add these as top-level categories or not | 20:58 | |
|
20:58
jnap joined
|
|||
| FROGGS | is there another way? | 21:00 | |
| I think that is the cheapest we can do | |||
| when we want to avoid to add another hash | |||
| diakopter | FROGGS: oops I meant top-level properties | 21:01 | |
| jnthn | diakopter: What's the argument against doing so? | ||
| diakopter | hm | 21:02 | |
| I guess there isn't one | |||
| except unicode treats them as property values | |||
| instead of properties | |||
| meh | 21:03 | ||
| they're looked up the same way anyway | |||
| it's not like someone does <gc=Letter> | |||
| FROGGS | or <:gc<Letter>> | 21:07 | |
| I'd do it in another way too if I knew one | 21:08 | ||
|
21:20
masak joined,
eternaleye joined,
harrow joined
|
|||
| diakopter | FROGGS: wait, how are the general category things currently looked up | 21:36 | |
| FROGGS | diakopter: it is looking for, say, "Letter" in unicode_property_keypairs | 21:40 | |
| MoarVM/src/strings/unicode.c:32957: {"compex",44},{"Digit",22},{"digit",22},{"CWU",38},{"cwu",38},{"Soft_Dotted",75},{"SoftDotted",75},{"softdotted",75}, | |||
| diakopter | no I mean the actual general categories, like Letter_Cased | ||
| FROGGS | so Digit is property code 22 | ||
| Letter_Cased should be in there too, but might not be atm | 21:41 | ||
| it should point to MVM_UNICODE_PROPERTY_GENERAL_CATEGORY, which is 14 for right now | 21:42 | ||
| dalek | arVM: ac8af16 | tadzik++ | src/core/args.c: Remove leftover debugging code |
||
| diakopter | so someone would need to do <:gc<Letter_Cased>> ? | ||
| tadzik | sweet karma | ||
| FROGGS | diakopter: no | ||
| diakopter | tadzik-- | ||
| FROGGS | Letter_Cased would point to 14, which is gc | ||
| jnthn | tadzik++ # removing jnthn's debugging code :P | ||
| FROGGS | and then it goes on and searches for the property value code using that property code 14 | 21:43 | |
| so Letter_Cased is an alias for gc when it comes to property codes | 21:44 | ||
| and this is a problem for L, because there are several L-s, and we prefer the one from gc | |||
| diakopter: that is why I did this: gist.github.com/FROGGS/7575e1d5b15abc22ba89 (note that the patch is invalid, because modified manually) | 21:47 | ||
| diakopter | bleh | ||
| I'm not sure what I meant the %done thing to do :) | 21:48 | ||
| FROGGS | install aliases only once I suppose | ||
| because you only get the first anyway | 21:49 | ||
| diakopter | yeah but it never checked it | ||
| FROGGS | yeah, I've seen that :o) | ||
| but still, diakopter++ for this unimagic | |||
| diakopter | we'll see | ||
| jnthn | Mmm...smoked porter | 21:50 | |
| FROGGS | and I will have a full scottish breakfast in about ten hours! yay! | 21:53 | |
| that does not help about the missing beer, but well, what an I do? | |||
| can* | |||
|
21:59
jnap joined
|
|||
| diakopter | src/vm/moar/ops/container.c(154) : warning C4133: 'function' : incompatible types - from 'Rakudo_Scalar *' to 'MVMObject *' | 22:04 | |
| jnthn | FROGGS: Take more care to keep your beer fridge stocked, what's what :P | 22:06 | |
| *that's | |||
| diakopter: Thanks, got it | 22:07 | ||
| FROGGS | not another project... SDL, v5, kids, S11 and now beer? ó.ò | 22:08 | |
| diakopter | harness reports: Missing test file: t\spec\S04-operators\brainos.t | ||
| jnthn | Yeah, that's not moar specific | ||
| haha...I have TEST_JOBS=6 and now Rakudo "make test" takes 3s... | 22:09 | ||
| diakopter | someone remind me how to nmake spectest in parallel | ||
| jnthn | set TEST_JOBS=n | ||
| (choose n) | |||
| diakopter | thanks | ||
| jnthn | uh, and less obviously: I tend to find virtual cores - 2 works out well. | ||
| FROGGS | diakopter: I tested these four files regularly btw: gist.github.com/FROGGS/aaafdacb95ece1aba4d8 | 22:10 | |
| diakopter | jnthn: can you nopaste your current spectest output so I can compare to mine | ||
| FROGGS | diakopter: you have to beat the second block there :o) | ||
| diakopter | ok | 22:11 | |
| jnthn | diakopter: Just for S05? | ||
| FROGGS | jnthn: are you sure you are really invoking prove? O.o | ||
| 3s is like quick | |||
| jnthn | FROGGS: Yes, I see all the tests go by | ||
| diakopter | jnthn: well, all, if you could | ||
| jnthn | Comes out as 4s sometimes... | 22:12 | |
| FROGGS | ohh yes, it feels very fast... | ||
| jnthn | Doing another spectest run with latest changes here | 22:13 | |
| diakopter: Will paste you it in a mo | |||
| diakopter | FROGGS: well, somehow I broke the block lookups | 22:22 | |
| FROGGS | hmmm, should not be too hard to fix, this was in a separate commit | 22:23 | |
| jnthn | diakopter: gist.github.com/jnthn/95d3d4c69d585bbcece5 | 22:28 | |
| diakopter | thanks | 22:30 | |
| timotimo | 3s? that's absurdly quick | 22:44 | |
| FROGGS | m-spectest takes 8:44.44 using TEST_JOBS=4 | 22:50 | |
| dunno how much it was before though | |||
| jnthn | Probably quite a lot more :) | ||
| timotimo | how long does parrot take for that on your machine? | ||
| FROGGS | yeah... 8:44 minutes is very nice | ||
| timotimo: need to rebuild it to test | |||
| jnthn | Well, it's ok... :) | ||
| FROGGS | will post later | ||
| timotimo | thanks :) | 22:51 | |
| i'm rebuilding everything right now, too | |||
|
23:00
jnap joined
|
|||
| jnthn | Rakudo on Moar seems to have the best startup time of the Rakudos, by this point. | 23:15 | |
| m: say "I starts in {100*0.31/0.46)% of the time Rakudo on Parrot does" | 23:16 | ||
| camelia | rakudo-moar 61860f: OUTPUT«===SORRY!=== Error while compiling /tmp/ihZuhgiFguUnable to parse expression in block; couldn't find final '}' at /tmp/ihZuhgiFgu:1------> say "I starts in {100*0.31/0.46⏏)% of the time Rakudo on Parrot does"…» | ||
| jnthn | m: say "I starts in {100*0.31/0.46}% of the time Rakudo on Parrot does" | ||
| camelia | rakudo-moar 61860f: OUTPUT«I starts in 67.391304% of the time Rakudo on Parrot does» | ||
| FROGGS | a segfault I have to golf: gist.github.com/FROGGS/647a0fa6bcb06d42717e | 23:17 | |
| interp.c:2060 is existskey | 23:18 | ||
| jnthn | obj = 0x0 | ||
| You're trying to do a lookup in a null hash. | |||
| FROGGS | hmmm, might be related to this "Probable attempt to load two modules that cannot be loaded together" | 23:20 | |
| yeah, require-ing my test.pl from a v5 block with loads a v6 script which has a v5 block in it crashes | 23:31 | ||
| and these v5 blocks get a Perl5::Terms module implicitly loaded | 23:32 | ||
| dalek | arVM: 26a57a8 | diakopter++ | / (3 files): try to add aliases and gc value aliases # who knows whether it will work |
23:53 | |
| arVM: b8f2a2d | diakopter++ | tools/ucd2c.pl: try again |
|||
| arVM: 1a93bf0 | diakopter++ | / (3 files): pass a couple more tests... need more though. |
|||
| jnthn | Hmm, seems that the MAST to bytecode thingy doesn't properly detect duplicate callsites | 23:54 | |
| mebbe just NYI | 23:55 | ||
| Probably wroth doing since CORE.setting gets 7045 callsites :) | 23:57 | ||
| FROGGS | uhh, something to pull | 23:58 | |
| diakopter | jnthn: yeah it broke at some point | ||
| jnthn | diakopter: Well, I'm thinking of working named arg's names into callsites too | ||
| diakopter | :) | 23:59 | |
| jnthn | diakopter: And maybe a "no need to re-type-check" flag | ||
| I realized that the first, but maybe also the second, will help when it comes to do doing the specializer | |||