»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:07
_jaldhar joined,
silug joined
00:09
LoRe left
00:16
silug left
00:17
silug joined
00:35
alester joined
00:41
LoRe joined
|
|||
whiteknight | Any Rakudo folks around tonight? | 00:41 | |
00:46
kid51 joined
|
|||
sorear | whiteknight: define "Rakudo folk" | 00:46 | |
00:46
GinoMan joined
|
|||
kid51 | If I wish to follow *one* Perl 6 list via NNTP (and am coming from the Parrot angle), which should I follow: perl.perl6.compiler? | 00:47 | |
whiteknight | it's a genre of folk music with Rakudo influences | ||
sorear | kid51: yes .compiler is the main one where Parrot is discussed | 00:48 | |
dalek | ecza: 69fc81c | sorear++ | lib/ (2 files): Simplify calling convention for NewBoundVar |
00:50 | |
ecza: 22c5703 | sorear++ | / (4 files): Make , and => inlinable |
|||
01:16
ymasory joined
01:19
kanishka left
01:22
alester left
01:31
ascent_ left,
ascent_ joined
01:37
kanishka joined
|
|||
colomon | jnthn: any idea why changing PERL6_EXE doesn't seem to actually change the name of the executable it tries to build? (for r-nom, I mean) | 01:37 | |
01:41
s1n left
01:43
kid51 left
|
|||
dalek | ecza: 187ee75 | sorear++ | / (3 files): Deinline most of the subrule calling logic |
01:45 | |
01:49
Helios left
01:50
gbacon joined
01:52
ascent_ left
01:54
ascent_ joined
01:59
Helios joined
02:01
drbean joined
02:08
whiteknight left
02:09
yinyin joined
|
|||
dalek | ecza: 964c1a9 | sorear++ | src/NieczaCompiler.pm6: Fix stage time display |
02:18 | |
02:23
Transformer joined
02:24
Transformer left
02:32
yinyin left
02:33
yinyin joined,
yinyin left,
yinyin joined
02:50
GinoMan left
02:58
silug left
03:10
molaf joined
03:13
gbacon left
03:25
[particle]1 joined
03:26
[particle] left
03:35
kanishka left
03:36
molaf left
|
|||
ingy | seen patch_ | 03:39 | |
aloha | patch_ was last seen in #perl6 19 days 2 hours ago joining the channel. | ||
03:54
wamba joined
04:20
daniel-s joined
04:25
mberends left
04:29
satyavvd joined,
nymacro joined
04:30
mberends joined
|
|||
dalek | ecza: 85c5cf8 | sorear++ | lib/ (2 files): Remove LoadSubInfo calls to a data-driven loop |
04:32 | |
ecza: bc071de | sorear++ | lib/ (3 files): Avoid insanely calling Array.new/Hash.new during metaobject thaw |
|||
04:35
birdwindupbird joined
04:37
[particle]1 is now known as [particle]
04:38
daniel-s left
04:42
kanishka joined
05:03
wamba left
05:08
ymasory left
05:14
silug joined
05:26
mberends left
05:32
lue joined
05:33
kanishka left
05:44
koban joined
05:47
kanishka joined
05:52
wtw joined
06:04
jfried joined
06:07
fhelmberger joined
06:12
mtk left
06:20
mtk joined
|
|||
dalek | ecza: 82fa631 | sorear++ | lib/ (3 files): Start bringing package storage into the data age, too |
06:24 | |
ecza: 0a14ada | sorear++ | lib/ (2 files): .HOW is built using runtime methods |
|||
ecza: a6e2cfe | sorear++ | / (2 files): Start to simplify method call code |
|||
06:37
mberends joined
06:38
amkrankruleuen left
06:39
amkrankruleuen joined
06:42
BinGOs left,
silug left,
BinGOs joined
06:44
wamba joined
|
|||
dalek | ecza: 15c1085 | sorear++ | lib/CLRBackend.cs: Enable unrestricted reordering of function argument evaluation |
06:45 | |
06:47
amkrankruleuen left
06:48
amkrankruleuen joined
06:58
amkrankruleuen left
06:59
amkrankruleuen joined,
wamba left
|
|||
sorear waits for the public outcry to that last one. | 07:00 | ||
07:01
kanishka left
07:02
wamba joined
|
|||
jdhore1 | moritz, Good news! | 07:11 | |
moritz, I have the perfect name for Rakudo 2011.06 | 07:12 | ||
07:13
koban left
07:16
wamba left
07:19
orafu left
07:23
amkrankruleuen left
07:24
mj41 joined
07:25
Mowah joined
07:28
wamba joined
07:29
amkrankruleuen joined
|
|||
dalek | ecza: 16e033d | sorear++ | lib/CLRBackend.cs: Treat constant pool values as constant |
07:37 | |
ecza: aaa3bbe | sorear++ | / (2 files): Fix backward logic, also implement handling of void context optimizations in regexes |
|||
ecza: 90e4727 | sorear++ | lib/CLRBackend.cs: Mark RxFrame as reorderable |
|||
07:49
wamba left
08:05
amkrankruleuen left
08:06
amkrankruleuen joined
|
|||
sorear out for tonight | 08:07 | ||
std's down to 1.51 mb. maybe improvable | |||
tadzik | re the yesterday named-positional discussion, I think when a function takes 8 positional params, like mysql_real_connect or something, that means one should probably think about making it accept named params instead. So fix the odd cases instead of fixing the language | 08:16 | |
Just my 5 gr. | |||
jdhore1 | sorear, Just my 2p, but IMO size isn't the best thing in the world to optimize. Diskspace is cheap. | 08:17 | |
tadzik | loadtime is not | 08:20 | |
jnthn | mornin' | ||
tadzik | hey jnthn | 08:21 | |
jnthn | <= at $dayjob | ||
perigrin | me too! | 08:22 | |
except my day job seems to be a night job | |||
:/ | |||
08:22
beppu left,
lue left
08:23
lue joined,
Yappoko__ left
08:24
beppu joined,
Yappoko__ joined
08:26
dakkar joined,
xinming joined
|
|||
mberends <= also @work, and with plenty idle time between presentations :) | 08:26 | ||
08:28
SHODAN joined
|
|||
mberends | for parameter passing, I like the Microsoft SQL (Transact-SQL) style, which seems not too far from the pre-manifesto Perl 6 style. | 08:28 | |
08:28
amkrankruleuen left
|
|||
mberends | positional by default, optional aliases, and when mixed in a single call, positionals first until exhausted, then nameds. | 08:29 | |
08:29
fhelmberger_ joined
|
|||
tadzik | aliases? | 08:31 | |
mberends | names | ||
tadzik | oh, names for positional? | ||
08:31
fhelmberger left
|
|||
tadzik | ($foo, $bar is also-named<babar>), or something? | 08:31 | |
mberends | yes, kinda. func($foo, :name($bar)) | 08:32 | |
08:34
amkrankruleuen joined
|
|||
jdhore1 | related question (somewhat): Are P6 std macros intended to be more like C macros or LISP macros? | 08:35 | |
mberends | I believe less like C macros (not plain textual) | 08:36 | |
jdhore1 | ah, not bad | 08:37 | |
I like C macros for their simplicity, but LISP macros can be relatively simple but INSANELY powerful | |||
arnsholt_ | IIRC they're supposed to be hygienic macros like in Scheme | 08:39 | |
mathw | they're not at all like C ones | 08:40 | |
much more like lisp ones | 08:41 | ||
definitely in the line of parse tree transformation/grammar extension rather than text expansion and substitution | |||
jnthn | Indeed. | 08:42 | |
mathw | jnthn: but they don't work yet! Chop chop! :P | 08:43 | |
jnthn | :P | ||
moritz | jdhore1: (re name for rakudo) does Douglas Adam's home town has a .pm group? :-) | 08:46 | |
jdhore1 | moritz, Unfortunately, no, nor does where he died or was buried (Well they do, but it's been used), but i have one just as good | 08:47 | |
moritz, Bruxelles, Belgium | 08:48 | ||
moritz | jdhore1: why? | ||
jdhore1 | moritz, en.wikipedia.org/wiki/Life,_the_Uni...Censorship | 08:49 | |
moritz | :-) | 08:53 | |
tadzik | hehe | ||
jdhore1 | I love that Belgium is the most offensive word in the universe | ||
er, the galaxy | 08:54 | ||
perigrin | "Another Mother Belgian Release" | 08:59 | |
mathw | In all places except one. Where they don't know what it means. | 09:00 | |
I also liked the idea that the game of cricket is considered to be in incredibly poor taste by everybody else in the galaxy. | 09:01 | ||
09:02
silug joined
09:03
donri left
09:09
MayDaniel joined
09:20
daniel-s joined
09:34
wamba joined
09:39
agentzh joined
09:44
xinming left
09:47
wamba left
10:11
MayDaniel left
10:18
amkrankruleuen left
10:22
amkrankruleuen joined
10:29
snearch joined
10:30
am0c left
10:35
amkrankruleuen left
10:44
wamba joined
10:46
daniel-s left,
amkrankruleuen joined
10:49
wamba left
10:55
koban` joined
10:57
ab5tract joined
11:01
xinming joined
11:06
Patterner left
11:07
Psyche^ joined,
Psyche^ is now known as Patterner
11:12
snearch left
11:28
pernatiy left
11:31
amkrankruleuen left
11:32
amkrankruleuen joined,
satyavvd left
11:35
MayDaniel joined
11:38
silug left,
ab5tract left
11:39
silug joined
11:40
amkrankruleuen left
11:41
MayDaniel left,
amkrankruleuen joined
11:42
Mowah_ joined
11:45
bacek joined
11:50
s1n joined
12:01
agentzh left
|
|||
moritz wonders if MARC (MAchine-Readable Cataloguing) is so general that it's impossible to get useful information out of it | 12:11 | ||
12:18
kanishka joined
|
|||
takadonet | morning all | 12:22 | |
jnthn | o/ takadonet | ||
takadonet | jnthn: how are you sir? | 12:26 | |
jnthn | takadonet: A little behind on sleep, but otherwise fine, thanks. :) | 12:27 | |
And you? | |||
12:30
yinyin left
12:32
bacek left
12:34
x3nU joined,
x3nU left
|
|||
takadonet | busy as hell but great | 12:36 | |
12:38
silug left
|
|||
colomon | o/ | 12:39 | |
12:40
silug joined,
JimmyZ joined
|
|||
colomon | re Belgium and Hitchhikers -- I really think that's an example where censorship actually made the book better. Most Gratuitous Use of the Word 'Belgium' in a Serious Screenplay is just plain funnier than the original, IMO. | 12:42 | |
12:45
bacek joined
12:52
Holy_Cow joined,
Holy_Cow left
12:58
wknight8111 joined
13:10
c1sung joined
13:19
pernatiy joined
13:25
daniel-s joined
13:49
xinming left
|
|||
colomon | jnthn: tried fixing the directory / executable mixup last night. failed miserably. looks like it should be trivial, but it isn't, somehow | 13:50 | |
13:52
Zapelius left
|
|||
moritz | just call the executable .exe on macos too :-) | 13:52 | |
13:53
Zapelius joined
13:54
MayDaniel joined
|
|||
colomon | moritz: I tried renaming the executable to nom, and that didn't work. :( | 13:55 | |
moritz | colomon: what failed? | ||
colomon | it still tried to build an executable named perl6 | 13:56 | |
I set PERL6_EXE = nom$(EXE) | |||
but it still did c++ -o perl6 "perl6.o" ... | |||
moritz | colomon: because PBC_TO_EXE is called with perl6.pbc | 13:57 | |
colomon | hmmm... so try to make PERL6_PBC nom.pbc? | ||
oooo, different error! | 13:58 | ||
moritz | or maybe pbc_to_exe has some option for the output file name | ||
colomon | looks like "nom" built, but now it's failing when it tries to do something | ||
moritz | compiling the setting? | ||
colomon | Method 'compose' not found for invocant of class 'SixModelObject' | 13:59 | |
I believe so | |||
moritz | that's what I get too | ||
colomon | yay! | 14:00 | |
consistent failures! | |||
14:00
mtk left
|
|||
colomon | of course, probably renaming PBC and exe to "nom" is not a good general purpose solution... | 14:00 | |
moritz | right | 14:01 | |
colomon | I tried renaming the Perl6 directory, but apparently it is actually being used internal to the code, maybe as a module lookup path? | 14:02 | |
moritz | it is | 14:03 | |
14:06
amkrankruleuen left
14:07
amkrankruleuen joined,
koban` left
14:08
mtk joined
14:13
amkrankruleuen left
|
|||
jnthn | colomon: Yes, it's used in use statements. :) | 14:13 | |
colomon | don't suppose it could be lib/Perl6 ? | 14:14 | |
jnthn | Maybe. | ||
14:14
amkrankruleuen joined
|
|||
jnthn | Can even hack it as use lib::Perl6::Grammar. ;) | 14:15 | |
14:15
wtw left
|
|||
jnthn | colomon, moritz: Where does the "can't compose" occur? In ClassHOW.compose? | 14:15 | |
colomon | gist.github.com/991058 | 14:16 | |
14:16
kanishka left
|
|||
jnthn | hm | 14:16 | |
ok, the failure makes sense apart from it doesn't make sense that I don't get it also :/ | |||
Will take a look this evening when I get home. | 14:17 | ||
I should toss the PIR dumping too now things work a bit better :) | |||
moritz | jnthn: I cleaned out everything before rebuilding... maybe you'd get the same error if you did too :-) | 14:19 | |
jnthn | moritz: That may well be the case. | 14:20 | |
moritz: Anyway, you're getting most of the way through the build, which is something. :) | 14:21 | ||
moritz wants MOAR | 14:25 | ||
colomon wants it all, and he wants it now. ;) | 14:34 | ||
14:34
JimmyZ left
|
|||
mathw | yeah yeah | 14:34 | |
mathw hears the screaming guitar solo | 14:35 | ||
jnthn | So do the first line of the first task in nommap. It's mostly just a use of "can" on the current $*PACKAGE.HOW, like we do for add_attribute. :) | ||
14:38
xinming joined
|
|||
moritz | nommap still reads like an awful lot to do | 14:38 | |
jnthn | moritz: It *is* an awful lot to do. :P | 14:40 | |
14:43
hercynium joined
|
|||
TimToady wondered briefly what you guys have against mmap :) | 14:49 | ||
PerlJam | TimToady: heh, I thought that too at first glance :) | 14:50 | |
14:51
alester joined,
Sarten-X left
|
|||
colomon | mathw: Was listening to Brian May on my walk this morning. | 14:51 | |
mathw | :) | ||
14:52
alester left
14:53
alester joined
14:54
mtk left
14:55
daniel-s left
14:56
kaare_ joined
14:58
nymacro left
14:59
mtk joined
|
|||
jnthn | home & | 15:00 | |
15:02
Sarten-X joined,
baest left,
baest joined,
SHODAN left
|
|||
mberends | indeed, train & | 15:12 | |
15:15
am0c joined
15:17
jfried left,
MayDaniel left
15:21
ymasory joined
15:22
mberends left
15:26
JimmyZ joined
|
|||
TimToady wonders if the types for codepoint strings should be NFC, NFD, etc... | 15:32 | ||
15:33
_jaldhar left
|
|||
JimmyZ | NFG? | 15:33 | |
15:38
GinoMan joined
|
|||
TimToady | NFG is called "Str" | 15:41 | |
15:45
ymasory left
|
|||
TimToady | or maybe they're "native" enough to be called nfc and nfd | 15:50 | |
but should they share the buf nature as the utf8 buf does? hmm... | |||
rakudo: say utf8("foo").WHAT | 15:52 | ||
p6eval | rakudo 369665: OUTPUT«Could not find sub &utf8 in main program body at line 22:/tmp/J8ESx2Dm9L» | ||
TimToady | std: utf8 utf8 | ||
p6eval | std 4b1b100: OUTPUT«===SORRY!===Two terms in a row at /tmp/pE_HZb75A4 line 1:------> utf8 ⏏utf8 expecting any of: bracketed infix infix or meta-infix statement modifier loopParse failedFAILED 00:01 113m» | ||
jnthn home :) | |||
TimToady | std: say utf8("foo").WHAT | 15:54 | |
p6eval | std 4b1b100: OUTPUT«ok 00:01 113m» | ||
JimmyZ | std: utf8 utf16 | ||
p6eval | std 4b1b100: OUTPUT«===SORRY!===Two terms in a row at /tmp/Ezmv2Vezh2 line 1:------> utf8 ⏏utf16 expecting any of: bracketed infix infix or meta-infix statement modifier loopParse failedFAILED 00:01 113m» | 15:55 | |
TimToady | perl6: say utf8("foo").WHAT | ||
p6eval | rakudo 369665: OUTPUT«Could not find sub &utf8 in main program body at line 22:/tmp/pZnO4C3QNP» | ||
..niecza v5-75-g90e4727: OUTPUT«===SORRY!===Undeclared routine: 'utf8' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 413 (CORE die @ 2) at /home/p6eval/niecza/src/STD.pm6 line 1143 (STD P6.comp_unit @ 77) at | |||
../home/p6eval/niecza/src/… | |||
..pugs: OUTPUT«*** No such subroutine: "&utf8" at /tmp/eul55G1XWr line 1, column 5 - line 2, column 1» | |||
TimToady | tsk tsk | ||
it's hard to advertise the advantages of Perl 6's string type system when everyone is still faking it... :) | 15:56 | ||
we're just not faking it as hard as Perl 5 is faking it... | 15:58 | ||
jnthn | Maybe us implementors just like to fake it easy. :) | 15:59 | |
16:00
REPLeffect left
|
|||
TimToady has an appropriate amount of pun | 16:00 | ||
16:08
kaare_ left
16:09
kaare_ joined
|
|||
jnthn tries to reproduce the issue moritz and colomon are seeing | 16:10 | ||
16:14
REPLeffect joined
16:18
ymasory joined,
thou joined
16:20
kjeldahl joined
|
|||
jnthn | ah, a make realclean did it. | 16:23 | |
tadzik | yeah, same hier | ||
jnthn | I wonder how it ever coulda worked... | 16:25 | |
pmichaud | good morning, #perl6 | 16:26 | |
JimmyZ | morning pmichaud | ||
tadzik | good morning pmichaud | ||
pmichaud: is there a chance you could rpbench master vs. gsoc-podparser? | 16:27 | ||
nothing important, just my curiosity | 16:28 | ||
16:28
MayDaniel joined,
gbacon joined
16:30
molaf joined
|
|||
pmichaud | tadzik: yes, I can | 16:32 | |
16:34
kaare_ left
|
|||
pmichaud | (faking string types) we don't yet have the level of control over the vm that perl 5 does. Sad, that. | 16:34 | |
jnthn | pmichaud: Potential for our own representations. We has it. :) | 16:35 | |
(e.g. we probably do have change to do such things in a decent way once 6model is in...given resources to make it happen, of course) | 16:36 | ||
16:38
MayDaniel left
16:39
ymasory left
|
|||
sorear | good * #perl6 | 16:41 | |
16:41
birdwindupbird left
|
|||
sorear | jdhore1: size is an exactly measurable proxy for loadtime (I measure that too, but only to 1.5 sig figures) | 16:41 | |
pmichaud | tadzik: how does gsoc-podparser differ from master at this point? i.e., what features should I be comparing? | 16:43 | |
oh, I can just do everything, I guess. | 16:44 | ||
tadzik | pmichaud: it passes more spectests than master (some todos), I'm curious whether an additional parser nodes slowed down anything | ||
pmichaud | yes, spectests seem like the most likely items | ||
none of the other tests evaluate comments or the like | 16:45 | ||
(most of the other tests don't contain pod or comments) | |||
sorear | bah, looks like I broke something... full testing run last night failed | 16:46 | |
TimToady: it would help if the spec weren't so handwavey :P | |||
pmichaud | in lots of cases, "handwavey" just means "left as an exercise to the reader" (where "reader" == "implementors and users") | 16:48 | |
16:49
jedai_ joined
|
|||
TimToady | overspecified is often more dangerous than underspecified | 16:50 | |
pmichaud | that's fer shure | ||
dalek | kudo/nom: 29b8987 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Add missing attribute compose method, to fix build breakage noticed by colomon++ and moritz++. |
||
tadzik | hi hi | 16:51 | |
colomon | mostly by moritz++ | ||
16:52
jedai left
16:54
wamba joined
16:56
silug left
|
|||
colomon | jnthn: git pull & make got me the exact same error. I'm supposing a make clean & make will probably work, but presumably the makefile is supposed to make that unnecessary here? | 16:56 | |
jnthn | colomon: hmm, yes | 16:57 | |
colomon: I'm curious what in the makefile is causing that issue. :/ | |||
tadzik | colomon: try realclean | ||
16:57
awoodland joined
|
|||
jnthn | I realclean'd. | 16:57 | |
tadzik | oh, nvm, misread | ||
colomon | nom | 17:00 | |
> say 4+5 | |||
Can only use get_who on a SixModelObject | |||
Still, seems like build worked! | |||
17:00
cdarroch joined,
cdarroch left,
cdarroch joined,
ymasory joined
|
|||
colomon | (after make clean) | 17:00 | |
> 4+5 | 17:01 | ||
Class 'Int' not found | |||
that sounds like a job for.... | |||
jnthn | heh | ||
It doesn't have say or operators or literals yet. :) | |||
17:02
saaki left
17:03
saaki joined
|
|||
jnthn | And literals need doing very differently than now anyway. :) | 17:05 | |
tadzik | so this will end up being "say 9"? :) | 17:06 | |
jnthn | Not yet :P | 17:07 | |
I just mean that in while $i < 10000 { $i := $i + 1 } then that 1 shouldn't be created 10000 times. | 17:08 | ||
tadzik | :O | ||
that's sir yous | |||
pmichaud | yes, I still want to update PAST with a way to say "cache the object created here" | 17:09 | |
17:09
dakkar left
|
|||
sorear | suprisingly, this, appears to be my first time using git bisec | 17:10 | |
tadzik | oh, the PASTknowers | ||
sorear | pmichaud: if you think you understand stuff like 'use graphs' versus 'use codes'... you're welcome to enlighten me. | 17:11 | |
tadzik | I'm looking for a way to produce a global constant which I could append stuff to (an array), it's supposed to be per-file, but for now, whatever works. Where do I start looking at? | ||
pmichaud | sorear: no, I don't understand it yet. (Haven't looked yet, since it's not been high on the "need to solve this" list.) | ||
benabik | Adding things to the constants table via PAST is on my possible TODO list for GSoC. | 17:12 | |
pmichaud | benabik: for rakudo, they definitely need to be created lazily I think | 17:13 | |
benabik | pmichaud: Well, shoot. | 17:14 | |
17:15
spinclad left
|
|||
pmichaud | I could be wrong about that. But we definitely don't want to increase our startup time with a bunch of constant generation whenever a program begins | 17:15 | |
17:15
spinclad joined
|
|||
pmichaud | and it's possible that some constants will be affected by the scope in which they're created (not sure about this part) | 17:15 | |
17:18
molaf left
17:20
jevin joined
|
|||
benabik | pmichaud: That kind of constant doesn't sound very constant. | 17:20 | |
17:20
JimmyZ left
|
|||
pmichaud | it's constant once the full details of the scope are known at runtime, I think. | 17:21 | |
benabik | I will continue to lurk here. How NQP and Rakudo use PAST will very much influence where I focus my work towards the end of summer. | ||
pmichaud | the challenge is that at compile time it takes a *lot* of analysis to determine the full scope of things that could be affecting an expression or constant | ||
so it's likely easier to simply say "cache the (constant) value after it's created the first time" | 17:22 | ||
the hurdle I've run into thus far is figuring out how to store/name the constants | 17:23 | ||
17:23
mj41 left
|
|||
benabik | I'm trying to get PAST->POST->PBC to be as expressive as possible, but adding a caching layer seems a little out of scope. | 17:24 | |
pmichaud | oh, I don't think it's a layer | ||
I think it's a decoration on a PAST node | |||
benabik | (For GSoC anyway. I imaging I'll be puttering around in PCT for a while afterwards.) | ||
pmichaud | i.e., marking a PAST node with a 'cached' flag means that the code for the node is executed once and the results stored (cached) somewhere and re-used if the node is executed again | 17:25 | |
17:26
ymasory left,
JimmyZ joined,
ymasory joined,
Chillance joined,
JimmyZ left
|
|||
benabik | pmichaud: I'm not quite sure how that would be implemented, but I'd be tempted to do it as a tree-transformation that lifts the cached | 17:26 | |
17:26
bacek left
|
|||
benabik | Trigger-happy enter key... | 17:27 | |
pmichaud | so that way a Perl 6 constant like 3.45 turns into a runtime call to Rat.new(345,100) where the resulting Rat object gets stored in the cache. If we later execute the statement containing the 3.45 constant, then we simply look up the Rat we cached earlier instead of making another call to Rat.new | 17:28 | |
benabik | pmichaud: ...nodes up to (say) the top of the sub and stores them in a register, converting the other usages to a register reference. | ||
pmichaud | benabik: you're thinking of something entirely different, then. | ||
benabik: for rakudo, that will only help where the same constant is used multiple times in a sub | |||
which I suspect isn't often. | |||
benabik | pmichaud: I was thinking of jnthn's example with the 1 in a loop... | 17:29 | |
pmichaud | benabik: in that example, the 1 is local to the body of the while | ||
and the body is a separate execution each time anyway | |||
17:29
wallberg joined
|
|||
pmichaud | (the body is a separate Parrot sub) | 17:29 | |
benabik | pmichaud: Ah. Well, then, you'd need to add a new runtime storage area which is why I was calling it a layer. | 17:30 | |
jnthn | pmichaud: I think we can quite safely create Num/Int/Rat literals at compile time. | ||
pmichaud: Then stick them in the serialization context. | 17:31 | ||
pmichaud | jnthn: only if we have a way to seria.... okay. | ||
jnthn | And accesses to them will just go through that. | ||
pmichaud: Then they'll get cheap deserialization when I finish implemented that chunk of stuff. | |||
*implementing | |||
pmichaud | I'm not familiar with serialization contexts yet, or how they're implemented | ||
jnthn | pmichaud: Mostly it's ground work. :) | ||
pmichaud | but I'm also thinking of expressions with constant operands | 17:32 | |
jnthn | pmichaud: What we *do* have now is a _lot_ more stuff to hand at compile time. | ||
pmichaud | the "cached" flag can help a lot with expressions with constant operands, too. | ||
jnthn | I suspect the constant folding can be done in the compiler also. Of course, it has to use the operators as they're defined in the correct scope. | 17:33 | |
pmichaud | jnthn: right, which is why I figure it's easier to do it as runtime. I think TimToady++ speculated the same last week. | ||
irclog.perlgeek.de/parrot/2011-05-09#i_3698464 | 17:34 | ||
jnthn | Well, we already have to invoke the trait mods as they're defined in the scope of the thing that consumes them. | ||
And the optimzer's gonna have to know about the scope stuff is in, otherwise it's going to have a hard time inlining. | 17:35 | ||
pmichaud | I again point to TimToady's comments. I'm hesitant to go far beyond that, just yet. | ||
jnthn | pmichaud: "I tend to disapprove of constant collapsing done by an interpreter other than the one that would be used if the constants weren't collapsed" ==> yes but I'm suggesting using the exact same interpreter with the exact same operator body that we'd run at runtime. :) | 17:36 | |
pmichaud | I'm not so sure how "exact same" it will actually be. | ||
It's two separate invocations of the interpreter. | |||
(one at compile time, one at run time) | 17:37 | ||
jnthn | Can't argue that it ain't, but I may be able to argue that the two separate invocations had better produce the same result when running the same code with the same inputs. ;) | 17:38 | |
Though it all depends on the environment being the same and so forth. | |||
pmichaud | sure... I'm not sure you always know that the inputs are the same. | ||
exactly. | |||
benabik | jnthn: All the cool interpreters are non-deterministic. | ||
pmichaud | environment could be different, a module could've changed, etc. | ||
"the more polymorphic your dispatch is, the less you can rely on anyone else to figure out which operator they should really be folded" | 17:39 | ||
anyway, the code to "compute once and cache" is really trivial to implement | |||
if I can just come up with a good way to associate a unique identifier with the cached value | 17:40 | ||
I'm wondering if it's even worth an opcode :-) | |||
something like a "find cached value and branch" that is based on the current program counter | |||
jnthn | pmichaud: Mebbe something like that. SCs have some opcodes | 17:41 | |
17:41
slavik1 left
|
|||
jnthn | Anyway, I've no plans on doing constant folding any time soon. Just building the constants once will be a big win. | 17:41 | |
pmichaud | indeed. | ||
jnthn | Also, I've unified the compile time and runtime representation of signatures and parameters. | 17:42 | |
17:42
mberends joined
|
|||
jnthn | We have one now. Not three. :) | 17:42 | |
pmichaud | the way it always should've been :-) | 17:43 | |
17:44
MayDaniel joined
|
|||
jnthn | Yeah but now I have an object system that lays stuff out as efficiently as a C struct. | 17:44 | |
So it can be done without OMG SLOW :) | |||
At one point I thought I may end up using representations to hold internal data structures but expose them as objects. But when P6opaque can give me the memory layout that a C struct would anyway, no need. :) | 17:45 | ||
17:47
pmurias joined
|
|||
pmurias | sorear: i see you have been working on .net level stuff in niecza what's the direction of those optimalisations? (better startup time?) | 17:48 | |
17:50
molaf joined
|
|||
sorear | pmurias: largely yes | 17:52 | |
pmichaud | latest rpbench results for 2011.05: github.com/pmichaud/rpbench-results | 17:55 | |
still running a few more | |||
TimToady | well, of course, if your constants are not constant, you're just hosed, but we're trying to define immutability such that most constant folding can be done (by the run-time) in the compile phase. P5 constants are defined not to depend on anything that will change at run time. | ||
otherwise they're not constant, they're just some kind of temporarily readonly at best | 17:56 | ||
and that's why we try to define our operators as lexically scoped functions, not as late-bound methods | 17:57 | ||
jnthn | TimToady: Well, the bigger concern with folding 5 + 4 is not so much about the 5 and the 4, but about what the + does | ||
TimToady | is always infix:<+>, and the candidate list is static | ||
jnthn | TimToady: We can know what definition of + is in effect of course, but we can't be sure it won't do anything insane :) | ||
TimToady: Unless we tell people "your + override had better be sane" ;) | 17:58 | ||
benabik | infix:<+>($a, $b) { $a + rand($b) } | ||
TimToady | don't claim to be purer than you are | ||
that's all | |||
jnthn | TimToady: How can something claim purity? | ||
Is there a trait for that? | 17:59 | ||
:) | |||
17:59
donri joined
|
|||
TimToady | perl6: sub foo ($a,$b) is pure { say $a + $b }; foo(40, 2); | 17:59 | |
p6eval | pugs: OUTPUT«42» | ||
..niecza v5-75-g90e4727: OUTPUT«===SORRY!===Sub trait pure not available at /tmp/hj1xpAibL9 line 1:------> sub foo ($a,$b) is pure { say $a + $b }⏏; foo(40, 2);Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 413 (CORE | |||
..die @ 2) at /… | |||
..rakudo 369665: OUTPUT«===SORRY!===No applicable candidates found to dispatch to for 'trait_mod:<is>'. Available candidates are::(Mu $child, Role $r):(Routine $r, Any :default($default)!):(Code $block, Any $arg?, Any :export($export)!):(Mu $child, Mu $parent):(Mu $type where ({ ... }), Any | |||
..:rw($rw)… | |||
TimToady | pugs gets it right :) | 18:00 | |
jnthn | :P | ||
.oO( is impure ) |
|||
pmichaud | pugs: sub foo ($a,$b) is puer { say $a + $b }; foo(40, 2); # checking | ||
p6eval | pugs: OUTPUT«42» | ||
pmichaud | I can get rakudo to do the same. :-P | ||
jnthn | oh noes :P | ||
pmichaud | it's easy if you're allowed to ignore the traits that you don't know about yet :) | 18:01 | |
TimToady | except I think pugs actually does something with "is pure" | ||
jnthn | nom break, then some hacking :) | ||
18:01
pernatiy left
|
|||
TimToady | something to do with making Haskell happy... | 18:01 | |
pmichaud | .oO( "nom" is already broken, so get to hacking! ) |
||
jnthn | :P :P | ||
TimToady | you speak with forked tongue :) | 18:02 | |
I guess that would be :K though | |||
18:02
slavik1 joined
|
|||
pmichaud | maybe :« or :< | 18:03 | |
TimToady | errands & | 18:04 | |
18:05
bluescreen10 joined,
bluescreen10 left
18:06
fhelmberger_ left
|
|||
pmichaud | tadzik: benchmark comparison of gsoc-podparser vs rakudo-master: gist.github.com/991539 | 18:19 | |
looks like no significant difference | |||
18:21
araujo left,
gbacon left
18:30
donri left
|
|||
perigrin | pmichaud: :< is just you with a mustache | 18:38 | |
TimToady: :K would really just be fork-emulation wouldn't it? It's not really a seperate process like ':P :P' is | 18:39 | ||
18:40
araujo joined
18:43
yegor joined
18:46
yegor left
18:47
MayDaniel left
18:48
drbean left,
drbean joined
18:49
drbean left
|
|||
tadzik | pmichaud: it's funny that it's faster. It's quite irrational | 18:51 | |
sorear | 187ee75b is the first bad commit \o/ | ||
18:55
Mowah left
19:05
silug joined
19:08
starcoder is now known as Starcoder|Testin,
Starcoder|Testin is now known as starcoder,
[Coke] left
19:09
mberends left
19:10
[Coke] joined
|
|||
jnthn | tadzik: 0.6% difference is probably noise. | 19:11 | |
tadzik | yeah | ||
PerlJam | s/probably // | ||
19:17
mberends joined
19:18
drbean joined
19:20
awoodland left
|
|||
pmichaud | tadzik: the differences in timing aren't significant here | 19:20 | |
so yes, noise. | |||
tadzik | yeah | ||
still, fun :) | |||
pmichaud | I think we can safely say that whatever changes you've made thus far don't make things significantly worse | 19:21 | |
tadzik | that's the good news, yes | ||
pmichaud | but that's also probably because the test files don't contain a lot of pod in them | ||
if you want to contribute some files containing a good amount of pod, that would be a good test | |||
or we can start adding pod to the core/*.pm files | 19:22 | ||
(although I'd hate for that to get much slower :-) | |||
s/contribute some files/contribute some bench mark scripts/ | |||
19:26
pernatiy joined
19:27
IllvilJa left
|
|||
pmichaud | so, for the past couple of weeks I've been musing that we should go ahead and make a 2011.05 star release, because of the poor performance characteristics of 2011.04 . I haven't seen anyone give a +1 or -1 to the notion, though. Comments? | 19:28 | |
to see the difference in performance, look at the files in github.com/pmichaud/rpbench-results . Compare the results of 2011.04/3.3.0 versus 2011.05/3.4.0. | 19:29 | ||
generally a 20% difference. | 19:30 | ||
sorear | -1 it would come out very close to and distract people from niecza v6 :D | 19:31 | |
pmichaud | when does niecza v6 come out? | ||
sorear | last monday in may | ||
pmichaud | .oO( besides, we might as well throw in the towel now... DNF was released ) |
||
sorear | 30th | ||
I'm almost entirely joking. | 19:32 | ||
I know this isn't really a zero-sum game | |||
pmichaud | sure... I'm just trying to decide if I can do something to make it even more annoying :) | ||
like, releasing it *on* the 30th. :-P | |||
19:32
awoodland joined
|
|||
pmichaud | (no, I wouldn't do that intentionally, unless we agreed it was beneficial :-) | 19:32 | |
sorear | hmm, Jun 22 will mark 1y since the first commit to the niecza repo | 19:33 | |
I should do something for that day | |||
PerlJam | pmichaud: +1, but only if you do it quick :) | 19:35 | |
pmichaud | afk, kid pickup | ||
PerlJam: I'm thinking (a) fix up zavolaj and (b) release | |||
so, probably release tomorrow or fri | |||
that way sorear can still have the memorial release :) | 19:36 | ||
19:40
GinoMan left
19:44
wamba left
|
|||
jnthn | blogs.perl.org/users/jlloyd/2011/05...-life.html # nice :) | 19:45 | |
colomon | rakudo: say ~("A0A" .. "A9A) | 19:47 | |
p6eval | rakudo 369665: OUTPUT«===SORRY!===Confused at line 22, near "say ~(\"A0A"» | ||
colomon | rakudo: say ~("A0A" .. "A0R") | ||
p6eval | rakudo 369665: OUTPUT«A0A A0B A0C A0D A0E A0F A0G A0H A0I A0J A0K A0L A0M A0N A0O A0P A0Q A0R» | ||
PerlJam | (that guy)++ | ||
moritz | \o/ built nom, I can haz it! | 19:54 | |
jnthn++ | |||
jnthn | \o/ | 19:56 | |
PerlJam installs a panda | 19:57 | ||
moritz | ... and the empty program already compiles | ||
pmichaud | is the goal still to have nom running in time for june release? | ||
jnthn | pmichaud: It's an ambitious goal. :) | 19:58 | |
pmichaud | okay, that answers my second question :) | ||
(and my first :) | |||
jnthn | pmichaud: Depends what "running" means :) | ||
pmichaud | seems reasonable, at any rate | ||
PerlJam | jnthn: when will nom be the default? :) | 19:59 | |
pmichaud | probably with approximately the same criteria we used for alpha->ng | ||
jnthn | PerlJam: When there's reasonable consensus that it's ready to be. | ||
pmichaud | maybe a little higher bar so we have less regression | ||
jnthn | pmichaud: Yeah. We ain't starting afresh with the grammar this time. :) | 20:00 | |
Which helps. | |||
pmichaud | well, we also have a more stable language spec. Well, we did until the S06 changes. :-P | ||
jnthn | That also. | 20:01 | |
pmichaud | I'm also wondering when TimToady++ will change the spec to require nfg/nfd/whatever implementation in order to even be able to compile a p6 program. :-P | ||
20:01
soapyj joined
|
|||
sorear | pmichaud: the spec already requires true LTM in order to be able to parse a p6 program :P | 20:05 | |
moritz thinks rakudo does pretty well with faked LTM for now | 20:06 | ||
20:06
starcoder is now known as StarCoder,
StarCoder is now known as starcoder
20:08
GinoMan joined
|
|||
sorear | S02-lexical-conventions/unicode.t:61 requires (faked?) NFG in the parser itself | 20:08 | |
20:08
wamba joined
|
|||
sorear | or we can modify <identifier> to allow 0 or more combining chars after each \w | 20:09 | |
20:09
starcoder2 is now known as FooBar,
FooBar is now known as starcoder2
|
|||
moritz | like \X in Perl 5 | 20:10 | |
20:11
silug left,
silug joined
|
|||
sorear | \C looks eeevil | 20:13 | |
moritz | it is. | 20:14 | |
very much so. | |||
I think dmq called it the craziest feature of the re engine | |||
20:16
Mowah_ left
|
|||
sorear | I should make a detaled study of the Perl5 regex engine sometime | 20:20 | |
moritz | only if you have a good health insurance that covers psychological problems :-) | 20:21 | |
sorear | "how bad could it be?" | 20:25 | |
moritz | like, very | ||
polymorphic opcodes for the Unicode/non-Unicode cases | 20:26 | ||
20:26
kjeldahl left
20:28
wknight8111 left
20:31
kjeldahl joined
|
|||
sorear | moritz: how familiar are you with it? | 20:31 | |
20:36
snearch joined
20:40
noganex joined
20:41
mj41 joined
20:42
wamba left
20:43
wamba joined,
noganex_ left
20:44
snearch left
|
|||
moritz | sorear: not really much | 20:45 | |
dalek | kudo/nom: 3294338 | jnthn++ | src/Perl6/ (3 files): Little refactor to parameter handling to make implementation easier. Default invocant parameter for method, recognize the : as an invocant separator. |
||
kudo/nom: bfe8be2 | jnthn++ | src/Perl6/Actions.pm: Complain if we're not in a package type that supports methods. |
|||
sorear has been spending most of this morning trying to track down a bug in the regex engine which manifests as miscompiling the stage2 parser and thus failing to compile stage3 | 20:51 | ||
moritz: where to start? | 20:56 | ||
moritz | sorear: whatching a few -Mre=debug traces gives a bit of a feeling for the regex engine | 20:57 | |
20:57
ymasory left
|
|||
sorear | mm | 21:02 | |
21:06
silug left
|
|||
sorear | wtf? pluggable regex engines? | 21:06 | |
21:06
silug joined
21:07
bacek joined,
drbean left
|
|||
moritz | since 5.10 | 21:09 | |
21:09
Pathin joined
21:11
Pathin left,
molaf left,
drbean joined,
jlaire left
21:13
Pathin joined,
jlaire joined
21:14
Pathin left
21:15
Pathin joined
21:17
wamba left,
Pathin left
|
|||
dalek | ecza: 3fd815c | sorear++ | / (3 files): Partial revert of low-ranking optimization that broke build |
21:17 | |
21:18
Pathin joined,
Pathin left,
Pathin joined
|
|||
sorear | I am rather baffled. that last commit should have had no effect whatsoever. | 21:19 | |
21:20
silug left,
silug joined
|
|||
sorear | aha, one of my invariants was being violated and I didn't notice until now | 21:31 | |
21:33
silug left
21:34
donri joined
21:44
thou left
21:46
mtk left
|
|||
dalek | kudo/nom: 39fa18e | jnthn++ | / (7 files): Get the Stash type stubbed in. Make sure packages get a Stash. |
21:48 | |
moritz | jnthn: did you forget to git add Stashing.pm ? | 21:53 | |
dalek | ecza: 5773d70 | sorear++ | / (3 files): Fix the real problem - <?foo> should never have been marked as backtrack-into-able |
||
sorear | \o/ | ||
dalek | kudo/nom: 1abf123 | jnthn++ | src/Perl6/Metamodel/Stashing.pm: Oops, forgot to add new file; moritz++ for noticing. |
21:54 | |
21:55
mtk joined
|
|||
colomon | doh! | 21:56 | |
nom changes coming too fast! ;) | |||
21:58
thou joined
|
|||
jnthn | :) | 21:59 | |
21:59
lichtkind joined
|
|||
jnthn | Not *that* fast. :) | 21:59 | |
sorear | o/ lichtkind | 22:05 | |
lichtkind | hai sorear | 22:06 | |
22:06
hercynium left
|
|||
lichtkind | howsitgoingmaäan? | 22:06 | |
sorear | fīne? | 22:07 | |
tadzik | oh, nice way to say that | 22:08 | |
dalek | ecza: 5abbd5f | moritz++ | t/spectest.data: one more passing smartmatch test file |
22:09 | |
moritz -> sleep | |||
22:11
GinoMan left
22:13
mj41 left
22:17
am0c left
22:18
GinoMan joined
22:20
awoodland left
|
|||
lichtkind | moritz: good night | 22:24 | |
sorear: glad to hear | |||
sorear | I've been improving the niecza codegen lately | 22:25 | |
also now studying the p5 regex engine | |||
22:26
daniel-s joined
|
|||
dalek | p: 05bf809 | jonathan++ | src/pmc/sixmodelobject.pmc: Make get_iter overridable. |
22:26 | |
22:33
donri left
22:45
GinoMan left
22:47
GinoMan joined
|
|||
sorear | there are a few cases where niecza's regex engine acts very stupid | 22:53 | |
e.g. ("x" x 1_000_000) ~~ /^a/ | |||
tests all 10^6+1 possible locations to find the ^a combination | 22:54 | ||
22:54
quietfanatic joined
|
|||
sorear | hi quietfanatic | 22:55 | |
dalek | kudo/nom: 61b9be5 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Make get_iter available on Stash. |
22:56 | |
kudo/nom: dc580c1 | jnthn++ | src/Perl6/Actions.pm: Packages (roles aside) should have immediate blocks. |
|||
kudo/nom: 92b8dc9 | jnthn++ | src/Perl6/ (2 files): Support package-scoped classes (didn't do multi-part names yet, though). |
|||
kudo/nom: b3871fb | jnthn++ | / (2 files): A cheaty EXPORTHOW for the setting, so we can actually write classes with methods in programs and compile them now. |
|||
quietfanatic | hi sorear | 22:57 | |
sorear | welcome | ||
quietfanatic | I notice niecza supports make() and .ast in regexes | 22:58 | |
while rakudo doesn't | |||
sorear | that's weird, I'm pretty sure rakudo *uses* make() and .ast | ||
quietfanatic | perl6: "abc" ~~ /abc {make 3}/; say $/.ast | ||
p6eval | niecza v5-78-g5abbd5f: OUTPUT«3» | ||
..rakudo 369665: OUTPUT«Any()» | |||
..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HANDLE>' trapped by operat… | |||
quietfanatic | I know, that's what I thought | ||
but this is what happens. | |||
jnthn | It uses it in action methods. | 22:59 | |
pmichaud may know if it not working in regexes is bug or intention. | |||
quietfanatic | I also couldn't seem to get ast from Grammar.parse(); | ||
23:00
cdarroch left
|
|||
sorear | quietfanatic: the issue is probably with make, not .ast | 23:00 | |
calling make before the regex finishes matching is a bit of an odd case, and one that had to be specially supported in niecza | 23:01 | ||
alpha: "abc" ~~ /abc {make 3}/; say $/.ast | |||
p6eval | alpha : OUTPUT«Confused at line 10, near "make 3}/; "in Main (file <unknown>, line <unknown>)» | ||
quietfanatic | hm. | 23:02 | |
sorear | oh right alpha didn't have perl 6 regexes | ||
quietfanatic | I thought it was supposed to be called before the regex finished | ||
23:02
alester left
|
|||
sorear | make is normally called from action methods | 23:02 | |
quietfanatic | how else would I call it? | ||
sorear | which are called immediately after the regex finishes | ||
quietfanatic | Okay, I'll look into action methods | 23:03 | |
Can you direct me to some documentation? | |||
I can't find it in S05 | 23:04 | ||
sorear | .... neither can I | 23:06 | |
that's weird | |||
quietfanatic | Well, maybe I can figure it out from the Rakudo source | 23:07 | |
sorear | S05-grammar/action-stubs.t maybe | 23:08 | |
jnthn | quietfanatic: Or look at a module like JSON::Tiny which uses grammar and action methods. | ||
sorear | although it's a little out of date | ||
quietfanatic | mkay | ||
thanks guys | |||
sorear | ah, you were here last year, I thought I remembered you | 23:09 | |
quietfanatic | yep | ||
I've been away from the p6 scene for a while | |||
but occasionally I really want p6 grammers for something or other | 23:10 | ||
dalek | kudo/nom: c9335fc | jnthn++ | src/Perl6/SymbolTable.pm: Remove some development/debugging output. |
23:12 | |
kudo/nom: 70fac05 | jnthn++ | NOMMAP.markdown: Update nommap. |
|||
23:15
pmurias left
23:21
whiteknight joined
|
|||
sorear | quietfanatic: well then, welcome back | 23:22 | |
quietfanatic: what do you think of the last few months of changes here? | 23:23 | ||
quietfanatic | I haven't looked into the changes really yet | 23:25 | |
I'm still using Rakudo Star 2010-07 | |||
sorear | you seem to have at least discovered the new compiler | 23:26 | |
quietfanatic | niecza? | ||
yeah, I've played around with it a few months back | |||
back when it was new | |||
How is it coming along? | |||
sorear | very well | ||
quietfanatic | ooh, good to hear | 23:27 | |
is it beating Rakudo in performance? | |||
sorear | the perl 5 components have all been rewritten in perl 6, it passes 1000+ spectests | ||
quietfanatic | neat | ||
sorear | yes | ||
it's still lagging on startup time though | |||
quietfanatic | I'll have to fiddle around with it some more | ||
jnthn | sleep & | 23:28 | |
23:29
Chillance left
|
|||
sorear | the current dev version has probably regressed on math quite a bit due to arithmetic overloading | 23:30 | |
23:36
wisemansword joined
|
|||
quietfanatic | Any hope of moving that overloading from runtime to compile-time? | 23:36 | |
23:38
daniel-s left
|
|||
quietfanatic | Oh, I have one more rakudo bug to report | 23:38 | |
though it's probably been noticed already | |||
rakudo: grammar A { rule x-y { abc }; rule z { <x-y> }; } | 23:39 | ||
p6eval | rakudo 369665: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 22, near "-y> }; }"» | ||
quietfanatic | It can't parse hyphens in rule names. | ||
sorear | std: /<x-y>/ | 23:42 | |
p6eval | std 4b1b100: OUTPUT«ok 00:01 113m» | ||
23:42
wisemansword left
|
|||
sorear | quietfanatic: (moving to compile-time) not without a lot of type annotations, and my personal opinion is that it wouldn't help much | 23:43 | |
optimizing the existing code would get me much more bang/buck | |||
just haven't done it yet | |||
quietfanatic | ah | 23:44 | |
23:44
silug joined
|
|||
sorear | rakudo: my $i = 0; $i++ until $i == 50_000; | 23:46 | |
p6eval | rakudo 369665: ( no output ) | 23:47 | |
sorear | rakudo: my $i = 0; $i++ until $i == 100_000; say "alive" | ||
p6eval | rakudo 369665: OUTPUT«(timeout)» | ||
sorear | rakudo: my $i = 0; $i++ until $i == 75_000; say "alive" | ||
p6eval | rakudo 369665: OUTPUT«alive» | ||
sorear | niecza: my $i = 0; $i++ until $i == 1_000_000; say "alive" | ||
p6eval | niecza v5-78-g5abbd5f: OUTPUT«alive» | ||
sorear | niecza: my $i = 0; $i++ until $i == 10_000_000; say "alive" | 23:48 | |
p6eval | niecza v5-78-g5abbd5f: OUTPUT«(timeout)» | ||
sorear | niecza: my $i = 0; $i++ until $i == 5_000_000; say "alive" | ||
p6eval | niecza v5-78-g5abbd5f: OUTPUT«alive» | ||
sorear | niecza: my $i = 0; $i++ until $i == 7_500_000; say "alive" | ||
p6eval | niecza v5-78-g5abbd5f: OUTPUT«(timeout)» | ||
sorear | rakudo: say 5_000_000 / 75_000 | 23:49 | |
p6eval | rakudo 369665: OUTPUT«66.6666666666667» | ||
sorear | there you go, quietfanatic | ||
perlesque: my $i = 0; until $i == 10_000_000 { $i++ }; say("alive") | |||
p6eval | perlesque: OUTPUT«alive» | ||
sorear | perlesque: my $i = 0; until $i == 1_000_000_000 { $i++ }; say("alive") | ||
p6eval | perlesque: OUTPUT«alive» | ||
sorear finishes perlreguts | 23:50 | ||
23:54
lichtkind left
|
|||
quietfanatic | impressive. | 23:58 |