»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
japhb | timotimo: I thought that case was already optimized when lizmat++ was reworking :exists and friends a few months ago ...? | 00:00 | |
00:02
lue joined
|
|||
timotimo | i *think* we still create objects with the WHENCE property when descending into the hash | 00:03 | |
whereas if we knew we wouldn't allow autovivification, we could just use throwaway Any objects or something | |||
it's probably not worth much | |||
and i should go to bed :) | |||
o/ | 00:04 | ||
japhb | Sleep well, timotimo! | ||
00:10
rurban1 joined
00:13
ren1us left
00:18
thou left
00:24
raiph left
00:46
BenGoldberg joined
|
|||
TimToady | we could do a lot better by propagating known lvalue and rvalue contexts downward, where rvalue context includes passing to any known parameter that isn't rw | 00:52 | |
so the only place such a pragma might be useful is in passing to a late-bound parameter | |||
and I suspect we might find a way to optimize those too | 00:53 | ||
such pragmas are always kinda smelly | |||
one could turn a cascade of subscripts into a thunk, for instance, and delay evaluation till we know how it will be bound | 00:55 | ||
00:56
ventica left
|
|||
TimToady | WHENCE is really just a workaround to get correct behavior in the absence of a brilliant compiler | 00:56 | |
which rakudo is starting to show signs of :) | 00:57 | ||
japhb | \o/ # Flashes of brilliance! | 00:58 | |
BenGoldberg offers the bulbs from his flashlight to make rakudo brighter ;) | 01:02 | ||
TimToady | .oO(Light Emitting Developers) |
01:04 | |
japhb | .oO( Organic Light Emitting Developers ) |
01:05 | |
BenGoldberg | That's easy -- just wear glow in the dark clothing. | ||
01:05
rurban1 left
|
|||
japhb | I emit lots of light -- it's just mostly in the infrared region of the spectrum | 01:06 | |
01:06
anaeem1 left
01:09
raiph joined
|
|||
BenGoldberg | But if the average surface temperature of your surroundings is the same as your skin temp, you will absorb the same amount of infrared light as you emit. | 01:10 | |
japhb | If that was the case, it would either be a very hot room, or a very cold me. | ||
BenGoldberg | So you can't be said to be a luminous software developer, unless you're working in a cold room. | 01:11 | |
japhb | ... and the fans on my desktop would be going crazy in the former case. | ||
BenGoldberg: Of course, like a CPU, I'm more efficient when cool. :-) | |||
BenGoldberg | I said skin temp, not core body temp. Your skin temp is probably close to 70F. | ||
japhb | In fact, in body-temperature surroundings, I'm probably not coding at all. | ||
Hmmm, just looked it up, skin is relatively warmer than surroundings, varying by location and amount/type of clothing, with bare feet being perhaps the closest to external temperature. | 01:15 | ||
01:15
mattp_ left
01:22
kurahaupo_ left
01:24
nbrown joined,
FROGGS_ joined
01:28
mattp_ joined,
FROGGS left
|
|||
dalek | ast/S26-WHY: 6347fe1 | (Rob Hoelz)++ | S26-documentation/why-both.t: Start testing POD block stuff |
01:29 | |
ast/S26-WHY: ec01d1c | (Rob Hoelz)++ | S26-TODO.md: Tabularize coverage matrix |
|||
kudo/S26-WHY: 1006e4f | (Rob Hoelz)++ | src/ (2 files): Fix up POD blocks for why-both |
|||
hoelzro | *much* prettier: github.com/perl6/roast/blob/S26-WH...d-by-tests | ||
japhb | Yeah, that's a big improvement | 01:37 | |
01:41
noganex joined
01:43
noganex_ left
01:45
coffeeyy left,
coffeeyy joined
01:48
klapperl_ joined
01:51
klapperl left
01:52
thou joined
01:57
thou left
02:06
guest_____ joined,
guest_____ left
02:07
nbrown left
02:16
BenGoldberg left
02:23
Ben__ joined
02:28
Colby` joined
02:30
Pleiades` left,
Colby` is now known as Pleiades`
02:35
Ben__ left,
BenGoldberg joined
02:38
Akagi201 joined
02:43
raiph left
02:50
thou joined
02:54
noganex_ joined
02:57
noganex left
03:13
xragnar_ joined,
xragnar is now known as Guest80081,
Guest80081 left,
xragnar_ is now known as xragnar
03:14
hagiri joined,
chenryn joined
|
|||
dalek | ast/S26-WHY: 56268dc | (Rob Hoelz)++ | S26-documentation/why-both.t: Fill out why-both tests a bit |
03:49 | |
ast/S26-WHY: 36d1e91 | (Rob Hoelz)++ | S26-TODO.md: Fill out matrix a bit |
|||
03:50
hagiri left
|
|||
hoelzro | are macros installed into the lex pad/symbol table for runtime introspection? | 03:51 | |
it just occurred to me that they might not be... | |||
03:52
BenGoldberg left
|
|||
hoelzro | ah, it seems like it does | 03:56 | |
dalek | ast/S26-WHY: db83983 | (Rob Hoelz)++ | S26- (4 files): Test documentation on macros |
04:04 | |
ast/S26-WHY: 2bb7d87 | (Rob Hoelz)++ | S26-TODO.md: Start coming up with a "merge back to nom" plan |
|||
04:04
kaare_ joined
04:17
[Sno] left
|
|||
dalek | kudo/S26-WHY: 1fb5236 | (Rob Hoelz)++ | src/Perl6/Grammar.nqp: Fix trailing docs for macros |
04:27 | |
04:39
chenryn left
04:40
rurban1 joined
04:47
ren1us joined
04:48
rurban1 left
04:56
chenryn joined
05:02
dayangkun left
05:05
khisanth_ joined,
khisanth_ is now known as Guest18234
05:07
Khisanth left
05:10
Guest18234 left,
Khisanth joined
05:29
fling joined,
gfldex joined
05:36
ChoHag left
05:38
[Sno] joined
05:48
kaleem joined,
gfldex left
05:50
ChoHag joined
06:08
denis_boyun joined
06:14
chenryn left
06:20
PotatoGim joined
06:21
ventica_desktop joined
06:22
ren1us left
06:23
chenryn joined
06:34
anaeem1 joined,
ventica joined
06:39
dayangkun joined
06:43
Mouq joined
|
|||
Mouq | FROGGS: Yay! :) | 06:43 | |
yoleaux | 12 Aug 2014 19:08Z <FROGGS> Mouq: nice! and yes, this makes the Slangish module easier design wise... | ||
06:57
FROGGS_ is now known as FROGGS
|
|||
masak | morning, #perl6 | 06:58 | |
moritz | \o masak, * | ||
07:00
molaf joined
07:01
thou left
|
|||
Mouq | o/ masak, just now I added Perl 6 to that wiki article you mentioned a few days ago: en.wikipedia.org/w/index.php?title...=618329590 | 07:01 | |
though maybe s/subroutine/function/? | 07:02 | ||
07:03
SamuraiJack joined
|
|||
Mouq | I'll do that and add a snippit of syntax, I suppose | 07:04 | |
07:07
darutoko joined
|
|||
Mouq | Hmmm... Looking for a simple and accessible example from core.setting... | 07:08 | |
Mouq goes with multi infix:<+>(Int:D $x, Date:D $d) | 07:11 | ||
07:11
chenryn left
|
|||
masak | Mouq++ | 07:12 | |
Mouq: I think "subroutine" is Perl lingo, and "function" is more broadly used. | |||
07:15
ventica_desktop left
07:19
gamo joined
07:20
dmol joined
|
|||
gamo | How do I shuffle a list in perl6? | 07:20 | |
Mouq | m: say (2,3,4).pick(*) | 07:21 | |
camelia | rakudo-moar 969e6c: OUTPUT«2 4 3» | ||
Mouq | m: say (1..100).pick(*) | ||
camelia | rakudo-moar 969e6c: OUTPUT«96 10 86 39 75 4 6 19 90 38 11 58 21 29 85 81 62 78 54 80 73 83 12 30 18 44 82 36 49 45 5 97 61 25 67 98 70 32 48 35 24 57 76 9 15 92 51 26 23 13 7 34 3 31 42 77 47 100 74 89 66 28 69 27 94 55 46 93 17 22 59 41 40 37 63 79 87 60 52 65 1 8 84 95 56 91 64 2 …» | ||
07:21
chenryn joined,
kurahaupo joined
|
|||
gamo | thanks | 07:22 | |
Mouq | np :) | 07:25 | |
masak: How's it look now? | |||
Mouq has to get on a plane in a few hours | 07:26 | ||
Mouq thought his flight was on Friday until a few days ago, isn't quite in a "pack up and leave" mindset yet :/ | 07:27 | ||
07:29
ventica_desktop joined
|
|||
masak | Mouq: slightly distracted, sorry. mid-commute. | 07:29 | |
Mouq | masak: np, no rush :) if nothing else I'll probably see it in the backlogs | 07:30 | |
dalek | ecs: 22d8cd4 | Mouq++ | S03-operators.pod: Generalize ~~ calls to be on Setty, Baggy, & Mixy (To account for {Set,Bag,Mix}Hash) |
07:34 | |
07:38
Mouq left
07:40
itz_ joined
07:42
itz left
07:53
Pleiades` left
07:58
Pleiades` joined
08:26
ventica_desktop left
08:31
dakkar joined,
ventica_desktop joined
08:34
SamuraiJack left
|
|||
masak | Mouq++ # en.wikipedia.org/wiki/Operator_ove...ding#2000s | 08:38 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...ml?id=2000 | ||
masak | no, synopsebot, you silly. | ||
Mouq: looks very nice. | |||
08:39
thou joined
08:43
thou left
08:50
fhelmberger joined
08:55
chenryn left
09:01
salv0 left
09:14
slavik left
09:17
salv0 joined
|
|||
colomon | lizmat++ | 09:19 | |
github and/or my e-mail just dumped days' worth of specs commits to my inbox... | 09:20 | ||
09:21
gamo left
09:23
gamo joined
09:25
chenryn joined
09:26
gamo1 joined
09:28
gamo left,
slavik joined
09:31
ssutch left,
itz joined,
ssutch joined
09:32
chenryn left
09:33
itz_ left
09:34
spider-mario joined
|
|||
masak | the spec emails tend to come in clumps, for some reason. | 09:35 | |
lizmat | I'm pretty sure someone needs to OK them | 09:36 | |
nwc10 | they've hit the list moderator | ||
lizmat suspects TimToady | |||
nwc10 | Delivered-To: moderator for [email@hidden.address] | ||
dalek | ecs: e6fda2f | (Elizabeth Mattijsen)++ | S03-operators.pod: Alas, mutable Set/Bag/Mix follow different rules This reverts commit 22d8cd42ba02f242489a466d8e2377974cbb1cb5. |
09:38 | |
lizmat | m: say <a b>.SetHash === <a b>.SetHash | ||
camelia | rakudo-moar 969e6c: OUTPUT«False» | ||
09:38
anaeem1 left
|
|||
lizmat | m: say <a b>.SetHash ~~ <a b>.SetHash # something fishy here | 09:39 | |
camelia | rakudo-moar 969e6c: OUTPUT«True» | ||
09:39
anaeem1_ joined
|
|||
masak | lizmat: looks right to me. | 09:39 | |
analogous to this: | |||
lizmat | m: say <a b>.Set ~~ <a b>.Set | ||
camelia | rakudo-moar 969e6c: OUTPUT«True» | ||
masak | m: say <a b> === <a b> | ||
camelia | rakudo-moar 969e6c: OUTPUT«False» | ||
masak | m: say <a b> ~~ <a b> | ||
camelia | rakudo-moar 969e6c: OUTPUT«True» | ||
lizmat | well, then this line in the table is incorrect: | 09:40 | |
Set Set identical sets $_ === X | |||
for the Setty case | |||
masak | I'm... not sure I'd want that semantics, no. | ||
lizmat | it works for Set, as it is immutable and value based | 09:41 | |
masak | oh, right. | ||
probably not the sane thing for mutable/reference types. | 09:42 | ||
09:42
fhelmberger_ joined
09:44
fhelmberger left,
fhelmberger_ left,
fhelmberger joined,
cosimo_ joined,
cosimo left
|
|||
tadzik | computer, messages | 09:54 | |
yoleaux | 12 Aug 2014 23:11Z <ren1us> tadzik: gist.github.com/ren1us/01d724255dd57bbaab31 # panda issues | ||
tadzik | this is the closest thing to a Star Trek world that I have :o | 09:55 | |
ChoHag | Perl just said this: µx@®¢-£y٭B¨B(¢- | 09:56 | |
It's not supposed to do that! | |||
masak | ChoHag: luckily, this is #perl6. which does not have that particular failure mode, AFAIK. | 09:57 | |
(we aim for different mistakes) :) | 09:58 | ||
ChoHag | Whether you aimed for that or not, that's what just got spat out. | 09:59 | |
10:00
ggoebel1111115 left,
aoseki left,
erkan left,
amkrankruleuen left,
baest left
|
|||
ChoHag | Most frustratingly, I *think* my code now does more or less what I think it does, but it keeps tripping over moar thread bugs so I can't tell what's my fault and what's not. | 10:00 | |
masak .oO( I think my code does what I think it does ) | 10:01 | ||
ChoHag | sic | 10:04 | |
dalek | ecs: 5c86418 | (Elizabeth Mattijsen)++ | S03-operators.pod: Hopefully correctly map Setty/Baggy/Mixy in ~~ Mouq++ for pointing out to me I forget the xHash cases. |
10:05 | |
jnthn | .oO( Grammar errors make me [sic] ) |
||
masak | ooh, it's actually Perl 6-related? I didn't get that part until now. | ||
ChoHag | Well I did. Now I made the mistake of not changing anything so it's started blowing up every time. | ||
masak | well, hope you manage to golf and submit the thread bug. | ||
jnthn | ChoHag++ passed me the code last night | 10:06 | |
So I'll reproduce when I get chance and try to fix it... | |||
lunch & | |||
ChoHag | This one's common: death by Internal error: inconsistent bind result: in method Stringy at src/gen/m-CORE.setting:5777 | ||
10:07
ggoebel1111115 joined,
aoseki joined,
erkan joined,
amkrankruleuen joined,
baest joined
10:12
molaf left
10:17
thistuso- joined
10:20
thistusooa left
10:23
ggoebel1111115 left,
aoseki left,
erkan left,
amkrankruleuen left,
baest left
10:26
chenryn joined
10:27
thou joined
10:30
ggoebel1111115 joined,
aoseki joined,
erkan joined,
amkrankruleuen joined,
baest joined
10:32
thou left
10:34
dayangkun left
|
|||
dalek | kudo/nom: 4e28c75 | (Elizabeth Mattijsen)++ | lib/Test.pm: Make isnt a bit more verbose on failure, like is |
10:37 | |
timotimo | to err is human. to err well is butterfly. | 10:42 | |
10:45
anaeem1_ left
10:46
anaeem1_ joined,
ventica_desktop left
10:47
chenryn left
10:58
FROGGS[mobile] joined
10:59
ventica_desktop joined
|
|||
lizmat | jnthn, moritz: puzzled by following lines in lib/Test.pm | 11:05 | |
# XXX no regexes yet in nom | |||
my $bad_death = $ee.Str.index('Null PMC access ').defined; | |||
feels like a fossil, is it? | |||
FROGGS[mobile] | yeah | ||
jnthn | yes, looks like :) | 11:06 | |
lizmat | ok, will clean up and run spectest :) | ||
11:08
pecastro left
11:10
chenryn joined
|
|||
lizmat | also, it feels like dies_ok and eval_dies_ok could be merged | 11:10 | |
just like throws_like, which can take a Str or a Callable | |||
dalek | kudo/nom: 42dfe38 | (Elizabeth Mattijsen)++ | lib/Test.pm: Remove fossil from eval_dies_ok |
11:11 | |
11:13
ventica_desktop left
|
|||
lizmat | actually, same for lives_ok and eval_lives_ok | 11:14 | |
it would also seem we need to change a lot of (eval_|)dies_ok to throws_like | 11:15 | ||
FROGGS[mobile] | that makes sense | 11:16 | |
... and might be the cause for ten more tickets | |||
11:21
ventica_desktop joined
|
|||
ChoHag | Every time I run this thing and then get caught up doing something else, I come back to find the log of a clean run through, suggesting that my bugs are mostly of the cosmetic variety. | 11:23 | |
So I run it again and it refuses to do anything other than trip over thread bugs while I watch. | |||
11:24
fhelmberger left
|
|||
ChoHag | I think I need to put a sticker over the camera so the computer can't tell when I'm watching. | 11:24 | |
lizmat | cycling& | 11:30 | |
sergot | o/ filip.sergot.pl/en/blog/perl6/gsoc_status/ | 11:31 | |
yoleaux | 11 Aug 2014 10:10Z <timotimo> sergot: you haven't posted to your blog about the gsoc for quite a while; isn't there some kind of requirement (possibly not strict) to have a public progress report on a biweekly basis? | ||
sergot | timotimo: you are right, there is a requirement | ||
timotimo: I just did a longer break before the last post about this project. :) | 11:32 | ||
made | |||
had | 11:33 | ||
... | |||
:) | |||
masak | "did", "made" and "had" all work there. | ||
but they mean slightly different things :) | |||
11:35
PotatoGim left
|
|||
sergot | yeah, made is the best one here I think | 11:35 | |
:) | |||
masak | oh, and "took" is also possible :) | 11:37 | |
11:48
thistuso- is now known as thistusooa,
thistusooa left,
thistusooa joined
11:57
pecastro joined
12:15
mr-foobar left
12:16
mr-foobar joined,
thou joined
12:18
ssutch left
12:20
thou left
12:21
mr-foobar left,
mr-foobar joined
|
|||
moritz | taken | 12:24 | |
12:27
jdurand joined
12:35
guru joined,
fhelmberger joined,
guru is now known as Guest54088,
Guest54088 is now known as ajr_
|
|||
dalek | ast/S26-WHY: ea34542 | (Rob Hoelz)++ | S26-TODO.md: Move variables row down Since I don't intend to implement it until later |
12:39 | |
ast/S26-WHY: e05a1fa | (Rob Hoelz)++ | S26- (4 files): Test more S26 things |
|||
12:42
jnap joined
12:44
chenryn left
12:46
pmurias joined
|
|||
dalek | kudo-star-daily: 5d9a65d | coke++ | log/ (14 files): today (automated commit) |
12:53 | |
12:57
kaleem left
12:59
ajr_ left
13:07
prevost joined
|
|||
dalek | blets: a067826 | (Herbert Breunung)++ | docs/ (3 files): straighten out operator related terms |
13:08 | |
13:09
colomon left
13:12
ajr joined
13:13
ajr is now known as Guest7534,
Guest7534 is now known as ajr_
|
|||
pmichaud | good morning, #perl6 | 13:14 | |
nwc10 steals someone else's line | 13:17 | ||
good Am, Pm | 13:18 | ||
"too slow" | |||
(that being my usual line at london.pm when running off to the bar) | |||
13:20
kaleem joined
13:22
ajr_ left
13:24
guru joined,
guru is now known as Guest96486,
Guest96486 is now known as ajr_
13:26
rurban1 joined
|
|||
masak | g'day, pm | 13:26 | |
13:31
FROGGS_ joined
13:32
FROGGS left
13:42
treehug88 joined
|
|||
[Coke] | pmichaud: hio | 13:47 | |
pmichaud: good day! | 13:48 | ||
13:48
jdurand left
13:56
kaleem left
13:57
JimmyZ joined
13:58
gamo1 left
13:59
fhelmberger left
14:03
treehug88 left
14:04
thou joined
|
|||
pmichaud | [Coke]: o/ | 14:05 | |
A good day to you too, sir! | |||
sjn | pmichaud: happy survived-another-trip-around-the-sun day for you, sir. :) | 14:11 | |
masak | oh, is it today_ | 14:18 | |
? | |||
jnthn | m: say join ', ', 'Happy birthday ' <<~<< ('to you' xx 2, 'pmichaud', 'to you') | 14:20 | |
camelia | rakudo-moar 42dfe3: OUTPUT«Happy birthday to you, Happy birthday to you, Happy birthday pmichaud, Happy birthday to you» | ||
14:20
rurban1 left
|
|||
masak | jnthn++ # metaops for great congrats! | 14:20 | |
m: say join ', ', 'Happy birthday ' <<~<< ('to you' xx 2, $_, 'to you') given 'pmichaud' | 14:21 | ||
camelia | rakudo-moar 42dfe3: OUTPUT«Happy birthday to you, Happy birthday to you, Happy birthday pmichaud, Happy birthday to you» | ||
masak | factored out the pmichaud ;) | ||
PerlJam | masak: he's been factored out far too much lately. We need him factored in more :-) | 14:22 | |
masak | oops, sorry :) | ||
PerlJam | pmichaud: Happy Birthday! :) | ||
pmichaud: you're 31 this year, n'est pas? :) | 14:24 | ||
masak | m: say 0x31 | ||
camelia | rakudo-moar 42dfe3: OUTPUT«49» | ||
pmichaud | Oui, j'ai 31 ans. | 14:26 | |
masak .oO( nice ans-wer ) | |||
pmichaud | Yes, I survived another trip around the sun... but there are an awful lot of rocks in this neighborhood. I guess one can say I had a rocky start. | 14:27 | |
moritz | pmichaud.age++, pmichaud++ | 14:30 | |
geekosaur | well, that's 3 so far (including one coworker). not enough days in a year, I guess :) | 14:32 | |
masak | geekosaur: ever heard of the birthday paradox? :) | ||
geekosaur | yes, in fact I was kinda sideways referring to it | 14:33 | |
14:34
jnap left
14:36
prevost left
14:37
brrt joined
14:39
chenryn joined,
rurban1 joined
14:42
ggoebel1111116 joined
14:45
ggoebel1111115 left
14:46
sivoais left
14:47
egrep is now known as en,
chenryn left,
sftp left
14:48
chenryn joined,
sivoais joined,
sftp joined,
telex left
14:50
telex joined
|
|||
hoelzro | morning #perl6 | 14:51 | |
14:52
chenryn left
15:03
brrt left,
treehug88 joined
|
|||
TimToady doesn't moderate mailing lists, only RosettaCode, and that sporadically | 15:05 | ||
PerlJam has had to use "stty sane" twice this week (for the first time in years) | 15:08 | ||
15:13
denis_boyun left
15:18
chenryn joined
15:21
treehug88 left
15:23
JimmyZ left
|
|||
japhb | PerlJam: That begs the question of exactly what is making your TTY insane. | 15:24 | |
15:26
jnap joined
|
|||
PerlJam | japhb: git and perl6 apparently. (though, the time it was perl 6, I really just needed to turn echo back on, so maybe that doesn't count as "insane") | 15:27 | |
TimToady | gah, the smartmatch table has evolved into a complete mess | 15:28 | |
15:29
klaas-janstol joined,
SamuraiJack joined
|
|||
TimToady thinks about how to clean it up | 15:29 | ||
dalek | rl6-roast-data: 732d17c | coke++ | / (6 files): today (automated commit) |
15:31 | |
TimToady | you can't use === between the keys of hashes/sets like that | 15:32 | |
there's no guarantee the keys come out in the same order | 15:33 | ||
15:42
daxim_ is now known as daxim
15:44
iarna joined
|
|||
dalek | p-js: ae705ed | (Pawel Murias)++ | / (9 files): Basic variable support. Start creating a revised runtime in src/vm/js/nqp-runtime. Implement the bind opo. QAST::Call with a single QAST::BVal argument. Add some mini tests to t/js/mini (They don't all produce tap so they are not yet run by a harness) |
15:58 | |
15:59
chenryn left
16:07
SamuraiJack left
16:23
denis_boyun joined
16:26
brrt joined,
ventica_desktop left
|
|||
dalek | ecs: b99ecf4 | TimToady++ | S03-operators.pod: whack down the smartmatch table The semantics of smartmatches should largely be inferable from the X argument, and should not imply heavy run-time processing of the X value. In general, smartmatches should not be providing implicit any/all semantics except in a few cases where no other interpretation is possible. Since we now have Sets, Hash smartmatch no longer needs to emulate sets, and can be eqv identity. Regex on LHS now considered too magical, but we provide provide Callable escape value for reverse match of Associative and Positional. (Reverse Regex match on keys can be written { .keys.any ~~ /.../ } ~~ %hash for instance.) c58b918 | TimToady++ | S03-operators.pod: put back non-slice hash item lookups These seem obvious, and work well with junctions on the LHS. |
16:30 | |
16:30
kaleem joined
16:31
ventica_desktop joined
16:36
dmol left
|
|||
TimToady | there's little point in having a smartmatch table that you have to look things up in constantly | 16:38 | |
16:38
ajr_ left
|
|||
TimToady | arguably the hash slice existence tests should be thrown out as well, since they can be done with the Callable escape valve | 16:41 | |
and that will force the any/all intent to be made clear | |||
16:51
akaseki joined,
aoseki left
16:52
dmol joined,
[Sno] left
16:57
treehug88 joined
|
|||
dalek | ecs: 629dbe9 | TimToady++ | S03-operators.pod: hash smartmatching just shouldn't try to guess With our lovely junctions available for clarity, we should just force the user to be clear. |
17:04 | |
TimToady now feels he has some small hope of remembering most of the smartmatch table | 17:10 | ||
and this might even help spesh a bit, with fewer types flopping all over the floor of the boat | 17:12 | ||
17:12
kaleem left
|
|||
TimToady | so basically, @list ~~ Hash or @list ~~ Regex will now tell you to clarify the LHS with any/all/cat/join | 17:15 | |
17:17
dmol left
|
|||
TimToady | smartmatching is really stupidmatching when both the computer and the user are guessing | 17:19 | |
17:19
dakkar left
17:36
pecastro left
17:39
rurban1 left
17:46
guru joined,
guru is now known as Guest49997,
Guest49997 is now known as ajr_
17:55
ventica_desktop left
17:58
anaeem1_ left,
anaeem1_ joined
|
|||
masak | TimToady: +1 to all of the above | 18:00 | |
18:04
dmol joined
18:05
treehug88 left
18:06
Rotwang joined
18:08
treehug88 joined
18:10
[Sno] joined
18:12
anaeem1_ left
18:14
anaeem1_ joined,
dmol left
18:15
anaeem___ joined,
anaeem1_ left
|
|||
FROGGS_ | o/ | 18:17 | |
18:17
anaeem1_ joined
18:18
SamuraiJack joined,
FROGGS_ is now known as FROGGS,
dmol joined
18:19
anaeem___ left,
anaeem1_ left,
anaeem1 joined
18:20
anaeem1 left,
anaeem1_ joined
18:22
denis_boyun left
18:24
anaeem1_ left
18:29
ren1us joined
18:32
anaeem1_ joined
18:33
[particle]1 joined,
[Sno]_ joined
18:34
isacloud____ joined
18:35
dmol left,
Psyche^ joined
18:36
SamuraiJack left,
anaeem1_ left,
coffeeyy_ joined
18:38
spider-mario_ joined
18:39
spider-mario left,
spider-mario_ is now known as spider-mario
18:41
isacloud___ left,
synopsebot left,
[Sno] left,
coffeeyy left,
Psyche^_ left,
[particle] left,
yakudzo left,
[Sno]_ is now known as [Sno],
pecastro joined
18:42
synopsebot joined,
isacloud____ is now known as isacloud___
18:46
kshannon joined
18:47
yakudzo joined
18:49
gfldex joined
18:50
Rotwang left
|
|||
FROGGS | m: grammar G { token TOP { <a> }; proto token a {*}; token a:sym«<foo>» { <sym> } }; class A { method a:sym«<foo>»($/) { say("awesome") } }; G.parse("<foo>", :actions(A) ) # bug | 18:52 | |
camelia | ( no output ) | ||
FROGGS | nqp-m: grammar G { token TOP { <a> }; proto token a {*}; token a:sym«<foo>» { <sym> } }; class A { method a:sym«<foo>»($/) { say("awesome") } }; G.parse("<foo>", :actions(A) ) # no bug | ||
camelia | nqp-moarvm: OUTPUT«awesome» | ||
FROGGS | rakudo tries to call a:sym<<foo>> | 18:53 | |
ChoHag | God damn it. Switched to freebsd and now my terminal doesn't understand unicode, so this channel always looks funky. | 18:54 | |
FROGGS | :«( | ||
eww, that was not intended to look that germish >.< | 18:55 | ||
18:55
molaf joined
19:02
darutoko left
19:03
anaeem1_ joined,
brrt left,
anaeem1_ left
19:04
anaeem1 joined
|
|||
moritz | 19:05 | ||
lizmat | r: my @a = <a b c>; my %h = (a => 1, b => 2, d => 3); say @a; say %h; say @a ~~ %h # something that should fail from now on | 19:06 | |
camelia | rakudo-{parrot,jvm,moar} 42dfe3: OUTPUT«a b c("a" => 1, "b" => 2, "d" => 3).hashTrue» | ||
PerlJam | Seems like LHF modulo the wording of the fail message. | 19:08 | |
lizmat | should we do a deprecation cycle for these now failing smartmatch combo's ? | ||
19:08
anaeem1 left
|
|||
PerlJam | lizmat: oh, good question. I tend towards "yes" | 19:09 | |
(but who would be relying on it now?) | |||
lizmat | someone with a wrong understanding of smartmatch ? | ||
19:11
klaas-janstol left
|
|||
cognome | I am not smart enough to use that. | 19:15 | |
PerlJam | cognome: sounds like you're smart enough to use it appropriately then! :) | 19:16 | |
(i.e. not at all) | |||
cognome | does that constitute a right understanding? | 19:17 | |
PerlJam | possibly. | ||
TimToady | There's little wrong with the BSDs that cannot be explained by the fact that they're still mostly competing wity System V. | 19:25 | |
*with | 19:26 | ||
huf | the golden age? :) | 19:27 | |
19:28
molaf left,
jnap left
|
|||
TimToady | well, I wouldn't trade vim for the old vi... | 19:32 | |
for one thing, vim understands Unicode :D | 19:34 | ||
lizmat | and unlimited undo across sessions :-) | 19:35 | |
dalek | kudo/nom: daf80f8 | (Elizabeth Mattijsen)++ | lib/Test.pm: Kill another fossil: no such thing as a bad death |
19:36 | |
TimToady hates it when he undoes too far and ends up in some other random file | |||
lizmat was taught that anything with "too" in it, is generally no good | 19:37 | ||
TimToady | too true | ||
lizmat is just glad it's not TimToody :-) | 19:38 | ||
carlin | "There's little wrong with the BSDs" ~ Larry Wall, 2014 | 19:39 | |
:p | |||
BinGOs | TomTiady | 19:41 | |
19:42
Ven joined
|
|||
Ven | moritz: yeah, I know the learnxiny has some quirks atm | 19:43 | |
I'm on holidays atm, no wifi, but I'm going to download it now to change some stuff | |||
lizmat | Ven++ | 19:44 | |
Ven | err, 3 days without checking them full-time, and already 121 github notifs. | 19:45 | |
[Coke] wonders how lizmat found these fossils! | |||
lizmat | [Coke]: going back through the Synopses, checking S24 for validity against the source of lib/Test.pm | 19:46 | |
[Coke] | dedication. | ||
Ven | does @<foo> work (s05) ? | ||
TimToady | not yet, I think | ||
jnthn | I thought it got impl'd a month or so ago... | 19:47 | |
lizmat | there are plenty of spectests with @< in them | 19:48 | |
TimToady | m: $_ = "a:b:c"; /$<foo>=\w % ':'/; say @<foo> | ||
camelia | rakudo-moar 42dfe3: OUTPUT«===SORRY!===Unrecognized regex metacharacter % (must be quoted to match literally)at /tmp/nu2id1sa_9:1------> $_ = "a:b:c"; /$<foo>=\w ⏏% ':'/; say @<foo>Unable to parse regex; couldn't find final '/'at…» | ||
TimToady | m: $_ = "a:b:c"; /$<foo>=\w+ % ':'/; say @<foo> | ||
camelia | rakudo-moar 42dfe3: OUTPUT«» | ||
Ven | my rakudo is two weeks old | ||
not that one, TimToady | 19:49 | ||
m: my $_ = 'a:b:c'; / @<foo>=[ \w ':' ] /; say $/; my $_ = 'a:b:c'; / $<foo>=[ \w ':' ] /; say $/ | |||
camelia | rakudo-moar 42dfe3: OUTPUT«Potential difficulties: Redeclaration of symbol $_ at /tmp/erNpyt6bMs:1 ------> my $_ ⏏= 'a:b:c'; / @<foo>=[ \w ':' ] /; say $/ Redeclaration of symbol $_ at /tmp/erNpyt6bMs:1 ------> '; / @<foo…» | ||
FROGGS | @<foo> compiles to $<foo>.list | 19:50 | |
(right now) | |||
Ven | FROGGS: not that @<foo> | ||
I mean @<foo> inside of a regexp | |||
FROGGS | ahh | 19:51 | |
k | |||
Ven | well, I'll manually merge sjn++'s PR now, and fix the remaining stuff | 19:52 | |
lizmat | m: use Test; dies_ok {...}, "foo" # why does this go outside of the "dies_ok" ? | ||
camelia | rakudo-moar 42dfe3: OUTPUT«Unhandled exception: Stub code executed at <unknown>:1 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:12986 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.mo…» | ||
Ven | I probably don't have a markdown converter tho | ||
lizmat | m: use Test; dies_ok {die}, "foo" # and this doesn't? | ||
camelia | rakudo-moar 42dfe3: OUTPUT«ok 1 - foo» | ||
lizmat | not really important, just wondering | ||
sjn | Ven: apologies for not doing it, I've been rather distracted :-\ | 19:53 | |
Ven | sjn: well, it'd have been fine doing the little nitpicks, I mostly wanted a rebase so that I could merge | 19:54 | |
now I'll do it by hand, cause my little phone internet won't handle the pulling etc :p | |||
(where "by hand" means "using vim") | 20:00 | ||
20:02
iarna left
|
|||
sjn | vim ftw :) | 20:04 | |
20:05
klaas-janstol joined
|
|||
timotimo | for the vim! | 20:11 | |
20:20
Ven left
20:25
ventica_desktop joined,
donaldh joined,
iarna joined
|
|||
dalek | kudo/nom: 88326ed | (Elizabeth Mattijsen)++ | lib/Test.pm: Make (dies|lives)_ok also take nonCallable to EVAL |
20:35 | |
lizmat | moritz: in Test.pm, shouldn't "die_on_fail" also be "is export" ? | 20:39 | |
or is "die_on_fail" a fossil (does not seem to be used in roast) | |||
moritz: asking you has git blame has your name on it :-) | 20:40 | ||
*as | |||
20:41
grondilu joined
|
|||
grondilu tried to translate rosettacode.org/wiki/The_ISAAC_Cipher from C to Perl 6 but failed | 20:41 | ||
grondilu is to lazy to insist but in case someone wants to go on: gist.github.com/grondilu/0f5ab49ae102f73c01b4 | 20:42 | ||
s/to/too/ | |||
20:46
klaas-janstol left
20:51
klaas-janstol joined
|
|||
hoelzro | lizmat: I noticed the same | 20:51 | |
I was going to fix it as a part of my test-betterer branch | 20:52 | ||
lizmat | how? by adding the "is export", or by removing it ? | ||
hoelzro | adding is export | 20:54 | |
20:56
kaare_ left
|
|||
lizmat | Actually, I'm wondering whether that shouldn't be read from an %*ENV variable | 20:57 | |
20:59
anaeem1 joined
|
|||
hoelzro | lizmat: as long as you're thinking about Test.pm, I've been thinking about how best to emulate P5's $Test::Builder::Level in P6 | 21:00 | |
I'm trying to think of a "Perl 6y" way to do it | |||
any insights (from lizmat or others) would be appreciated! | |||
lizmat | that's about where to report errors in your own test routines, right ? | 21:01 | |
couldn't that be handled by "is hidden_from_backtrace" ? | 21:02 | ||
21:03
anaeem1 left
|
|||
hoelzro | I tried that, didn't work =/ | 21:04 | |
I don't think callframe respects that | 21:05 | ||
lizmat | hmmm.... | ||
dalek | blets: 779af62 | (Herbert Breunung)++ | docs/ (3 files): update op tables |
21:06 | |
21:12
mathw left,
ChoHag left,
ggherdov left,
flussence left,
mls left,
mls joined,
ChoHag joined
21:13
mathw joined,
flussence joined,
firnsy left,
firnsy joined,
firnsy left,
firnsy joined,
FROGGS left
21:14
FROGGS joined
21:15
dmol joined,
ggherdov joined
21:24
spider-mario left
|
|||
dalek | p: a5f15a2 | (Timo Paulssen)++ | src/NQP/Optimizer.nqp: can also integerize mod_n, neg_n and abs_n. |
21:29 | |
21:36
ventica_desktop left,
spider-mario joined
21:37
rurban1 joined
21:39
BenGoldberg joined
|
|||
dalek | blets: e93f403 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt: repairing smartmatch table |
21:41 | |
blets: af68469 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt: repair Associativity table |
21:42 | ||
21:43
rurban1 left
21:45
Vlavv left,
gfldex left
21:50
klaas-janstol left
|
|||
donaldh finally got around to looking for performance bottlenecks on JVM backend. | 21:51 | ||
yoleaux | 17 Jul 2014 19:35Z <[Coke]> donaldh: - can you add some notes to the README for perl6-eclipse-plugin about how to install it in eclipse? | ||
donaldh | oh, has it been that long. | ||
timotimo | hey donaldh | 21:52 | |
nice to see you again :) | |||
donaldh | Found a worthwhile performance improvement in serialization: gist.github.com/donaldh/1c7b535762d6dc3f8997 | ||
timotimo | holy hell! | ||
that is a *nice* win | |||
donaldh | Stage jast : 56.511 becomes 15.708 | ||
21:52
ventica_desktop joined
|
|||
jnthn | omg | 21:53 | |
donaldh++! | |||
donaldh | Turns out that indexOf is the culprit for getting sc ids. | ||
I'm storing indexes in a hash just now, but maybe it would be better to just push the indexes into SixModelObject, a bit like Moar does. | 21:54 | ||
jnthn | *nod* | ||
A hash is a nice solution for now though | |||
timotimo | donaldh: did you follow the changes jnthn has been doing to MoarVM and the jit project brrt did for GSoC? | 21:55 | |
donaldh | Well I'll clean it up a bit and commit it. Probs tomorrow now. | ||
timotimo | did you use a specific tool to figure this out? | ||
donaldh | timotimo: I've been reading your status reports, yes. But I don't know any of the details. | ||
timotimo | details: MoarVM starts up quite a bit faster and uses quite a bit less RAM for simpler programs in perl6 | 21:56 | |
donaldh | Well I've been getting frustrated with jvisualvm profiling actually crashing the JVM. | ||
timotimo | i remember having that problem myself | ||
donaldh | So I've resorted to using -Xprof | ||
21:57
Vlavv joined
|
|||
donaldh | If you wonder what the impact of turning off JIT is: gist.github.com/donaldh/a9af6bb2422027982042 | 21:57 | |
4911.95 secs to compile the CORE.setting | 21:58 | ||
jnthn | o.O | ||
diakopter | hee | ||
timotimo | oooooooh | ||
wow. | |||
donaldh | Well, that's -Xint which might do more than just turn off JIT. | ||
21:59
rurban1 joined
|
|||
BenGoldberg | After you've applied your optimization, what does that profile with -Xprof look like? | 22:00 | |
donaldh | which, the -Xint one? | 22:01 | |
BenGoldberg | Yeah | ||
donaldh | I haven't run it yet. I t t a k e s a w h i l e | 22:02 | |
BenGoldberg | Presumably something other than ArrayList.indexof tops the list. | ||
Hmm... can you run with -Xprof without -Xint? | |||
lizmat | good night, #perl6! | 22:03 | |
BenGoldberg | G'night lizmat :) | ||
timotimo | gnite lizmat! | ||
jnthn | o/ lizmat | ||
donaldh | Yeah, but you get split numbers some before JIT kicks in, some after. | 22:04 | |
donaldh is running it ATM | |||
BenGoldberg | Considering the gargantuan speed difference between jit vs interpreted, there ought to be some way to first warm up the JVM (including getting JIT done), then start profiling. | 22:05 | |
donaldh | Oh, -noverify gives a 2s improvement in startup on my machine. | ||
possibly -Xbatch which does all the JIT. That comes at a huge cost too :-( | 22:06 | ||
BenGoldberg wonders whether -Xbatch or -Xint is costlier. | 22:07 | ||
donaldh | I think what I have identified is that a gazillion calls to indexOf is slow when JITed and mindbogglingly slow when interpreted. | ||
BenGoldberg | :) | 22:08 | |
donaldh should have an -Xint -Xprof list in 20min or so. | 22:10 | ||
22:11
ajr_ left
|
|||
donaldh | timotimo: I'm guessing some of the MoarVM performance gains are present on other backends too - parse and optimise stages are certainly faster on JVM. | 22:12 | |
timotimo | yes. but there are even bigger wins to be had once the jvm is taught how these new optimizations work | 22:13 | |
22:13
treehug88 left
|
|||
donaldh | Well jvm still has the priorInvocation thing in StaticCodeInfo which I think causes it to retain a lot more in heap than necessary. | 22:15 | |
I never got my head around how to do it the MoarVM way. | 22:16 | ||
timotimo | neither have i | ||
donaldh | that one requires jnthn fu | 22:17 | |
timotimo | :) | ||
it's a tiny bit disappointing that turning on moarvm's jit for compiling rakudo is a tiny bit slower than without | 22:19 | ||
but that *does* mean we're getting the time spent jitting code back by having slightly faster code execute often enough ... OSLT | 22:21 | ||
jnthn | The other thing is that if you profile the CORE.setting compile, only around 30% or so of the time is actually spent in the interpreter itself doing small ops. | 22:22 | |
TimToady | well, a compiler runs lots of different bits of code a few times, so it's not where you'd see a lot of gain from a JIT anyway | ||
timotimo | that's right | ||
jnthn | Plus what TimToady said | ||
If you run the JIT on loopy things it can handle, it's quite a win. | |||
TimToady | for a compiler, you'd wanna snapshot the JIT at some point to make it a precompile | 22:23 | |
timotimo | jnthn: yeah, and then the frustrating thing is that we don't get to see the wins in perl6-bench yet :) | ||
TimToady | or feed the jit-me signal back to the original somehow | ||
jnthn | timotimo: The one I posted the other day that was a big win was directly out of perl6-bench :) | ||
timotimo | oh? | 22:24 | |
does that mean i should run perl6-bench against moar-jit now? | |||
jnthn | Well, you might want to wait while I work on bigint ops a bit | ||
timotimo | oh! :) | ||
jnthn | add_I being jittable will probably helps some other benchmarks :) | ||
BenGoldberg | It's too bad you can't cache the jit-ed code between runs. | ||
timotimo | do we actually need to change that much? | ||
jnthn | timotimo: No | ||
And it's not that hard | 22:25 | ||
timotimo | ah, so the same kind of deal i've been doing all along :) | ||
jnthn | A little code-reorg is all | ||
We can actually use type info to do better at these in the future too | |||
TimToady | could think about how to integrate that with an incremental compiler in the future | ||
oh, this routine is the same, *WHAM* | 22:26 | ||
timotimo | do you think we can in-line the "smallbigint" computation in the jit and drop back into the "full" function if we're above 16 bit integers? | ||
jnthn | timotimo: Eventually yes | ||
Well, probably | |||
It needs an allocation though | |||
So I dunno | |||
The extra code size we'd produce in doing it may not be a win over the function call | |||
timotimo | OK | 22:27 | |
TimToady | JIT might prefer pushing smallbigints all the way back into the original pointer | ||
like most LISPs do | |||
then you get smallbigints that are nearly your pointer size | |||
timotimo | well, if the code knows the number is actually inside the pointer and it can properly emit overflow checks, that would sound like a good improvement | 22:28 | |
jnthn | We already do union the smallint with the mp_int pointer, iirc | ||
Inside the Int body | |||
timotimo | that's true, but we still need a bit of "flag" data to signal it's not a regular big int | ||
we can't have full 64bit for the smallbigint for that reason iirc | 22:29 | ||
jnthn | We already have that; that's how it knows today that it's a smallbigint :) | ||
Yes, that's true, but 32 bits should be enough for anyone :P | |||
timotimo | except 64bit would be much better! :) | ||
jnthn | Could have 63 and use the LSB, then bit-shift by 1... :) | 22:30 | |
TimToady | that gets you a sign for free | ||
though you'd like a spare bit up top for fast addition overflow check | 22:31 | ||
japhb | timotimo: Are you planning a p6weekly this week? | ||
jnthn | Oh, yeah...the overflow check... | ||
22:31
Psyche^_ joined
|
|||
TimToady | multiplication overflow is harder | 22:31 | |
timotimo | i meant to, then i got distracted and then i got more distracted | ||
japhb | sub distract() { think; wander; sit; distract; } | 22:32 | |
timotimo | japhb: do you have suggestions? because all i can think of this week is some more spec work lizmat did, the improvements jnthn did to memory usage and sergot's newest blog post | ||
TimToady | but for something like static multi-dim array calculations, you can pretty much guarantee that your indices are not going to approach 2^60 any time soon | ||
japhb | I think I did some perl6-bench commits since your last one, but I haven't checked. | ||
There's been all of hoelzro's work, but as it's not merged to nom yet, I don't know if you would include that or not. | 22:33 | ||
timotimo | i think i should! | ||
TimToady | .oO("I wonder as I wander"?) |
||
japhb | But I must admit to mostly being a consumer rather than producer as far as p6weekly content is concerned ... | ||
hoelzro | the matrix is almost complete =D | ||
timotimo | :) | ||
jnthn | timotimo: And async process stuff, and JIT improvements, and JIT merge... :) | ||
hoelzro | github.com/perl6/roast/blob/S26-WH...d-by-tests | ||
japhb | Oh right, the JIT merge happened this week! | ||
hoelzro | wow, only subsets and constants left | 22:34 | |
maybe I'll try to squeeze in variables | |||
jnthn | timotimo: I think there were some other compile time opts too... | ||
japhb | Also, (async process stuff)++ | ||
timotimo | oh, i had "jit" mentioned in that sentence and then restructured it and it got missed :\ | ||
hoelzro | gah, multi methods too =/ | ||
TimToady | timotimo: I made large pushes like 4 times faster | ||
japhb | timotimo: git log --reverse --since=<previous-p6weekly-date> | 22:35 | |
:-) | |||
22:35
Psyche^ left
|
|||
timotimo | oh! yes, you did | 22:35 | |
TimToady | give or take a few orders of magnitude; let's just say it scales much better now when you @a.push(@a) | ||
one almost wants to implement 0 xx $large with that now | 22:36 | ||
japhb | TimToady: Is there a perl6-bench test for that now? | ||
TimToady | notyet | ||
been fighting the hardware wars at home | |||
not to mention the wetware wars... | |||
japhb | .oO( Sega v. Nintendo? ) |
||
TimToady | actually, setting up dialysis infrastructure for my brother-in-law so he doesn't have to carry big buckets of fluid around every day | 22:37 | |
it's now a series of tubes :) | 22:38 | ||
japhb | Your brother-in-law is the Internet now? | ||
TimToady | and we no longer have extension cords running down the hallway because I grounded the outlet in his bedroom now | ||
japhb | Good on ya for all of that, especially while recovering from your own med stuff. | 22:39 | |
TimToady | well, it wasn't too hard on my eye, but I'm still pretty sore from all the crawling under the house... | ||
japhb is reminded of an old interview with Michael J. Fox, in which he was asked if he helped out with the kids, and said that in no uncertain terms he was not suddenly absolved from making PB&J sandwiches. | 22:40 | ||
donaldh | Latest -Xprof info for JVM gist.github.com/donaldh/1f4449171070ce390e20 | ||
22:40
pmurias left
|
|||
timotimo | wow, isinstance, eh? | 22:41 | |
TimToady | is that like :D or somethin'? | 22:42 | |
japhb | TimToady: From name I'd guess that it's $object ~~ Type | ||
timotimo | oh | ||
that's right, japhb | 22:43 | ||
japhb | So either we do that A LOT, or the implementation in the JVM is slow. | ||
Or both. | |||
timotimo | i think we really do that a lot | ||
TimToady | hoist spesh up to nqp now? | 22:44 | |
timotimo | we may be doing that a whole lot in the ops | ||
TimToady | or copy spesh over into JVM support? | ||
22:45
rurban1 left
|
|||
TimToady | well, I guess the guards would still have to check the type... | 22:45 | |
japhb | TimToady: It does seem like the parts dependent on staticly determined info ought to be caught in the NQP/Rakudo optimizers, not as late as spesh, but waddooIknow | ||
timotimo | we can only do a tiny amount of that in nqp's optimizer | ||
TimToady | I suspect we could do better with subscripting not delegating to at_pos and such | ||
timotimo | especially since we have monkey typing and subclassing | ||
22:47
spider-mario left
|
|||
TimToady | that's why S12:2172 | 22:48 | |
synopsebot | Link: perlcabal.org/syn/S12.html#line_2172 | ||
TimToady | at FINAL time you can start to make assumptions | ||
timotimo | hmm | 22:49 | |
TimToady | we've thank a lot about optimizability over the years | ||
not that FINAL is implemented yet... | 22:50 | ||
22:50
dmol left
|
|||
timotimo | our optimizer can run earlier than that, right? | 22:50 | |
for example when we precompile | |||
TimToady | FINAL might be a misleading name, I suppose | ||
timotimo | actually ... also when we just "use" a class and it gets compiled for us | ||
TimToady | well, you can do a lot at CHECK time, but really, this is LINK time | 22:51 | |
so maybe we should call it LINK instead of FINAL | |||
timotimo | i wonder how we can actually do optimizations at that point; we usually only have the qasts of very small methods/subroutines at that points | ||
jnthn | TimToady: The problem is that it's application level, meaning that by then - unless you precompiled - modules have already been compiled | 22:52 | |
TimToady: Thus it really is in the realm of dynamic opt to take the FINAL and do stuff based on it | |||
TimToady | but that includes, like, throwing away guards, n'est pa? | ||
and jitting to code that does at_pos directly rather than delegating | 22:53 | ||
jnthn | Are we talking REPR-level at_pos here? | 22:54 | |
That is already elligible for de-virtualization | |||
Just not actually implemented yet | |||
TimToady | I'm talking about the at_pos called all over the place in List.pm | ||
jnthn | Potentially, at_pos can be inlined into whatever is calling it. | 22:55 | |
Trouble is that it's quite sizable | 22:56 | ||
timotimo | do we have too many checks? | 22:57 | |
TimToady | though I think we'll get more immediate win from static analysis of lvalue vs rvalue vs unknown | 22:59 | |
22:59
anaeem1 joined
|
|||
donaldh | java.lang.Class.isInstance is being called by any java code that needs a dynamic cast. MethodHandle binding is the first I've found. | 23:00 | |
timotimo | donaldh: did you look for any actual isInstance calls in the RakudoOps.java? | 23:01 | |
donaldh | None exist. | ||
timotimo | oh | ||
TimToady | actually, I was thinking more of staticalizing a lot of the dispatch decisions in array_slice.pm | 23:02 | |
timotimo | oh | ||
i meant instanceof | |||
do you think that compiles to the same thing? | |||
23:04
anaeem1 left
|
|||
donaldh | nope, instanceof is done at compiletime. | 23:06 | |
timotimo | oh? | 23:07 | |
donaldh | sorry, statically. It's an op or someting. | ||
timotimo | OK | ||
so the isInstance thing is an even more "late-bound" version of instanceof | 23:08 | ||
or something like that | |||
donaldh | java.lang.Class.isInstance gets called for dynamic cast decisions, when LHS and RHS are both objects | ||
timotimo | ah, so instanceof is only for compile-time-known RHS | 23:09 | |
donaldh | it gets called pretty much all the time by the invokedynamic stuff. | ||
timotimo | oh, mhm | ||
donaldh | e.g. all the MethodHandle.invoke* methods | 23:11 | |
timotimo | the next java is supposed to be better at indy, right? | ||
or was that the current one@s | |||
? | |||
23:12
grondilu left
|
|||
dalek | ecs: 3071eed | TimToady++ | S (3 files): s/FINAL/LINK/ for clarity We don't want people confusing this with any other kind of finalization. |
23:15 | |
timotimo is off to bed | 23:16 | ||
dalek | d: de015ef | TimToady++ | viv: avoid a new experimental warning in P5 |
23:20 | |
d: 81e0d07 | TimToady++ | STD.pm6: s/FINAL/LINK/ to match spec |
|||
TimToady | japhb: also, I didn't want to commit without testing, and it seems there are a lot of prerequisites for getting perl-bench going that I haven't got around to dealing with | 23:22 | |
jnthn | ugh, such tired... | 23:27 | |
jnthn slept badly the last 2 nights | |||
Let's see if tonight works out better... :) | |||
o/ | |||
japhb | TimToady: Hmmm, sounds like I need to do something to make it easier to install perl6-bench then. | 23:29 | |
Good luck, jnthn | |||
TimToady | japhb: oh, and niecza breaks with my current mono :/ | 23:33 | |
(v3.2.8) | 23:34 | ||
23:35
donaldh left
|
|||
TimToady | gist.github.com/anonymous/bd3bea04ce9ce249aa40 if anyone's interested in the failure to install niecza on mono 3.2.8 | 23:37 | |
(3.2.8 being what comes from Ubuntu these days) | 23:39 | ||
japhb | Ubuntu 14.04? | 23:49 | |
23:53
colomon joined
23:57
dayangkun joined
|