»ö« 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 moritz on 3 May 2013. |
|||
jnthn | r: say 13 % -4 | 00:06 | |
camelia | rakudo 51d024: OUTPUT«-3» | ||
jnthn | JVM says "wtf is a negative modulus" :P | ||
timotimo | hehe. | ||
masak | a negative modulus has two major interpretations. | 00:07 | |
depending on what invariant you want to preserve. | |||
diakopter | r: say 13 % i | ||
camelia | rakudo 51d024: OUTPUT«Cannot call 'Real'; none of these signatures match::(Mu:U \v: Mu *%_) in method Real at src/gen/CORE.setting:869 in sub infix:<%> at src/gen/CORE.setting:3193 in sub infix:<%> at src/gen/CORE.setting:3190 in sub infix:<%> at src/gen/CORE.setting:3193 in … | ||
00:07
colomon left
|
|||
timotimo | indeed. annoys the hell out of me :( | 00:07 | |
masak | see table at en.wikipedia.org/wiki/Modulo_opera..._operation | 00:08 | |
timotimo | oh, i think i know what the stray infix:<,> is for | 00:11 | |
... nope :/ | |||
sorear | jnthn: if I move to add module-like features that require Java code to support (like Java interop and/or a threading API), should the support code go in nqp or rakudo, or perhaps should I try to add a pir::loadlib-like functionality so such things can be done entirely outside? | 00:20 | |
that was a bad question | |||
diakopter | also, scary :D | 00:21 | |
sorear | actually I think I can write out-of-core code which uses map_classlib_hll_op and QAST to bootstrap its own code | 00:28 | |
but it'll be crazy and it'll probably play really badly with serialization | |||
actually, that makes me wonder... | |||
if I'm understanding the design correctly, Perl6/Ops.nqp, when compiled, creates a repossession for the QAST opcodes hash | 00:29 | ||
is it possible to load two HLLs in the same NQP GlobalContext? | |||
without a repossession conflict? | |||
jnthn | sorear: Hm, that's probably an issue | 00:31 | |
sorear: Suspect the support coe for Java interop maybe belongs in NQP | |||
raiph | iirc some perl person promulgated a principle that you be accepting of dodgy/mean input (what folk say) but precise/nice in your output (what you say). anyone know what i'm talking about? | 00:34 | |
timotimo | that's just basic IEEE principles | 00:35 | |
en.wikipedia.org/wiki/Robustness_Principle | 00:36 | ||
sorear | en.wikipedia.org/wiki/Jon_Postel#Postel.27s_Law | ||
timotimo | same link | ||
dalek | p: 231d1f2 | jonathan++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Try getting bigint negative modulo working. |
||
timotimo | well, okay, one hop. | ||
masak | you should be more conservative in emitting links! :P | ||
jnthn | We've now gone from crashing on test 3 of arith.t to failing just 5 of the 143 tests in there :) | 00:37 | |
timotimo | \o/ | ||
this is so awesome news | |||
sorear | \o/ | ||
ssutch | nice | ||
raiph | timotimo: thanks. that's the underlying principle. (i thought some perl person applied postel's law to human communication) | 00:38 | |
sorear | jnthn: java interop in nqp, not as a perl6module? | ||
00:38
btyler joined
|
|||
timotimo | :) | 00:38 | |
jnthn | sorear: I think the lower level supporting stuff belongs in the nqp repo. Rakudo could do with some sugar layer for it too. | ||
raiph | jnthn++ sorear++ #perl6++ # hard to express how great it feels to see this | 00:39 | |
sorear | but I haven't even done anything! :D | 00:40 | |
perigrin | sorear++ # not getting in the way! | 00:41 | |
00:47
tomyan left
|
|||
timotimo | make returns from the routine, right? | 00:47 | |
jnthn | no | 00:49 | |
timotimo | good to know | ||
Error while compiling op eqaddr: No registered operation handler for 'eqaddr' | 00:53 | ||
can no longer compile on parrot | 00:54 | ||
needs an #if jvm? | |||
00:54
xilo_ joined
|
|||
jnthn | huh... | 00:54 | |
timotimo | oh | ||
may need newer nqp? | |||
jnthn | Bit surprised that nqp::op ain't mapped on Parrot | ||
00:54
tgt left
|
|||
jnthn | that or an entry in Operations.nqp | 00:54 | |
00:55
xilo_ left,
xilo_ joined
|
|||
timotimo | seems that helped | 00:57 | |
timotimo makes a jakudo spectest just for funsies | 00:58 | ||
interested in the results? | |||
perigrin | is it interesting? | ||
sorear | uh | 00:59 | |
what's =:= mapped to? | |||
jnthn | sorear: after building lateest Rakudo and NQP, I'm getting: | 01:00 | |
java.nio.file.NoSuchFileException: CORE.setting.jar | |||
oh, maybe I should re-Configure? | |||
sorear | yeah | 01:01 | |
reconfigure both | |||
jnthn | ah, yeah | ||
Did NQP, forgot Rakudo | |||
huh...apparently forgot NQP too | |||
Unknown compilation target 'jar' | |||
sorear | rakudo uses =:= and eqaddr heavily inside | ||
jnthn | oh, forgot prefix... | 01:02 | |
sorear | maybe install didn't work? | ||
aha | |||
jnthn tries agian | |||
though will have to head for the train soonish I guess | |||
oh no, another 15-20 mins before that | |||
timotimo | oh? t/spec/S04-statements/loop.t ................................. 1/15 Error in socket connection:org.perl6.nqp.runtime.UnwindException | ||
t/spec/S05-metachars/newline.rakudo.jvm ...................... Failed 2/15 subtests (2 TODO tests unexpectedly succeeded) | 01:03 | ||
sorear | the error is a ittle misleading there | 01:04 | |
nqp catches almost all exceptions and funnels them into the p6exception mechanism | |||
timotimo | mhm | ||
sorear | but sometimes it fails and then the harness sees the uncaught exception and blames it on a socket | ||
timotimo | good point | 01:05 | |
the IO tests don't work because of the eval servers | 01:07 | ||
? | |||
01:07
tgt joined
|
|||
jnthn | sorear: Nope, still gives me the same thing... :( | 01:08 | |
wait, what... | 01:09 | ||
01:09
ugexe left,
ugexe joined
|
|||
jnthn | oh no, it's copying to the right place | 01:09 | |
01:10
FROGGS left
|
|||
jnthn | hmm | 01:11 | |
sorear: Turns out that if you have .class files leftover in the install directory then they take precedence | 01:12 | ||
sorear: deleted those and now it seems happier | 01:13 | ||
timotimo | jnthn: gist.github.com/timo/8a50eb8a3360e.../revisions | ||
01:15
Chillance left
|
|||
timotimo | good work, jnthn++ and sorear++ | 01:16 | |
masak | 'night, #perl6 | 01:17 | |
sorear | beautiful | 01:18 | |
timotimo | masak: 'night | ||
sorear | night masak | ||
timotimo | (you may also appreciate the last link i posted before bed) | ||
dalek | kudo/nom: 30c82c7 | jonathan++ | src/core/Num.pm: Fix Num.new |
01:19 | |
jnthn | timotimo++ # thanks! | 01:20 | |
home, sleep & | |||
timotimo | home, sleep home. | 01:21 | |
01:23
FROGGS joined
|
|||
timotimo | FROGGS: gist.github.com/timo/8a50eb8a3360e.../revisions - lookie lookie what sorear and jnthn did today :) | 01:24 | |
diakopter | whoa | 01:33 | |
01:33
colomon joined
|
|||
sorear | colomon: gist.github.com/timo/8a50eb8a3360e.../revisions | 01:35 | |
colomon | sorear: what's the scope of those changes? is that just today? | 01:36 | |
timotimo | colomon: yes, the previous revision was 1 day ago | ||
colomon | \o/ | ||
-Files=713, Tests=14954, 712 wallclock secs ( 3.30 usr 0.67 sys + 14.60 cusr 2.79 csys = 21.36 CPU) | 01:38 | ||
+Files=713, Tests=17904, 680 wallclock secs ( 3.32 usr 0.73 sys + 14.46 cusr 3.38 csys = 21.89 CPU) | |||
is that the passed test? | |||
*tests | |||
timotimo | i don't think anybody knows, i don't | ||
colomon | I mean, we have 3000 additional passing tests, and it ran faster, if anything? | ||
sorear | colomon: jnthn++ has been busy today. | 01:39 | |
colomon | or just 3000 more tests run. | ||
that's just insane, either way. | |||
timotimo | :D | ||
sorear | we currently have failures in 270 files. | 01:40 | |
timotimo | out of how many? | 01:41 | |
sorear | 713 | ||
r: say 270 / 713 | |||
camelia | rakudo 51d024: OUTPUT«0.378682» | ||
sorear | r: say 1 - 270 / 713 | ||
camelia | rakudo 51d024: OUTPUT«0.621318» | ||
sorear | 62% of the files in spectest.data pass completely | ||
timotimo | OH YEAH | ||
colomon is really struggling not to make rash statements about how fast this is going | 01:42 | ||
timotimo | S curve, don't forget | ||
i was just trying to run a few of my rosettacode examples. one fails 1. because MAIN doesn't work yet (CodeRef NYI in JVM) and then 2. because "method encoding not found" in slurp | 01:43 | ||
sorear | r: say 1 - 339 / 713 | ||
camelia | rakudo 51d024: OUTPUT«0.524544» | ||
sorear | previous run in timo's repository was 52% passing | 01:44 | |
colomon: "at this rate, we'll be passing 400% of roast by august" | |||
colomon | timotimo: I have about as much experience as anyone getting p6 implementations to pass spectests. And in my experience, getting 16,000 tests working this fast is *really* impressive. | ||
timotimo | another one has a Null Pointer Exception in some thingie | 01:45 | |
colomon | and mind you, you say S curve, but if anything, it generally gets easier to get tests passing as you go, right until you get down to the last few tough ones. | 01:46 | |
timotimo | right | 01:47 | |
still S formed :) | |||
somewhat | |||
but yeah, i'm pretty amazed, too | 01:48 | ||
colomon | also, at least in previous attempts, the further you go, the more accessible the failures become. Like the earliest ones took jnthn or pmichaud or sorear to fix, but later on it's stuff that the rest of us can tackle pretty easily. | ||
timotimo | except all the things i've been using are still among those 40 odd percent ;) | ||
colomon | timotimo: that's always the way it goes, until you start fixing the things yourself. ;) | 01:50 | |
timotimo | that's way over my head | 01:51 | |
dalek | ecza: 6672fa2 | (Solomon Foster)++ | lib/CORE.setting: Rewrite infix:<⊍> and infix:<⊎> to take parcels. |
01:59 | |
02:04
SamuraiJack joined
|
|||
timotimo fails to parse something with grammars on jvm | 02:07 | ||
oh, something entirely different was the matter! | 02:08 | ||
02:08
benabik left
|
|||
timotimo | er, it should have said "CallFrame NYI on JVM" above. | 02:09 | |
02:10
benabik joined
|
|||
timotimo | yeah, my grammar doesn't parse the text. sad :( | 02:10 | |
yeah, i use a lot of features from the S05 where things fail | 02:13 | ||
i stumbled upon those, too, interestingly: t/spec/S06-multi/positional-vs-named.rakudo.jvm .............. Failed 21/27 subtests | 02:15 | ||
02:22
xilo_ left
02:26
xilo joined,
xilo_ joined
02:28
xilo left,
xilo joined,
xilo left
02:29
xilo joined
03:04
FOAD joined
|
|||
raiph | Divided we fall www.reddit.com/r/perl/comments/1gu4...d_we_fall/ | 03:20 | |
03:22
jaldhar joined
03:32
JimmyZ joined
03:34
tgt left
03:35
preflex left,
preflex_ joined,
ChanServ sets mode: +v preflex_,
preflex_ is now known as preflex
03:48
dwimwit left
04:04
BenGoldberg left
04:06
SamuraiJack left
|
|||
labster | raiph++ is doing the job that I should be doing. | 04:08 | |
benabik | upboats for raiph | 04:12 | |
raiph++, even | 04:14 | ||
JimmyZ | raiph hoelzro: i know of a uber hacker who will work on moarvm but not jvm or parrot. | 04:15 | |
JimmyZ wonders whom | |||
04:27
Psyche^ joined
04:30
Patterner left,
Psyche^ is now known as Patterner
04:41
fgomez joined
04:47
JimmyZ left,
btyler left
|
|||
ssutch | raiph ++ | 04:48 | |
04:49
woosley1 joined
|
|||
raiph | heh. so i post about division. 5 votes up. 5 down. :) | 04:51 | |
(i think it's just u guys being friendly vs others thinking it's too weird/long/complex) | 04:52 | ||
(but still amuses me) | |||
ssutch | brb dinner | ||
also reddit games it, every upvote gets ~.5 downvotes | |||
ok dinner for realz | |||
04:52
btyler joined
04:54
JimmyZ joined
04:57
btyler left
05:16
kaare_ joined
05:20
Rotwang joined
05:30
tomyan joined
05:35
SamuraiJack joined,
SamuraiJack left
05:41
SamuraiJack joined
05:44
SamuraiJack_ joined
05:46
SamuraiJack left
05:48
SamuraiJack_ left
05:49
SamuraiJack_ joined
|
|||
moritz | \o | 05:49 | |
05:49
cooper left
05:50
SamuraiJack__ joined
05:51
SamuraiJack_ left
05:55
SamuraiJack joined,
SamuraiJack__ left
05:56
cooper joined
05:59
popl joined,
popl left
06:00
popl joined
06:01
popl left
06:05
popl joined
|
|||
popl | sorry for the joining/rejoining; seems my tmux has an issue with UTF-8. | 06:06 | |
benabik | O.o | ||
popl | benabik: I know! | 06:07 | |
benabik | tmux is usually so good | ||
diakopter | »ö | ||
ö« | |||
ö | |||
popl | I'm just in rxvt-unicode now. | ||
diakopter: thanks for trying to mess with me. :P | 06:08 | ||
diakopter | »« | ||
benabik | >.< | ||
JimmyZ | chatzilla always kills my firefox with black screen :( | ||
popl | I stopped using Chatzilla soon after it came out in like 2000 or something. | 06:09 | |
diakopter: seriously though, I'm not serious. :) | 06:10 | ||
I'd like to troubleshoot the issue but it's not the forum to do so. | |||
There are significantly less people in here than in #perl. do the Perl6 people hang out on MagNET? | 06:11 | ||
*do more of the | |||
ssutch | seems like a lot are here | 06:12 | |
[of the population] | |||
popl | ssutch: So the community is small? | ||
diakopter | popl: _all_ the p6 community is here | ||
popl | Well "small" is relative, sure. But I hope you understand my meaning. | ||
ssutch | im new, but doesn't seem to be gigantic | ||
diakopter | 0.001% of the p5 community is on irc | ||
popl | I have been on the IRC bits for years now and I am afraid to delve into the mailing lists. :) | 06:13 | |
06:14
cooper left
|
|||
popl | diakopter: Is that a hard statistic? | 06:14 | |
diakopter | of course not.. not more than a couple degrees of freedom or decimal orders of magnitude off | 06:15 | |
popl | I suppose it's impossible to say. | ||
06:19
tomyan left
|
|||
diakopter | .ask lizmat no more irc? | 06:19 | |
yoleaux | diakopter: I'll pass your message to lizmat. | ||
popl | Thanksf or the dialogue. | 06:20 | |
ssutch | the commits to rakudo are impressive and encouraging | ||
diakopter | ssutch: one of these days it'll be on MoarVM too.. | ||
06:20
cooper joined
|
|||
ssutch | very cool, hopefully i can contribute | 06:21 | |
diakopter | ssutch: you can now :P | ||
popl | MoarVM is an interesting name. | ||
ssutch | diakopter: doing what i can, still learning the ropes (there are a lot of ropes) | ||
benabik | We didn't have enough VMs, so we made one moar. | ||
diakopter | ssutch: you're way past me on those dimensions | ||
(not saying much tho) | 06:22 | ||
06:22
SamuraiJack_ joined
|
|||
benabik didn't know anybody had implemented ropes yet. ;-) | 06:22 | ||
diakopter | gar | ||
ssutch | pffah | ||
06:22
SamuraiJack left
|
|||
benabik should probably not be talking in public at this hour. | 06:22 | ||
diakopter | my strands are better tho, afaict | ||
should probably document them or something | 06:23 | ||
ssutch | i got up to get a beer, forgot, and came back to my computer | 06:24 | |
diakopter | I should do that | 06:25 | |
popl | forget to get a beer? | ||
ssutch might as well write another test case then get a beer | |||
diakopter | I need the exercise | ||
ssutch: srsly tho, you write C? | |||
wait, I know this | |||
ssutch | yeah | ||
diakopter | ssutch: we're in #moarvm :D | 06:26 | |
(writing a new Perl VM) | 06:27 | ||
(slowly the past few weeks) | |||
(well, slowly the past 5 months for me) | |||
ssutch | im aware of the vm, but not aware of the irc channel ;) | ||
diakopter | hm. | ||
I probably should at least clone the MoarVM repo for the first time. | 06:28 | ||
.. that would probably require learning some git. | |||
06:28
SamuraiJack_ left
|
|||
diakopter | I'm so backwards. | 06:28 | |
sorear | is C really that hard? | ||
benabik | diakopter: How have you been working on it without a clone? | ||
diakopter | sorear: hard? | 06:29 | |
benabik: well there was a private repo | |||
that I'm still using, stupidly | |||
sorear | and where did github.com/diakopter/sprixel come from if you can't git? o_O | ||
diakopter | :) | ||
ssutch | svn-git | 06:30 | |
benabik | diakopter: You can add the remote without cloning anew. (Or you can just clone if you need a new copy anyway.) | ||
diakopter | Git Extensions is my fav | ||
sorear | diakopter: dunno, people often act like "oh, this is much easier to hack because it's not in C" | ||
diakopter | C is a billion times easier than Perl | ||
popl | I concur. It's OWTDI instead of TIMTOWTDI. | 06:31 | |
I have more fun writing Perl though. | |||
06:32
cooper left
|
|||
popl | sorear: C is intimidating. | 06:35 | |
06:37
konundra left,
potatogim joined
|
|||
popl | C is an archaic beast from a different time. | 06:38 | |
06:39
potatogim left
|
|||
diakopter | sorear: looking at that particular sprixel repo makes me ... giggle... among other things | 06:39 | |
06:39
potatogim joined
|
|||
ssutch | C is like socks. Everyone needs socks. Except for hippies who only wear sandals, or those toe shoe things. But even hippies need socks sometimes, even if they wear them in sandals. | 06:39 | |
06:40
potatogim left,
Rotwang left,
potatogim joined
|
|||
sorear is not particularly hippieish in general but wears sandals whenever possible | 06:41 | ||
JimmyZ | I see moar in sprixel repo commit msg :D | ||
sorear | heya JimmyZ | ||
ssutch | sandals are comfy :) | ||
diakopter | JimmyZ: wait what? | ||
popl | I have weak ankles and therefore wear boots. | 06:42 | |
JimmyZ | diakopter: github.com/diakopter/sprixel/commi...1ca7de43f1 | ||
diakopter | heh. | ||
JimmyZ | sorear: good afternoon or evening | ||
sorear | good * | 06:47 | |
diakopter | lue: your nick is an acronym? | 06:48 | |
ssutch | lol, i really wish this showed me *where* ===SORRY!=== Could not find symbol '&ExtensionField' | 07:04 | |
sorear | ssutch: pass --ll-exception to the compiler to get a usable backtrace | 07:08 | |
ssutch | sorear: neato, thanks | ||
sorear | and that particular error message is probably secondary to trying to throw something | ||
jvm? | |||
07:09
konundra joined
|
|||
ssutch | sorear: nah, parrot | 07:09 | |
07:09
raiph left
|
|||
ssutch | r: class Omg::Nowai { our constant $MAX of Int = 536_870_911; }; say Omg::Nowai::MAX; | 07:15 | |
camelia | rakudo 51d024: OUTPUT«===SORRY!===too many named arguments: 1 passed, 0 usedat /tmp/oW17qrO13E:1------> » | ||
ssutch | r: class Omg::Nowai { our Int constant MAX = 536_870_911; }; say Omg::Nowai::MAX; | 07:16 | |
camelia | rakudo 51d024: OUTPUT«536870911» | ||
07:19
cosimo joined
07:23
JimmyZ left
07:26
SamuraiJack joined
07:43
JimmyZ joined
|
|||
ssutch | r: sub F(:$start) { say $start; }; say F(|{'start'=>1}); | 07:43 | |
camelia | rakudo 51d024: OUTPUT«1True» | ||
07:44
grondilu joined
|
|||
ssutch | r: sub F(:$start, :$end) { say $start, end; }; say F(|{'start'=>1}); | 07:44 | |
camelia | rakudo 51d024: OUTPUT«===SORRY!===CHECK FAILED:Calling 'end' will never work with no arguments (lines 1, 1) Expected any of: :($a)» | ||
ssutch | r: sub F(:$start, :$end) { say $start, $end; }; say F(|{'start'=>1}); | ||
camelia | rakudo 51d024: OUTPUT«1(Any)True» | ||
ssutch | sweet | 07:47 | |
timotimo | ohai people | 08:04 | |
sorear | hi timotimo | ||
timotimo | lue: thank you for the semilist mention patch | ||
there's a commit in the specs repo with an id starting with "70bad1" | 08:05 | ||
labster | I blogged lol: blog.brentlaabs.com/2013/06/camelia...ebuts.html | 08:24 | |
sorear | labster: By the rate things are progressing, and I'm sure it's already at a higher percent by now. # this sentence appears to contain zero or more grammatical errors | 08:27 | |
timotimo | there were no commits (that i have seen) between you posting that and my update of the spectest run gist :( | 08:30 | |
labster | I'm sure it's higher on jnthn or sorear's local copy then ^_^ | 08:33 | |
timotimo | :) | ||
i posted it directly before jnthn went to bed, though :| | |||
hm, so, eqaddr still doesn't seem to exist | 08:34 | ||
labster | sleep-coding? ... | ||
sorear | labster: I haven't actually been fixing any bugs super-recently | ||
I've been optimizing, and prototyping a java library interop system | 08:35 | ||
labster | you two are ruining a young man's dreams. | ||
timotimo | dir is NYI on JVM backend <- does this seem like a good candidate to start working on? | 08:36 | |
oh hey, there *were* changes in rakudo after i made the spectest! | 08:37 | ||
d058373..30c82c7 - these, to be exact | |||
should i run another spectest? | |||
i think i shall :) | |||
labster | if you want. my statement is still correct expressing the rate of progress we've had lately. | 08:38 | |
timotimo | yeah | ||
it'll make me feel good i hope :P | |||
labster | dir()/IO::Path.contents has problems. | 08:39 | |
sorear | timotimo: that's funny, my local {nqp,rakudo}-jvm has a perfectly good nqp::eqaddr | ||
labster | there's no readdir op in parrot yet. | ||
timotimo | so what, i can just add an #if jvm block for the time being | 08:40 | |
labster | sounds cool to me, then. try to make it a lazy list. | 08:41 | |
sorear | r: say nqp::eqaddr(&say,&say) | ||
camelia | rakudo 51d024: OUTPUT«===SORRY!===Error while compiling block (source text: "say nqp::eqaddr(&say,&say)"): Error while compiling op call: Error while compiling block : Error while compiling op call (source text: "say nqp::eqaddr(&say,&say)"): Error while compiling op eqaddr: No regist… | ||
sorear | nqp: say(nqp::eqaddr(&say,&say)) | ||
camelia | nqp: OUTPUT«1» | ||
timotimo | ...huh? | 08:42 | |
weird! | |||
sorear | r: say(&say =:= &say) | ||
camelia | rakudo 51d024: OUTPUT«True» | ||
timotimo | indeed! | ||
the hell? | |||
sorear | timotimo: the =:= op compiles to an eqaddr. I have no idea how one works but not the other. | ||
08:45
popl left
|
|||
timotimo | er, now i compiled it successfully ?!? | 08:46 | |
oh, i replaced the =:= op with the old verison | 08:48 | ||
i think properer semilist support comes before dir support. | 08:50 | ||
i think create-jvm-runner is wrong; it looks for eval-client.pl in the wrong directory: is nqp/install, should be: nqp/tools/jvm/ | 08:53 | ||
and it seems like the makefile doesn't create a core setting jar, just a core setting class :( | 08:54 | ||
08:54
jlaire left
08:58
jlaire joined
08:59
grondilu left
|
|||
ssutch | do you folks sleep? | 09:03 | |
<jeez> | |||
is there any way to make rakudo puke w/ a traceback when it encounters something like this: use of uninitialized value of type Any in string context in sub proclaim at lib/Test.pm:255 | 09:04 | ||
sorear | ssutch: No | 09:10 | |
(That was a reply to your first question) | |||
ssutch | sorear: i don't think i've ever been on IRC when you aren't | 09:11 | |
#perl6 anyway | |||
sorear | that's because I have run my irc client 24/7 with occasional interruptions for several years | 09:12 | |
09:12
tgt joined
|
|||
ssutch | but, i mean, active | 09:12 | |
labster | 6PM-midnight PDT is the slow time for #perl6 | ||
sorear | what timezone are you ssutch? | 09:13 | |
ssutch | GMT-7 | ||
sorear | ssutch: that explains it, that's my timezone | 09:14 | |
timotimo | "give my timezone back!" | 09:15 | |
sorear | labster's too. | ||
where are you latitudinally? | 09:16 | ||
LA? | |||
timotimo guesses running a new ConfigureJVM seems like a good idea | |||
ssutch | sorear: SF | ||
labster | yeah, I have a tendency to stay up to hack o'clock. | ||
timotimo | ah, cool, with my semilist changes i only fail the few clone spectests that i assume ssutch put in place | 09:17 | |
sorear | ssutch: where in SF? are you near japhb and/or TimToady and/or diakopter? | ||
sorear is down in SD, so far in any event | |||
ssutch | sorear: perhaps, i am in the sunset district, though've lived everywhere in SF | 09:18 | |
shachaf | sorear: I hear SF is the place to be! You should come visit. | ||
ssutch | yeah, but "dat SD weather" :) | ||
labster i liked your recent blog entry | 09:20 | ||
diakopter | ssutch: I'm in San Mateo; TimToady/quietfanatic are in Mountain View; japhb is moving near there soon | ||
labster is in Ventura | |||
thanks ssutch | 09:21 | ||
ssutch | neato, yeah, city proper for me (job and whatnot) | ||
diakopter finds you on linkedin | |||
labster | our weather has been surprisingly June Gloom free. I apparently escaped most of the low clouds at YAPCNA. | 09:22 | |
sorear | diakopter: anyone else in SF in #perl6 that you can think of? | ||
labster: we've had it down here and it has been wonderful <3 | 09:23 | ||
diakopter | agentzh lives there; he's moved on to nginx fame | ||
sorear | as obsessed as shachaf is with getting me there, I suspect he's somewhere around | ||
09:25
ldthien0 joined,
rhr joined
|
|||
timotimo | i need a highlighting plugin that will mark very red any = that should be a := | 09:27 | |
sorear | nqp? | 09:28 | |
FROGGS | timotimo: the current spectest state is pretty awesome, yes :o) | 09:29 | |
hi @all, btw | |||
timotimo | yes, nqp :) | ||
sorear | o/ FROGGS | 09:34 | |
ssutch | .oO(excited for (s)printf hackathonlet with masak tomorrow) |
09:35 | |
.oO(well, today, i suppose) |
|||
timotimo | how do i transfer all child nodes from one QAST node to another? apparently i cannot +$<semilist>.ast | ||
maybe i need a @ in front? | |||
sorear | you shouldn't be doing that at all? | 09:36 | |
can't you just do $qast.op('a different op') and leave the children put? | 09:37 | ||
timotimo | i wasn't able to make the op 'stmts' work, so i'm back to a Stmts op | ||
09:38
atroxaper joined
09:42
spider-mario joined
|
|||
timotimo | it seems i made it work, though | 09:44 | |
great, i can now accept a LoL in postcircumfix:<[ ]> | |||
hm, i have to accept it as LoL $foo and then it's in item context. oh well. | 09:47 | ||
09:49
spider-mario_ joined
09:50
spider-mario left
|
|||
FROGGS | ssutch: implementing (s)sprintf more? or is it about usage? | 09:55 | |
09:55
spider-mario_ left
|
|||
ssutch | FROGGS: (s)printf for nqp, from what i understand | 09:56 | |
FROGGS | that is nice | ||
sorear | seems array classes in the JVM are rather boring | ||
FROGGS | if it will be perl 5 compatible I have a bunch of tests | ||
sorear | no fields, methods, or constructors | 09:57 | |
ssutch | sorear: built in ones? | ||
sorear | I mean like [I | ||
ssutch | FROGGS, good to know, thanks | ||
i see | 09:58 | ||
FROGGS | sorear: about my huge filesize issue: it looks like the resulting filesize is like number of mixins * 1MB | 10:01 | |
sorear | FROGGS: I think I forgot to mention that the cause of your issue is clear now | 10:02 | |
FROGGS | sorear: and it looks like the mixin itself is to blame; it is not that several (old) incarnations of Perl6::Grammars stick around | ||
ohh | |||
sorear: since when? | |||
sorear | FROGGS: since you mentioned %?LANG | ||
%?LANG creates a dependency edge from the sub to the mixin | |||
which forces the entire mixin to be serialized | 10:03 | ||
which includes a freshly generated set of LTM automata | |||
FROGGS | right | ||
is there a patch in nqp or rakudo? I'm eager to see it | |||
sorear | it's not a bug, it's more ... design flaw | ||
FROGGS | yeah, I imagined something like that | 10:04 | |
sorear | it'll have to be repaired by a redesign | ||
FROGGS | hmmm, so by "clear" you dont mean "fixed"... :o) | ||
sorear | nope :) | ||
10:04
chayin_ left
|
|||
FROGGS | okay, works for me | 10:04 | |
timotimo | Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' - i don't get it. i just make'd that exact file?! | 10:05 | |
sorear | timotimo: do you have any loose .class files lying around? | ||
jnthn++ mentioned last night that those can confuse things | |||
I'm thinking (prejudicially since this is what I did for niecza) that it might be a good idea to throw away the automata at serialization time, since they can be reconstructed when needed from other data which is saved | 10:06 | ||
sorear briefly entertains thoughts of "use Java" based on v5.pm, javax.tools.JavaCompiler, and nqp-level interop | 10:07 | ||
FROGGS | sorear: that would be pretty useful I guess | 10:09 | |
that is like Inline::Java but in cool | |||
sorear | it might be saner to have a syntactic construct that just gives you a compilation unit | 10:12 | |
rather than trying to mix at the statement level | 10:13 | ||
FROGGS | true | 10:14 | |
the statement level only works well if you do everything on your own | 10:15 | ||
10:20
daniel-s__ joined
10:23
daniel-s_ left
|
|||
FROGGS | uhh: Error while compiling op eqaddr: No registered operation handler for 'eqaddr' | 10:27 | |
10:28
chayin joined
|
|||
FROGGS | current rakudo@parrot HEAD using nqp HEAD using parrot 5.5 | 10:28 | |
bbl & | |||
10:32
chayin left
10:35
FROGGS left
10:36
chayin joined
10:37
chayin left
10:38
potatogim_ joined
10:45
chayin joined
10:50
domidumont joined,
FROGGS[mobile] joined
10:51
potatogim_ left
|
|||
hoelzro | raiph++ # reddit post | 10:52 | |
10:52
ldthien0 left
11:08
Chillance joined
11:11
domidumont left,
domidumont joined
11:17
woosley1 left,
FROGGS[mobile] left
11:18
FROGGS[mobile] joined
|
|||
jnthn | o/ | 11:25 | |
11:28
JimmyZ left
|
|||
nwc10 | \o | 11:29 | |
hoelzro | o/ | 11:32 | |
sorear | o/ | 11:34 | |
jnthn: Do you think it's sane to to have hll-neutral JVM wrapper objects that inspect CALLER::hllConfig when deciding how to behave? | 11:36 | ||
11:37
ldthien0 joined,
JimmyZ joined
11:40
kaare_ left
11:41
kaare_ joined
|
|||
jnthn | sorear: I worry that sounds a bit like an N-N integration. I'd been thinking more that if Rakudo gets back an object that is not within the Perl 6 type system, it keeps it in a wrapper and has a meta-object that makes it look like it's at least as narrow as Any, etc. I felt the pain there when doing Grammar::Generative and referring to QAST nodes... | 11:41 | |
...otoh, I didn't have any coffee yet today. | 11:42 | ||
11:43
dmol left
11:44
rindolf joined
|
|||
sorear | so you're seeing two levels of wrapping? one wrapper puts a java.lang.Object into 6model, then another to put an arbitrary 6model object into Any (presumably in hllize)? | 11:44 | |
it sounds like the outer wrapper might tend to hide subtype relationships | 11:46 | ||
11:46
kaare_ left
|
|||
sorear | I want to allow for exposing java classes as p6 types :) | 11:46 | |
11:46
kaare_ joined
|
|||
jnthn | sorear: Yeah, I'm proposing a 2-level thing there, though NQP doesn't tend to care about forcing things into its own world view so far... | 11:48 | |
sorear | I suppose there's a question to ask about whether java objects are 6model objects or natives like int, num, str | 11:49 | |
I understand there is some fudgy stuff already for java.math.BigInteger | 11:50 | ||
jnthn | We'd certainly need to hold them at a level of indirection. BigInteger allows that the Java object reference can live directly inside a P6opaque though, avoiding a level of indirection. | 11:52 | |
sorear isn't sure what to think about the bigint boxing code | 11:56 | ||
do you see us having a single STable, WHAT, and HOW for all java objects, or one per Class? | 11:59 | ||
I was originally thinking the latter, but what you're describing seems to pull us towards the former | |||
jnthn | sorear: Having a singleton HOW doesn't imply having just one STable/WHAT | 12:01 | |
sorear: I think we need different stable/WHAT for Java types, otherwise you can't so easily talk about the types. | 12:04 | ||
sorear: But unless we actually have per-type meta-object level data, there's not a need to create a disinct HOW instance for each type. Could be more prototype-ish | 12:05 | ||
sorear forgot two STables could sanely share a HOW | 12:07 | ||
sorear was also imagining a STable builder in java | 12:09 | ||
12:09
kaare_ left
|
|||
sorear | r: my class Foo is repr<Bar> { } | 12:11 | |
camelia | rakudo 51d024: ( no output ) | ||
jnthn | STables are very low level. The only way one comes into existence (beyond the bootstrap) is nqp::newtype(...) | ||
r: my class Foo is repr<Bar> { }; say Foo.REPR | |||
camelia | rakudo 51d024: OUTPUT«KnowHOWREPR» | ||
jnthn | Semi-predicate FAIL | ||
12:11
kaare_ joined
|
|||
jnthn | Pretty sure rakudo JVM lacks that issue | 12:12 | |
sorear | oops | 12:13 | |
jnthn | yeah, "No REPR Bar" | ||
sorear | jnthn: I was imagining Java code that does the equivalent of nqp::newtype and sets up a method cache | 12:14 | |
jnthn | sorear: ah, I see | ||
sorear: That's probably reasonable. | |||
sorear | I suppose this part doesn't need to be wicked fast since 1. most programs won't be manipulating millions of types 2. dynamically constructing the adapter compunit is going to be a bit expensive itself | 12:15 | |
12:17
ssutch left
|
|||
sorear | What happens when a wrapped JVM object crosses a HLL boundary? | 12:17 | |
jnthn | I guess we want it to be stripped of any existing HLL wrapper and wrapped for the target if needed. That's probably easiest conveyed by giving it an extra HLL role. | 12:20 | |
s/giving it/adding/ | |||
dalek | p: d05299e | jnthn++ | .gitignore: Add .jar to .gitignore. |
12:21 | |
p: ec11079 | jnthn++ | src/vm/parrot/ (2 files): nqp::eqaddr should be core, not NQP only. |
|||
kudo/nom: 1ab4203 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION for nqp::eqaddr fix. |
12:22 | ||
sorear | jnthn: that means we need a foreignTransformJava key in hllConfig, and maybe declare that any object with a hllRole of java needs to support unbox_native to native_j? | 12:23 | |
*waves hands* | 12:24 | ||
12:25
Rotwang joined
|
|||
jnthn | sorear: Hm. I'd been thinking "wrap some object from some other language" could be a fairly generic thing. | 12:25 | |
sorear: I mean, it's mostly interested in making a foreign thing feel Perl 6-y enough to be convenient. | |||
sorear | jnthn: so we're back to having 6model objects for jvm objects -but- those objects make no effort to be caller-hll-sensitive because we expect they will be wrapped by a generic ForeignObjectHOW thingus? | 12:27 | |
jnthn | sorear: Yes, and NQP probably doesn't even wrap them at all. | 12:28 | |
That's how I'd expected it to do it, at least. | |||
If you can see a looming problem with that approach, I'm happy to consider soemthing else. | 12:29 | ||
sorear | jnthn: sounds like making types work with ForeignHOW will be an "interesting" exercise in moppery. i'll let you do that. | 12:30 | |
jnthn | sorear: OK :) | ||
sorear | actually I guess we have three parallel type hierarchies | 12:31 | |
12:31
ztt_ joined
|
|||
sorear | the actual Class type hierarchy, the lazily constructed hierarchy of jvm-wrapper type objects, and the lazily constructed hierarchy of ForeignHOW | 12:32 | |
12:42
ldthien0 left
|
|||
[Coke] | jnthn: ugh. my laptop went to sleep last night, stopping the test run on S14. | 12:46 | |
moritz wonders how much '"interesting" moppery' refers to the meta object protcol, and how much to the cleaning device :-) | |||
12:48
potatogim_ joined
12:51
xilo left
|
|||
jnthn | [Coke]: aww | 12:54 | |
[Coke] | jnthn: up to S32-num/is-prime.t ... | 13:00 | |
this is just to test the more automated run, anyway - real run will be done once the normal run picks a version of a spec test suite to run, about 3 hours out. | |||
colomon wonders if is-prime will work better in Rakudo JVM than it did in Rakudo Parrot.... | |||
dalek | kudo/nom: 614d9e0 | jnthn++ | src/core/Bool.pm: Fix null exception in infix:<?^>. The Parrot version of nqp::xor returns a Parrot Undef, which we really don't have a sane equivalent of on JVM so it gives a null. This handles it appropriately, fixing at least one test file. |
13:01 | |
jnthn | > say (1..100).grep(*.is-prime) | 13:02 | |
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 | |||
Seems to work ;) | |||
[Coke] | S32-str/capitalize.rakudo.jvm......................===SORRY!=== | 13:03 | |
java.lang.StringIndexOutOfBoundsException: String index out of range: 2 | |||
timotimo | i'll run a new spectest now | ||
[Coke] | there's something for ya. :P | ||
colomon | jnthn: I don't know if anyone else remembers it, or it got fixed. It was something like Rakudo's is-prime forgot what was prime after a while and just returned whatever. | 13:05 | |
13:05
spider-mario joined
|
|||
timotimo | how should i implement postcircumfix:<[ ]>(LoL $foo) for Any? should it make [5;5] behave just like [5][5]? | 13:05 | |
dalek | p: 2d93042 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: nqp::bitor_s and nqp::bitxor_s shouldn't truncate. Fixes some failing bitwise operator tets for Rakudo JVM. |
13:07 | |
jnthn | timotimo: I think that's the basic idea | ||
timotimo | i'll try to implement that then | 13:09 | |
will [1..5;1..5] result in a 2-d array then? | |||
13:10
kaare_ left
13:11
kaare_ joined
|
|||
moritz | yes | 13:12 | |
timotimo | cool. okay. | ||
geekosaur -barely- suppresses email response "I wasn't aware that Parrot *had* a future - or, for that matter, a present - separate from Rakudo" | |||
timotimo | i think it's time for a few more spectests. | ||
i didn't spot it in the specs yet; that you get multidimensional arrays from slices | 13:13 | ||
although it of course seems sensible | |||
[Coke] | geekosaur: yes, please surpress that. I think we can take the high road here. | 13:14 | |
*supress | |||
*supress ! (argh!) | |||
*suppress ! (argh!) | |||
*whew. | |||
timotimo | surprese! typos :) | ||
something went wrong in my spectest :| | 13:16 | ||
[Coke] | jnthn: passing tests went from 16596 to ... 16273 ... | 13:22 | |
jnthn | [Coke]: Hmmm. | ||
[Coke] kicks off another run, since so much changed since that one started. | |||
jnthn | [Coke]: Up to date NQP too? | ||
masak | good afternoon, #perl6 | 13:25 | |
[Coke] | each run does a fresh checkout of rakudo & nqp. | ||
but that one started yesterday evening, so is already missing a ton of changes. | |||
timotimo | if i have my @part := @arr[4..6;4..6] will i address the resulting elements as @part[0;0]? will that give me @arr[4;4]? | ||
if i have [4, 6;4, 6], will i get holes at @part[1;1]? | 13:26 | ||
[Coke] | I can post the results of it if you like | ||
masak | geekosaur: +1 about high road. Parrot is not in need of additional pummeling. | ||
timotimo | beautiful plumage, donnit? | 13:27 | |
dalek | kudo/nom: 03e005c | jnthn++ | src/vm/jvm/runtime/org/perl6/rakudo/ (2 files): Check rw-ness on Scalar assignment. Fixes the one failure left in S03-operators/increment.t, and probably more. |
||
masak | how to immunize yourself from "is dead" jokes: name your project "Parrot". | ||
timotimo | :) | 13:28 | |
13:29
birdwindupbird joined
|
|||
dalek | p: 73cea21 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Make lcm_I semantics match exceptations. Fixes remaining failure in lcm.t. |
13:31 | |
timotimo | I CANT SPECTEST LIKE THIS | ||
masak | timotimo: dude are you complaining that people are fixing things faster than you can spectest? | 13:32 | |
timotimo | :D | ||
this is crazy | |||
jnthn | [Coke]: I think I can understand the backslip. We probably passed various things bogusly before due to junctions not being detected due to missing type checking. | 13:33 | |
[Coke]: I put in the type checking but not the re-dispatch to the auto-threader yet. | |||
[Coke]: So some test files that survived somehow now explode. | |||
Hm, I keep running into tests that need that fixing. Guess I should do it nextish. | 13:34 | ||
13:36
ztt_ left
|
|||
timotimo | i need some serious metaop magic help now; i have 15:31 < jnthn> Hm, I keep running into tests that need that fixing. Guess I should do it nextish. | 13:37 | |
nope, that's not what i have. | |||
for ([X] @$coords).tree { ... } is what i have | |||
moritz | does anybody know whether Hotspot or Zero work better with openjdk for nqp/rakudo? | ||
timotimo | and i need to get a list of re-mapped "indices" kind of | 13:38 | |
13:39
berekuk joined
|
|||
timotimo | gist.github.com/anonymous/d71b7db6988e477eb0a8 - does this seem attainable with just metaops? | 13:40 | |
i fear i'll have to reinvent X :( | |||
unless i can go from ((1, 2, 3), (4, 6), (8, 9, 9)) to zip a 0..* range into each sublist | |||
that kind of seems doable | 13:41 | ||
r: my LoL $coords = LoL.new((1, 2, 3), (4, 6), (8, 9, 9)); say (@$coords >>Z>> 0...*).perl | |||
camelia | rakudo 614d9e: OUTPUT«===SORRY!===Missing << or >>at /tmp/qhk52VFjMC:1------> , (4, 6), (8, 9, 9)); say (@$coords >>Z>⏏> 0...*).perl expecting any of: postfix infix stopper infix or meta-infix» | ||
timotimo | r: my LoL $coords = LoL.new((1, 2, 3), (4, 6), (8, 9, 9)); say (@$coords >>Z,>> 0...*).perl | 13:42 | |
camelia | rakudo 614d9e: OUTPUT«((1, 0), (4, 1), (8, 2)).list» | ||
timotimo | r: my LoL $coords = LoL.new((1, 2, 3), (4, 6), (8, 9, 9)); say (@$coords.tree >>Z,>> 0...*).perl | ||
camelia | rakudo 614d9e: OUTPUT«([1, 0, 2, 0, 3, 0], [4, 1, 6, 1], [8, 2, 9, 2, 9, 2]).list» | ||
timotimo | close ... but no cigar | ||
r: my LoL $coords = LoL.new((1, 2, 3), (4, 6), (8, 9, 9)); say (@$coords.tree.map: { $_ Z 0...* }).perl | 13:43 | ||
camelia | rakudo 614d9e: OUTPUT«((1, 0), (2, 1), (3, 2), (4, 0), (6, 1), (8, 0), (9, 1), (9, 2)).list» | ||
timotimo | oh, that's close! | ||
r: my LoL $coords = LoL.new((1, 2, 3), (4, 6), (8, 9, 9)); say (@$coords.tree.map: { $_ Z 0...* }).tree.perl | 13:44 | ||
camelia | rakudo 614d9e: OUTPUT«([1, 0], [2, 1], [3, 2], [4, 0], [6, 1], [8, 0], [9, 1], [9, 2]).list» | ||
timotimo | r: my LoL $coords = LoL.new((1, 2, 3), (4, 6), (8, 9, 9)); say (@$coords.tree.map: { ($_ Z 0...*).item }).tree.perl | ||
camelia | rakudo 614d9e: OUTPUT«([1, 0, 2, 1, 3, 2], [4, 0, 6, 1], [8, 0, 9, 1, 9, 2]).list» | ||
timotimo | r: my LoL $coords = LoL.new((1, 2, 3), (4, 6), (8, 9, 9)); say (@$coords.tree.map: { ($_ Z 0...*).tree }).tree.perl | ||
camelia | rakudo 614d9e: OUTPUT«([1, 0], [2, 1], [3, 2], [4, 0], [6, 1], [8, 0], [9, 1], [9, 2]).list» | ||
timotimo resorts to throwing in contextualisers and such in random spots hoping to draw a winning ticket >_> | |||
pmichaud | keep in mind that there's a lot of fixing that needs to be done with lists, LoLs, Z, and the like in Rakudo. | 13:45 | |
and .tree | |||
timotimo | that's true :( | ||
i hadn't even thought of that | 13:46 | ||
when will you come around to that, pm? ;) | |||
get around to it* | |||
pmichaud | timotimo: sadly, I don't know. My hours aren't my own these days. | ||
timotimo | i understand :( | 13:47 | |
colomon | pmichaud++ | ||
timotimo | oh, when i'm in Any.pm, do I have to be careful about what i have available and what i don't have available? | 13:49 | |
colomon | hmmm, smoke test didn't run last night. look like the rakudo build failed. :( | 13:51 | |
13:51
panchiniak_ joined
|
|||
masak | timotimo: basically, you always do (have to be careful about what you have available and what you don't have available) in the setting. | 13:51 | |
timotimo | hm, and postcircumfix has to be a method on the object i'm trying to augment, right? | 13:52 | |
jnthn | colomon: yeah, my fault...fixed already | ||
colomon | jnthn++ | ||
dalek | p: f1e62c5 | jnthn++ | src/QRegex/P (2 files): Use portable nqp::flip(...), not .reverse(). |
||
13:54
woosley1 joined
|
|||
pmichaud | well, postcircumfixes are eventually to be subs, not methods. | 13:55 | |
13:56
crab2313 joined
|
|||
dalek | kudo/nom: 7d6a3e8 | jnthn++ | src/Perl6/World.nqp: Assorted unbusting. Gets S05-grammar/protoregex.t passing in full, and probably others. |
13:57 | |
masak | pmichaud: what was the primary reason for that shift? I'm not opposing it, just curious what lesson was learned to make sub seem better than method. | ||
timotimo | you can define them later on :P | 13:58 | |
nwc10 | is rakudo-jvm good enough to run the ilbot yet? | 13:59 | |
jnthn | No tockets | ||
s | |||
14:00
FROGGS joined
|
|||
FROGGS | jnthn++ # commit "nqp::eqaddr should be core, not NQP only." | 14:02 | |
masak | timotimo: well, my guess would be "you can optimize subs statically better than you can methods". | 14:05 | |
jnthn | masak: Inlinability | ||
masak: Otherwise we'll always struggle to get indexing into compact arrays down to something really efficient. | |||
dalek | kudo/nom: 2aa4972 | jnthn++ | src/core/IO.pm: Unbust a little IO. Enough so slurp at least works now. |
14:07 | |
timotimo | yay for slurp! | ||
jnthn: does dir() seem like an LHF to you? if so, i'd like to try to implement it later | 14:08 | ||
masak | jnthn: oh, right. | ||
timotimo | i made spectests from like two commits ago; interested to see them? | 14:09 | |
jnthn | timotimo: Potentially is, yes | ||
timotimo: Shoudln't be too hard | |||
timotimo | cool :) | ||
FROGGS | shock, for a moment I thought stage parse got slower by 20% | 14:10 | |
but my pc is making a backup right now.... | |||
timotimo | gist.github.com/timo/8a50eb8a3360e.../revisions - a pretty diff for you, jnthn :) | 14:11 | |
i believe it did the line wrapping because i >'d it into a file :( | |||
Tests=17904 -> Tests=17642 that must be the junction thing you mentioned | 14:12 | ||
my head asplode from slicing and stuff >_< | 14:14 | ||
moritz | while compiling the setting I get: Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' in (src/gen/main.nqp) | 14:15 | |
dalek | kudo/nom: 7f05613 | jnthn++ | src/core/Cursor.pm: Fix !INTERPOLATE; fully pass litvar.t. |
||
jnthn | moritz: rm *.class | ||
moritz | jnthn: thanks | ||
colomon has started a module smoke test | 14:17 | ||
moritz | whoa wat, java takes 3GB virtual mem to compile the setting? | 14:21 | |
(and it's not through yet) | |||
or does it just use up half the system memory, whatever it is? :-) | 14:22 | ||
JimmyZ only has 2GB memory | |||
timotimo | it does like its virtual memory | ||
[Coke] | you can tell your java to use less memory. | 14:23 | |
colomon | install-jvm/nqp --target=jar --output=blib/Perl6/ModuleLoader.jar --encoding=utf8 \ | ||
src/gen/ModuleLoader.nqp | |||
Unknown compilation target 'jar' | |||
:( | |||
[Coke] | colomon: you need a new nqp. | ||
(pretty much every time) | |||
colomon | [Coke]: I just built one | ||
[Coke] | sure you installed it? | ||
moritz | Stage parse : 138,581 | 14:24 | |
colomon | [Coke]: gist.github.com/colomon/5841060 # my history | ||
moritz | that's not bad on this slow machine | ||
14:25
moritz left
14:27
woosley1 left
|
|||
dalek | kudo/nom: d02067f | jnthn++ | src/core/Hash.pm: Fix typed hash iteration. |
14:30 | |
colomon | jnthn: btw, zavolaj is failing one test on my smoking machine, and that in turn is breaking a bunch of modules | 14:32 | |
[Coke] | colomon: I'd do a make clean in rakudo | 14:33 | |
mebbe. | |||
don't see anything obvious though. :( | 14:34 | ||
timotimo | my n-dimensional slicing is such a horrible piece of code :| | ||
colomon | [Coke]: no joy | ||
timotimo | oh wow, i actually made working code | 14:36 | |
so ... i have a $foo that is bound to a cell in an array; how do i change the binding in that cell? :| | 14:37 | ||
14:37
sciurius left
14:38
_ilbot joined,
_ilbot left
|
|||
timotimo | r: my @a = [1, 2, 3]; my @r; my $p := @a[1]; my $rp := @r[1]; $rp := $p; $rp = "hi"; say @a; # i hope this makes some sort of sense | 14:38 | |
camelia | rakudo 2aa497: OUTPUT«1 2 3 hi» | ||
timotimo | ... er wha? | ||
that's how i do it? | |||
colomon | [Coke]: just blew away the repo and started from scratch | 14:39 | |
timotimo | alas, no joy | ||
14:40
berekuk left
|
|||
timotimo | yeah, and why would it even work? that makes no sense | 14:40 | |
colomon | timotimo: did you mean @a = 1, 2, 3? | 14:41 | |
or was that supposed to be an array in an array? | |||
timotimo | perhaps i did. | ||
yeah, that was probably wrong. | |||
r: my @a = [1, 2, 3]; my @r; my $p := @a[1]; my $rp := @r[1]; $rp := $p; @r[1] = "hi"; say @a; # this is more like what i'm actually trying to do | 14:42 | ||
camelia | rakudo 2aa497: OUTPUT«1 2 3» | ||
timotimo | r: my @a = 1, 2, 3; my @r; my $p := @a[1]; my $rp := @r[1]; $rp := $p; @r[1] = "hi"; say @a; # this is more like what i'm actually trying to do | ||
camelia | rakudo 2aa497: OUTPUT«1 2 3» | ||
timotimo | clarification: i'm writing the postcircumfix:<[ ]> and i'm constructing a new n-dimensional array that is supposed to bind to the original, so that i can make it is rw properly | 14:43 | |
i walk the source array and the target array like my $ptr := SELF; $ptr := $ptr[$_] for @coords; | |||
pmichaud | my $rp := @r[1]; $rp := $p; | 14:44 | |
timotimo | and i have a $target-pointer that gets created kind of like this; at the end i want the cell bound with the $target-pointer to be bound to the cell that is bound to the $ptr | ||
pmichaud | the first statement doesn't really do anything. | ||
timotimo | er, huh? | 14:45 | |
pmichaud | it binds $rp to @r[1], then it re-binds $rp to $p | 14:46 | |
so the first binding doesn't really do anything. | |||
timotimo | r: gist.github.com/timo/5841141 | ||
camelia | rakudo 2aa497: OUTPUT«Cannot call 'magic'; none of these signatures match::(\SELF: LoL $coords, Mu *%_) in method magic at src/gen/CORE.setting:446 in block at /tmp/uLmH6TVAPj:37» | ||
timotimo | yes, indeed. that's my problem :) | ||
r: gist.github.com/timo/5841141 | 14:47 | ||
camelia | rakudo 2aa497: OUTPUT«00 01 02 03 04 05 10 11 12 13 14 15 20 21 22 23 24 25 30 31 32 33 34 35 40 41 42 43 44 45 50 51 52 53 54 55» | ||
timotimo | the offending line is $ptr = $sptr;, which used to be $ptr := $sptr, which doesn't make sense as you pointed out | ||
maybe i can do something like $ptr[$last-coord] := $sptr? | 14:48 | ||
pmichaud | I don't know if we have array binding working yet. | 14:49 | |
er, array element binding | |||
colomon | pmichaud: it kind of looked like we did, back a few tests of his ago... | ||
timotimo | ah, that doesn't work if it's not vivified yet | ||
pmichaud | what's the ultimate goal of all of this, ooc? | 14:50 | |
timotimo | i'm trying to make things like @array[1,2;5,6] = [[99, 99], [11, 11]] work | ||
@array[1,2;5,6].perl.say already works | 14:51 | ||
(with my semilist-LoL fix that i have locally) | |||
colomon | [Coke]: rebuilding my rakudo-jvm completely from scratch worked | ||
pmichaud | looking | ||
what type of object gets returned by @array[1,2;5,6], according to spec? | |||
timotimo | i didn't find a mention of this in the spec :( | 14:52 | |
i only found one-dimensional slicing | |||
pmichaud | S09 seems to say it returns a list of Parcels | 14:53 | |
that makes sense to me | |||
timotimo | or a list of lists of parcels? | ||
pmichaud | it seems to me that @array[1,2;5,6] = [[99, 99], [11,11]] doesn't have enough values on the RHS | 14:54 | |
(there being only one) | |||
timotimo | oh, it should have one less [ ]? | 14:56 | |
pmichaud | what does @array[1,2;5,6] produce? | ||
timotimo | Array.new(["15", "16"], ["25", "26"]) | 14:57 | |
pmichaud | I'm guessing it's ((@array[1][5], @array[1][6]), (@array[2][5], @array[2][6])) | ||
I guarantee it shouldn't create a new Array. | |||
array subscripting returns parcels. | |||
timotimo | it's supposed to return what you are guessing, but i'm not sure if i succeeded | ||
14:57
moritz joined,
moritz left
|
|||
pmichaud | for example, @x[4,2,7] returns (@x[4], @x[2], @x[7]) | 14:58 | |
timotimo | how do i programmatically produce such a thing properly? | ||
r: my Parcel $p; my @x = 1, 2, 3, 4; $p.push(@x[1]); $p.push(@x[2]); $p = "foo", "bar"; say @x; | 14:59 | ||
camelia | rakudo 2aa497: OUTPUT«WARNINGS:Useless use of "," in expression "= \"foo\", \"bar\"" in sink context (line 1)Type check failed in assignment to '$p'; expected 'Parcel' but got 'Array' in sub infix:<=> at src/gen/CORE.setting:13843 in method push at src/gen/CORE.setting:1447 in m… | ||
timotimo | r: my Parcel $p .= new; my @x = 1, 2, 3, 4; $p.push(@x[1]); $p.push(@x[2]); $p = "foo", "bar"; say @x; | ||
camelia | rakudo 2aa497: OUTPUT«WARNINGS:Useless use of "," in expression "= \"foo\", \"bar\"" in sink context (line 1)Cannot call 'push'; none of these signatures match::(Any:U \SELF: *@values, Mu *%_) in method push at src/gen/CORE.setting:1445 in block at /tmp/stKM4ccu8Z:1»… | ||
pmichaud | Parcels are immutable. | ||
you can't push / pop them. | 15:00 | ||
timotimo | that makes it kind of hard for me :| | ||
i could write a string and eval that :P | |||
pmichaud | well, the existing postcircumfixes create Parcels | ||
r: my @r; say @r[4,6,2].WHAT; # checking | |||
camelia | rakudo 2aa497: OUTPUT«(Parcel)» | ||
timotimo | there seems to be something called .bind_pos and some kind of argument Mu :$BIND! | 15:01 | |
pmichaud | you can create a Parcel from a list with $list.Parcel | ||
timotimo | ah, that's good | 15:02 | |
how do i properly put references to the original list into the list before i .Parcel it? | |||
pmichaud | oh, you can push and pop Lists | ||
and .map returns a List | |||
15:05
FROGGS[mobile] left
|
|||
timotimo | i think i know what i can do | 15:06 | |
pmichaud | given that @x[2,3] returns (@x[2], @x[3]) | ||
15:06
berekuk joined
|
|||
timotimo | but implementing it will have to wait a bit | 15:06 | |
15:06
FROGGS left
|
|||
pmichaud | I'm curious as to what @x[4;2,3] would return. | 15:06 | |
15:06
FROGGS joined
|
|||
timotimo | for the last dimension i should really hand over to the existing postcircumfix:<[ ]> | 15:06 | |
it should return (@x[4][2], @x[4][3]) in my opinion | 15:07 | ||
masak | +1 | ||
pmichaud | then what about @x[1,4;2,3] ? | ||
masak | four values in a square. | ||
FROGGS | I'd image you loop over the expressions separated by ';', call postcircumfix:<[ ]> for these, and put the results in a parcel | 15:08 | |
masak | really, most things that come back probably come back as hyper-matrices. | ||
N-dimensional rectangular "blocks". | |||
pmichaud | masak: so, ((@x[1][2], @x[1][3]), (@x[4][2], @x[4][3])) ? | 15:09 | |
15:11
sciurius joined
|
|||
masak | just so. | 15:11 | |
15:11
_ilbot joined
|
|||
pmichaud | r: my $a; my $b; my $c; my $d; (($a, $b), ($c, $d)) = 1..4; say ($a, $b, $c, $d); # just curious | 15:12 | |
camelia | rakudo 2aa497: OUTPUT«1 2 3 4» | ||
pmichaud | oh, cool. | ||
masak | \o/ | ||
pmichaud | r: my $a; my $b; my $c; my $d; (($a, $b), ($c, $d)) = 1..4; say ($d); # just curious | ||
camelia | rakudo 2aa497: OUTPUT«4» | ||
15:13
moritz joined
|
|||
masak | r: my ($a, $b, $c, $d) = 1..4; (($a, $b), ($c, $d)) = (($a, $c), ($b, $d)); say ($a, $b, $c, $d) | 15:13 | |
camelia | rakudo d02067: OUTPUT«1 3 2 4» | ||
masak | \o/ | ||
pmichaud | so, in general, given $lol, the postcircumfix should apply $lol[1..*] to each element of the slice SELF[@($lol[0])] | 15:15 | |
masak | that's even spec. | ||
something like "modulo access snafus, .[1;2;3] means .[1][2][3]" | 15:16 | ||
pmichaud | well, that says what to produce, but not how. | ||
masak | troo | ||
15:17
berekuk left,
moritz left,
_ilbot left
|
|||
pmichaud | @x[1,4;2,3] first does @x[1,4] to obtain the Parcel (@x[1], @x[4]), then applies .[2,3] to each element of that parcel to produce ((@x[1][2], @x[1][3]), (@x[4][2], @x[4][3])) | 15:17 | |
looks hyper-ish. | 15:18 | ||
I wonder if it needs/expects the nested Parcels. | |||
djanatyn compiles the latest rakudo | 15:20 | ||
15:20
berekuk joined
|
|||
Ulti tries to get try.rakudo.org to run locally | 15:21 | ||
pmichaud | it's probably worth not nesting the parcels as a first step. | 15:22 | |
15:22
berekuk left
|
|||
pmichaud | well... it might work out naturally | 15:22 | |
Ulti | which bot can I use to leave a message for moritz? | 15:23 | |
FROGGS | .tell ulti yoleaux does that | 15:24 | |
yoleaux | FROGGS: I'll pass your message to ulti. | ||
Ulti | heh thanks | 15:26 | |
yoleaux | 15:24Z <FROGGS> Ulti: yoleaux does that | ||
pmichaud | I have to depart again.. bbiaw | 15:27 | |
djanatyn | hmm, I'm trying to do the equivalent of perl -ne with my fresh rakudo install | 15:29 | |
15:29
panchiniak_ left
|
|||
djanatyn | ls -l | ./perl6 -ne 'say;' | 15:29 | |
but it says "Option 'e' in grouped options '-pe' needs a value, but does not have one" | 15:30 | ||
also, what are the best perl6 mailing lists to subscribe to if you were interested in helping out? | |||
15:31
berekuk joined
|
|||
masak | djanatyn: p6c, p6l, p6u. | 15:31 | |
p6c has RT ticket reports, and (very occasional) implementation discussion. | 15:32 | ||
p6l has spec updates, and (nowadays very occasional) language design discussion. | |||
p6u has occasional questions/discussions from Perl 6 users. | |||
15:32
berekuk left
|
|||
djanatyn | thank you, masak :) | 15:33 | |
I was here a long time ago as a pretty lazy high school student. I think I did google summer of code perl6 stuff | |||
masak | djanatyn: yes, I remember your nick :) | ||
djanatyn | in the time between then and now, I got a job doing system administration stuff at the pittsburgh supercomputing center, and I used perl5 at my work every day | ||
Ulti | :) | 15:34 | |
djanatyn | I usually just used perl5 or ocassionally ruby for quick scripts, and wrote bigger stuff in common lisp or clojure | ||
I love the fact that clojure runs on the JVM, and when timotimo told me than there was work to get perl6 running on the JVM, I was so happy | |||
dalek | ast: 995c98c | masak++ | S02-literals/hex_chars.t: [S02-literals/hex_chars.t] impose some order No need to store the pairs in an unordered hash, muddling the relationship between the test data and the test output. Storing things in a straight-up array instead. |
15:35 | |
masak | djanatyn: there's awesome, ongoing work to get Rakudo running on the JVM. | ||
djanatyn: in fact, the pace of that work is nothing short of astounding. | |||
nwc10 | when is the sprintf sprint? | 15:36 | |
15:36
berekuk joined
|
|||
dalek | ast: a958b32 | masak++ | .gitignore: [.gitignore] *.rakudo.jvm |
15:36 | |
masak | nwc10: in 2h24m, but I thought I'd get a bit of a head start. | 15:37 | |
nwc10 | ah OK. I guess that's a bit too close to blog an announcement | ||
and no idea if that would help anyway | |||
blogging a success for the 0th sprint might be more interesting | |||
15:37
berekuk left
|
|||
nwc10 | with some idea of when and what the 1st is | 15:37 | |
masak | I don't really need more than two collaborators, anyway :) | ||
all I wanted was some company while hacking :) | 15:38 | ||
nwc10 | ah OK. I'll be quiet and try to think of new puns | ||
15:38
moritz joined,
ztt_ joined
15:43
_ilbot joined
|
|||
masak .oO( punt on it like a punishing pundit so you can punctually puncture us with the punchiest puns... punk ) | 15:44 | ||
ztt_ | rakudo: say * for 1..3 | 15:49 | |
camelia | rakudo d02067: OUTPUT«***» | ||
djanatyn | okay, I compiled a new rakudo, subscribed to the mailing lists, downloaded panda and ran the bootstrapping stuff, and I see a bunch of warnings about how IO.Handle.copy is deprecated | ||
I'm in a boring python lecture so I'm going to check that out | |||
ztt_ | why *? | 15:50 | |
nwc10 | are they teaching Python 2 or Python 3? Does your print need () ? | ||
ztt_ | should be an error | ||
djanatyn | they're teaching python 2 | ||
nwc10 | curious. | ||
ztt_ | warnning an error | ||
djanatyn | these poor kids | 15:51 | |
they're using python 2.6.5 without readline support | |||
nwc10 | Gosh | ||
ztt_ | sorry for say * | ||
djanatyn | and almost all of them have nano open in one window and the python interpreter on the other | ||
nwc10 | that goes out of support this October: www.python.org/download/releases/2.6.8/ | 15:52 | |
djanatyn | when they want to update they type "execfile('filename.py')" | ||
ztt_ | * is magic | ||
nwc10 | why 2.6? Why not 2.7? And no mention of Python 3? | 15:53 | |
masak | ztt_: hello, that's not how * is used. | ||
djanatyn | while they've been doing the lectures I compiled python 2.7.5 and python 3.3.2 | ||
masak | rakudo: .say for 1..3 | ||
camelia | rakudo d02067: OUTPUT«123» | ||
masak | rakudo: say $_ for 1..3 | 15:54 | |
camelia | rakudo d02067: OUTPUT«123» | ||
djanatyn | this is a bioinformatics workshop; they have python 2.6 installed because it works with BioPython and they don't want to break it | ||
nwc10 | ah OK. | ||
colomon | djanatyn: the deprecation warnings are because the code needs to be changed, but we don't want to break code by changing it before the next Rakudo Star release. | 15:55 | |
15:56
potatogim_ left
|
|||
ztt_ | masak: thx! * is magic | 15:56 | |
15:56
kaare__ joined
|
|||
masak | ztt_: a bit, yes. the short explanation is that * == $_ + {} | 15:57 | |
ztt_: here, let me show you. | |||
ztt_ | masak: l'm listening | 15:58 | |
masak | r: say (1..30).grep: { $_ % 10 == 2 } | ||
camelia | rakudo d02067: OUTPUT«2 12 22» | ||
masak | r: say (1..30).grep: * % 10 == 2 | ||
camelia | rakudo d02067: OUTPUT«2 12 22» | ||
[Coke] | jnthn: back up (and over) to 16649 passing. | ||
masak | see? * == $_ + {} | ||
huf | what's the mumble in this explanation? | 15:59 | |
dalek | ast: ef1b165 | (Solomon Foster)++ | S03-operators/bag.t: Make sure bag add and bag multiply work in reduce. |
||
masak | huf: it's not the whole story, because it's more like the first * is like $^a, the second * is like $^b, etc. | ||
ztt_ | masak: got it, thx master | ||
masak kowtows | |||
huf | masak: oh, i was expecting more surprises. | ||
masak | Perl 6: surprisingly few surprises :) | 16:00 | |
16:00
kaare_ left
|
|||
jnthn | [Coke]: Is that a new high? | 16:00 | |
[Coke] | r: say 16649 / 25979 # jvm/parrot | 16:01 | |
camelia | rakudo d02067: OUTPUT«0.640864» | ||
huf | i guess i'm used to perl5 only being explainable by a successive list of progressively lesser lies :) | ||
[Coke] | jnthn: yes. regained the losses and then some. | ||
and I already saw multiple commits since I started this run. | |||
16:03
ajr joined
|
|||
diakopter | .seen TimToady | 16:03 | |
yoleaux | I saw TimToady 21 Jun 2013 22:02Z in #perl6: * TimToady has to get up again in 5ish hours to catch a plane, so --> bed & | ||
16:03
ajr is now known as Guest23301
16:04
ugexe left
16:05
ugexe joined
|
|||
colomon | rn: say 241025348275725.3352.Rat.norm.nude | 16:06 | |
camelia | rakudo d02067, niecza v24-81-g6672fa2: OUTPUT«301281685344656669 1250» | ||
colomon is a little worried that rakudo jvm doesn't get the right answer for that. :\ | |||
Ulti | sorear: installing IO::Pty::HalfDuplex tests never come back and with a forced install of try.rakudo.org the REPL always times out, I'm on OSX is this a problem? | 16:07 | |
jnthn | colomon: It...doesn't? | ||
> 241025348275725.3352.Rat.norm.nude | 16:08 | ||
301281685344656669 1250 | |||
16:08
tomyan joined
|
|||
masak | huf: what's really refreshing is to go back and read the RFC that proposed behavior like * and $^a. and to see how the solution Perl 6 arrived at is orders of magniuted better. | 16:09 | |
16:09
Guest23301 is now known as ajr_
|
|||
masak | huf: I wrote a post about it long ago: strangelyconsistent.org/blog/speaki...-in-perl-6 | 16:10 | |
16:15
konundra left
|
|||
colomon | not ok 823 - Rat.Rat yields correct Rat | 16:18 | |
# got: '301281685344656669 1250' | |||
# expected: '301281685344656640 1250' | |||
nwc10 | is that at the limit of the floating point mantissa? | 16:19 | |
colomon | nwc10: it's not a floating point, it's a rat | ||
nwc10 | but how is it implemented? | ||
colomon | jnthn: wait, wtf? | 16:20 | |
oh! | 16:21 | ||
rn: say (301281685344656669, 1250) | |||
camelia | rakudo d02067, niecza v24-81-g6672fa2: OUTPUT«301281685344656669 1250» | ||
16:21
SamuraiJack left
|
|||
colomon | rakudo-jvm$ ./perl6 | 16:22 | |
> (301281685344656669, 1250) | |||
301281685344656640 1250 | |||
it's not Rat, it's Int that is the problem! | |||
nwc10 | awesome :-) | ||
colomon | > 301281685344656669 | ||
301281685344656640 | |||
rn: say 301281685344656669 | |||
camelia | rakudo d02067, niecza v24-81-g6672fa2: OUTPUT«301281685344656669» | ||
colomon | well, that's special | ||
nwc10 | is that a spectest yet? :-) | ||
jnthn | wtf... | 16:23 | |
Ulti | good old out by 29 bug | 16:24 | |
nwc10 | r: say sprintf "%x %x", 301281685344656640, 301281685344656669" | ||
camelia | rakudo d02067: OUTPUT«===SORRY!===Two terms in a rowat /tmp/lJk9gDiccn:1------> , 301281685344656640, 301281685344656669⏏" expecting any of: postfix infix stopper infix or meta-infix statement end statem… | ||
nwc10 | OK, that didn't work. | ||
What did I mean? | |||
p5: printf "%x %x\n", 301281685344656640, 301281685344656669" | |||
jnthn | missing quote | ||
or unexpected quote at end | |||
Right where the yellow blob is :) | 16:25 | ||
masak | blob? it's a disk eject symbol! | ||
:P | |||
Ulti | ^^ | ||
masak | ⏏⏏ | ||
nwc10 | r: say sprintf "%x %x", 301281685344656640, 301281685344656669 | ||
camelia | rakudo d02067: OUTPUT«b84c9d00 b84c9d1d» | ||
nwc10 | so, that's your answer, isn't it? 32 bits | 16:26 | |
oh, I can't read, 24 | |||
Ulti | Java uses sign bytes instead of bits 254 is a +ve integer anything else is negative | 16:27 | |
masak | my sprintf.nqp has bitrotted, fancy that. | 16:30 | |
can someone help me upgrade this routine to modern NQP? github.com/masak/sprintf/blob/mast...tf.nqp#L26 | |||
obviously I shouldn't be doing pir::new__Ps('StringBuilder') as that is so 2012. | |||
nwc10 | oh, silly me. it's all truncated | 16:31 | |
$ perl -le 'printf "%x %x\n", 301281685344656640, 301281685344656669' | |||
42e5e18b84c9d00 42e5e18b84c9d1d | |||
jnthn | masak: Just keep an array of strings and nqp::join 'em at the end | ||
masak | jnthn: gotcha. | ||
why nqp::join and not join ? | 16:34 | ||
oh, I guess the latter calls the former under the hood anyway... | |||
jnthn | masak: If you are already turning all the pieces into strings already, nqp::join is more efficient. | 16:35 | |
masak | ah, ok. | ||
16:41
ztt_ left,
jaldhar left
|
|||
timotimo | hm, || syntax doesn't seem to exist yet | 16:42 | |
masak | ah, the .[0] change of the ? quantifier was the cause of the bitrot :) | ||
16:46
raiph joined,
panchiniak_ joined,
Rotwang left
16:47
moritz left,
jaldhar joined,
_ilbot left
|
|||
timotimo | my brain-dead-simple recursive attempt at multidim slicing doesn't work :( | 16:47 | |
(but it is much simpler) | |||
16:48
moritz joined,
moritz left
|
|||
colomon | n: say sprintf "%x %x", 301281685344656640, 301281685344656669 | 16:49 | |
camelia | niecza v24-81-g6672fa2: OUTPUT«42e5e18b84c9d00 42e5e18b84c9d1d» | ||
colomon | is that a known (Parrot) rakudobug? | ||
rn: say sprintf "%x %x", 301281685344656640, 301281685344656669 | |||
camelia | rakudo d02067: OUTPUT«b84c9d00 b84c9d1d» | ||
..niecza v24-81-g6672fa2: OUTPUT«42e5e18b84c9d00 42e5e18b84c9d1d» | |||
colomon | (more precisely) | ||
masak | good question. | 16:51 | |
hold on, I'll scan for it. | |||
no. | |||
masak submits rakudobug | |||
16:52
JimmyZ left
|
|||
nwc10 | rn: say 301281685344656640 + 1 | 16:53 | |
camelia | rakudo d02067, niecza v24-81-g6672fa2: OUTPUT«301281685344656641» | ||
nwc10 | rn: say 301281685344656640 - 301281685344656669 | ||
camelia | rakudo d02067, niecza v24-81-g6672fa2: OUTPUT«-29» | ||
nwc10 | so that seems to be a printf bug in Rakudo, rather than a parsing bug | 16:54 | |
how long until the sprintf sprint? :-) | |||
16:54
Rotwang joined
|
|||
timotimo | gist.github.com/timo/5841141 - here i'm getting "Cannot modify an immutable value"; what black magic do i have to use to make it work with assigning/binding? | 16:55 | |
16:56
berekuk joined
16:59
Rotwang left,
berekuk left
|
|||
diakopter | masak: where will you do the sprintf work | 17:00 | |
timotimo | it's called "the sprintf sprint" | 17:01 | |
nwc10 | rn: say sprintf "%d %d", 301281685344656640, 301281685344656669 | 17:02 | |
camelia | niecza v24-81-g6672fa2: OUTPUT«301281685344656640 301281685344656669» | ||
..rakudo d02067: OUTPUT«-1202938624 -1202938595» | |||
nwc10 | masak: I think that your bug title for RT #118601 is incorrect, but we seem to have two related bugs here | 17:03 | |
masak | diakopter: here. I thought about forking off into a different channel, but I believe the multiplier effect will be bigger if we stay on #perl6. | ||
nwc10: oh! indeed. | |||
masak adds this information to the ticket | |||
nwc10 | that one looks like truncation to 32 bits | 17:04 | |
but I'm now a bit confused about where the truncation in Rat was coming from | |||
colomon | nwc10: if you're talking about the one that I was looking at, rat was fine. It was the Int it was being compared against that had troubles. | 17:05 | |
dalek | kudo/nom: 01fc34b | jnthn++ | src/vm/jvm/Perl6/Ops.nqp: Fix code-gen thinko in p6return. Unbusts given/when as an l-value, which all kinds of things depended upon. |
17:08 | |
jnthn | There's some hundreds more | ||
timotimo | hundreds more passing spectests? :3 | ||
jnthn | yes | 17:09 | |
timotimo | awesome! | ||
jnthn | Well, certainly hundreds more attempted | ||
timotimo | should i go run a full spectest and update my gist? | ||
jnthn | Well, I'll sort out the junction failover later on today | ||
That should get some hundreds more, I hope | |||
17:10
moritz joined,
moritz left
17:11
dmol joined
17:14
Rotwang joined
17:15
_ilbot joined
|
|||
jnthn | afk for a bit | 17:15 | |
17:16
_ilbot left
17:18
_ilbot joined,
_ilbot left
|
|||
FROGGS | ahh, jnthn is taking a walk with ilbot... | 17:18 | |
17:19
birdwindupbird left,
berekuk joined
|
|||
[Coke] kicks off today's "official" run. | 17:20 | ||
17:22
berekuk left,
dmol left,
berekuk joined
17:23
panchiniak_ left,
dmol joined,
_ilbot joined
17:24
berekuk left,
_ilbot left
17:26
moritz joined
17:27
moritz left
17:29
berekuk joined
17:31
_ilbot joined,
moritz joined,
berekuk left
|
|||
masak | about half an hour remain until the sprintf sprint. | 17:32 | |
let's hope ssutch and tadzik show up :) | 17:33 | ||
FROGGS | I'll be around too, but I might be late (kids are not in bed yet) | ||
diakopter | masak: see the clogs; ssutch was awake until not too many hours ago | ||
masak | well, he's the one set the time :) | 17:34 | |
17:36
berekuk joined
17:37
_ilbot left,
moritz left
|
|||
dagurval | r: my $a = 0; $a = Int.new.WHERE while $a >= 0; say $a | 17:37 | |
camelia | rakudo d02067: OUTPUT«-1374370416» | ||
dagurval | shouldn't WHERE always return a positive value? | ||
masak | I don't see why it should. | 17:38 | |
dagurval | I haven't seen negative memory adresses used before | 17:40 | |
17:40
berekuk left
|
|||
dagurval | but I suppose it's possible | 17:40 | |
timotimo just wrote a bit of perl6 code to do html5 canvas work with the help of perlito6 :) | 17:42 | ||
(well, it was pretty obvious how to make it; it's pretty much a 1:1 copy of the example js code, just with $s everywhere | 17:43 | ||
17:43
risou_awy is now known as risou
|
|||
timotimo | but still cool!) | 17:43 | |
17:44
moritz joined
17:45
berekuk joined
17:46
berekuk left
17:47
_ilbot joined
17:50
ssutch joined
|
|||
diakopter | ssutch: you made it :) | 17:50 | |
ssutch | what did i make? | ||
moritz | IT! | 17:51 | |
ssutch | sweet! | ||
timotimo | and with barely any sleep, too! | 17:52 | |
masak | ssweet! \o/ | ||
FROGGS | hehe | ||
masak | I counted almost 8 hours of sleep. | ||
but maybe I missed some other channel? | |||
ssutch: what's your github id? | |||
ssutch | masak: `samuraisam` | 17:53 | |
masak | hehe | ||
17:54
kst` joined,
john5 left
|
|||
masak | ssutch: you now have write access to github.com/masak/sprintf | 17:54 | |
ssutch: feel free to make any commit you deem necessary -- but I'd appreciate it if you always did '--rebase' when you pulled. | 17:55 | ||
17:55
berekuk joined
|
|||
ssutch | no problem | 17:55 | |
my nqp is still pretty weak, i have to search the ops files a lot | 17:56 | ||
masak | or just ask here. | 17:57 | |
nqp: say("OH HAI") | |||
camelia | nqp: OUTPUT«OH HAI» | ||
masak | wow, nqp you so fast :) | ||
ssutch | nqp: say((grammar X{})) | 18:02 | |
camelia | nqp: OUTPUT«» | ||
masak | ssutch: I'm currently putting together a rough guide to the next two hours. | ||
ssutch | cool, thanks | 18:03 | |
are we trying to accomplish something like this: github.com/perl6/roast/blob/master.../sprintf.t | |||
masak | ssutch: yes -- nice set of tests. feel free to simply bring them in bit by bit if you want. | 18:07 | |
ssutch: better to do it little by little than in one large bunch. | 18:08 | ||
FROGGS | masak: what about that? github.com/mirrors/perl/blob/blead...ntf.t#L176 | ||
masak | FROGGS: very much so, too. | ||
FROGGS | k, great | ||
masak | as you see, we have more than two hours' work in front of us :) | ||
but let's make a dent in this interesting beast. | |||
ssutch: initial guidelines: github.com/masak/sprintf/commit/d1...a8d781333c | |||
[Coke] | pugs, niecza, rakudo-pvm - done. rakudo-jvm - S04 and counting. :) | 18:09 | |
masak | I'll add the links to the two test files as well. ssutch++ FROGGS++ | ||
FROGGS | masak: I'm back in an hour or so | ||
masak | FROGGS: sure thing. | ||
ssutch: I feel like starting with %b, %B, %o, %x, and %X | 18:13 | ||
ssutch | masak ok ill try %c - seems like an easy enough place to start | 18:14 | |
18:14
SmokeMac_ joined,
SmokeMachine left
|
|||
ssutch | does nqp have big ints? | 18:15 | |
timotimo | nqp: say(1111111111111111111111111111111111111111111111111); | 18:17 | |
camelia | nqp: OUTPUT«-2147483648» | ||
timotimo | not like that | ||
masak | ssutch: if you prefer reviewing of commits, feel free to push to a branch. | 18:19 | |
ssutch | masak yep | ||
masak | don't worry about wasting branches, either. just treat branches as convenient ways to link to commits :) | ||
18:20
tomyan left
|
|||
masak | I will reserve the right to cherry-pick, rebase, and generally push --force this repo as I see fit :) | 18:20 | |
ssutch | branches are practically free in git anyway | ||
diakopter | r: say $1111111111111111111111111 | 18:21 | |
camelia | rakudo 01fc34: OUTPUT«Cannot use negative index -2147483648 on Any in method gist at src/gen/CORE.setting:10361 in method gist at src/gen/CORE.setting:892 in sub say at src/gen/CORE.setting:11249 in block at /tmp/soB3a4LRRC:1» | ||
diakopter | yah | ||
nwc10: there's another truncate fun one ;) | |||
masak .oO( using the email regex again, are we? ) :P | 18:22 | ||
18:33
moritz left,
_ilbot left
|
|||
sorear | good * #perl6 | 18:35 | |
masak | sorear! \o/ | 18:36 | |
18:37
konundra joined
|
|||
timotimo | github.com/timo/rakudo/compare/sem...L?expand=1 - would like comments. seems mergable if no spectests break? | 18:37 | |
18:38
crab2313 left
18:39
moritz joined,
moritz left
|
|||
djanatyn | does the perl6 REPL have readline support | 18:39 | |
[Coke] | yes. | 18:40 | |
timotimo | it does, if you compile parrot with libreadline-dev installed | ||
djanatyn | okay, I'll compile again! | ||
18:40
tgt left
18:41
kingbeast joined
|
|||
sorear | Ulti: it may be. IO::Pty::HalfDuplex (people other than me use that? gack) was never tested except on Linux 2.6 and FreeBSD 7.0, and it seems quite sensitive to kernel behavior | 18:43 | |
jnthn | o/ sorear | ||
sorear | and I haven't tested it since I had 5.10, either | ||
o/ jnthn, masak | 18:44 | ||
18:45
moritz joined
18:47
_ilbot joined,
kaare__ left
18:50
_ilbot left,
moritz left
|
|||
masak | rpn: say sprintf "%b", -12 | 18:52 | |
camelia? | |||
camelia | pugs: OUTPUT«(timeout)» | ||
..niecza v24-81-g6672fa2: OUTPUT«-1100» | |||
..rakudo 01fc34: OUTPUT«11111111111111111111111111110100» | |||
masak | oh man. | ||
I'm gonna go with Niecza here. | 18:53 | ||
sometimes sanity is called for. | |||
timotimo | 2's complement is not good? :) | ||
masak | not in a world of bigints. | ||
ssutch | masak: github.com/masak/sprintf/compare/sam;percent-c | 18:54 | |
masak | ssutch: nice! feel free to push to master. | 18:56 | |
ssutch: how does is fare with non-ASCII unicode codepoints? | |||
might be worth a test. | |||
ssutch | totally | ||
18:57
raiph left
|
|||
sorear | what of supplementary characters? | 18:59 | |
ssutch | sorear: not sure what you mean | 19:00 | |
masak: unicode works (test pushed). do you want me to squash the commits or just merge em? | |||
19:01
moritz joined
19:02
moritz left
|
|||
masak | ssutch: hold on, checking. | 19:07 | |
sorear: do you have a test case? that would help. | |||
ssutch: feel free to squash those. that'll also give you a chance to fix the '%d' typo ;) | 19:08 | ||
after squashing, feel free to merge the squashed commit directly to master. | 19:09 | ||
dagurval | masak: you have a pull request :) | ||
ssutch | my first commit message is derp | 19:10 | |
[Coke] | S19... | 19:11 | |
19:11
raiph joined,
atroxaper left
|
|||
sorear | ssutch: characters > 0x10000 | 19:12 | |
19:12
_ilbot joined,
_ilbot left
19:14
domidumont left
|
|||
masak | rn: say chr( 0x10004 ) | 19:15 | |
19:15
risou is now known as risou_awy
|
|||
camelia | rakudo 01fc34, niecza v24-81-g6672fa2: OUTPUT«𐀄» | 19:15 | |
ssutch | nqp: say(nqp::chr(0x10004)) | ||
camelia | nqp: OUTPUT«𐀄» | ||
19:15
_ilbot joined,
_ilbot left
|
|||
masak | dagurval: hey, neat! | 19:16 | |
dagurval: I'm rebasing it in. | |||
GlitchMr | github.com/rakudo/rakudo/commit/94...37d252d0f8 | ||
Why is it $*VM, and not %*VM? | |||
dagurval | I'll take %x and %X while I'm at it if it's all the same :) | ||
GlitchMr | I mean, it's a dictionary. | ||
Without any magic, unlike $/. | |||
masak | dagurval: sure! | 19:17 | |
ssutch | ill do zero-padding | ||
masak | dagurval: mind if I give you a commit bit? | ||
19:17
_ilbot joined
|
|||
masak | you guys are awesome. | 19:17 | |
19:17
_ilbot left
|
|||
GlitchMr | rn: say "█".succ | 19:18 | |
camelia | niecza v24-81-g6672fa2: OUTPUT«WTF» | ||
..rakudo 01fc34: OUTPUT«⚀» | |||
GlitchMr | I'm not sure whatever of these is correct. | ||
(but I laughed on Niecza) | |||
19:18
dalek left
|
|||
ssutch too | 19:19 | ||
dagurval | masak: of course not :) | ||
19:19
moritz joined,
moritz left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
FROGGS | ohh, sprintf.nqp is borken | 19:20 | |
masak | dagurval: commit cherry-picked; commitbit given. | 19:21 | |
dagurval: welcome aboard! :) | |||
FROGGS | masak: can I get commit bit please? | 19:22 | |
masak | FROGGS: done. :) | 19:23 | |
instructions to be found at the beginning of the file. | 19:24 | ||
ssutch | FROGGS i fixed the bork | ||
masak | oh, did I bork it? :/ | ||
FROGGS | ssutch++ | ||
a missing comma line 131 | |||
masak | oh, yes. masak-- | ||
ssutch++ | 19:25 | ||
nqp doesn't do final comma? | |||
nqp: say(1,2,3,) | |||
camelia | nqp: OUTPUT«123» | ||
FROGGS | no, it wasnt the final | ||
masak | I know. | ||
but it does. so we should have it. | |||
masak adds it | |||
19:26
kingbeast left
|
|||
FROGGS | hmmm, it might help to see the sommits here, so one knows when to pull | 19:26 | |
masak | :) | ||
FROGGS: please always do 'pull --rebase' | |||
I won't accept merge commits to this repo. | |||
FROGGS | k | ||
ssutch | is the plan to move this into the nqp repo when it's ready enough? | 19:27 | |
masak | think so. | ||
jnthn said he'd have use for an nqp sprintf implementation right about now for Rakudo on JVM. | |||
nwc10 | masak: does github give you the ability to enforce that? | ||
masak | nwc10: no, I just have to be vigilant. | 19:28 | |
nwc10: not that I know, anyway | |||
also, we have a number of RT tickets which basically say "Parrot's sprintf isn't good enough for us". | |||
which could be fixed with our own implementation. | |||
nwc10 | yes, unless they gave a bunch of pre-cooked options on what to do, it would let people run arbitrary code on their servers | ||
perl 5's sprint is a small cluster of insanity | |||
for a sadly non-small value of "small" | |||
masak | very much in line with what we usually do. use Parrot's infrastructure until we have a good idea of what it was we actually needed ;) | ||
nwc10 | writing it in a high(er) level language feels like the way to go | 19:29 | |
masak | aye, that's also part of it. | ||
an incremental lifting of all the things. | |||
19:29
konundra left
|
|||
nwc10 | and, IIRC, at one point I linked to a PyPy example of where PyPy can optimise particular sprintf calls with constant format strings to the underlying function calls | 19:29 | |
(if not inline those functions) | |||
masak | yes, I remember that. | ||
ssutch | even the p5 sprintf test suite is a little crazy it seems | 19:31 | |
masak | dagurval++ # %x and %X | 19:32 | |
ssutch: how so? | |||
nwc10 | well, you have to push the corner cases in the test suite | ||
ssutch | just with the pod format i guess, then i realized there are ~550 cases | 19:33 | |
er, not the pod format, just the end of file thingy | |||
FROGGS | the __DATA__ block | 19:35 | |
is somebody working on %b? | |||
19:36
_ilbot joined
|
|||
ssutch | [11:13:21] <masak> ssutch: I feel like starting with %b, %B, %o, %x, and %X | 19:36 | |
masak | FROGGS: yes, but feel free to steal %b :) | ||
19:36
_ilbot left
|
|||
FROGGS | I'd like to, thanks | 19:36 | |
masak | I'll try my hand at %e instead. | ||
nwc10 | possibly stupid question, why is there no %O ? | 19:37 | |
19:37
gdey joined
|
|||
sorear | nwc10: Because octal digits are caseless | 19:37 | |
nwc10 | rn: print "%o", 42 | ||
camelia | rakudo 01fc34, niecza v24-81-g6672fa2: OUTPUT«%o42» | ||
sorear | Why is ther a %B? | ||
nwc10 | rn: print "%B", 42 | ||
camelia | rakudo 01fc34, niecza v24-81-g6672fa2: OUTPUT«%B42» | ||
nwc10 | rn: printf "%B", 42 | 19:38 | |
camelia | niecza v24-81-g6672fa2: OUTPUT«Unhandled exception: invalid format specifier at /home/p6eval/niecza/lib/CORE.setting line 1396 (sprintf @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 1397 (printf @ 5)  at /tmp/aRBqe20Whs line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE… | ||
..rakudo 01fc34: OUTPUT«101010» | |||
19:38
berekuk left
|
|||
nwc10 | $ perl -e 'printf "%#b\n", 42; printf "%#B\n", 42' | 19:38 | |
0b101010 | |||
0B101010 | |||
rn: printf "%o", 42 | 19:39 | ||
camelia | rakudo 01fc34, niecza v24-81-g6672fa2: OUTPUT«52» | ||
nwc10 | rn: printf "%o" 052 | ||
camelia | rakudo 01fc34: OUTPUT«===SORRY!===Two terms in a rowat /tmp/xSRJlyKtDP:1------> printf "%o" ⏏052 expecting any of: postfix infix stopper infix or meta-infix statement end statement modifier state… | ||
..niecza v24-81-g6672fa2: OUTPUT«===SORRY!===Two terms in a row at /tmp/fHdeX0wHES line 1:------> printf "%o" ⏏052Parse failed» | |||
nwc10 | rn: printf "%o", 052 | ||
camelia | niecza v24-81-g6672fa2: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o52 if you mean that at /tmp/cLQA4SHKFO line 1 (EOF):------> printf "%o", 052⏏<EOL>64» | ||
..rakudo 01fc34: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o52 if you mean that at /tmp/AbVJJM8ALB:1 ------> printf "%o", 052⏏<EOL> Leading 0 does not indicate octal in Perl 6; please use 0o52 if you mean tha… | |||
19:39
berekuk joined
|
|||
nwc10 | rn: printf "%o", 0o52 | 19:39 | |
camelia | rakudo 01fc34, niecza v24-81-g6672fa2: OUTPUT«52» | ||
nwc10 | right, so that's my question... | ||
masak | npr: say sprintf "%e", 42 | 19:40 | |
nwc10 | as the language now defines 0o52 as the octal input | ||
why is the output from %o the C-style? | |||
camelia | rakudo 01fc34: OUTPUT«4.200000e+01» | ||
..pugs: OUTPUT«(timeout)» | |||
..niecza v24-81-g6672fa2: OUTPUT«4.200000e+001» | |||
masak | oh dear. | ||
nwc10 | (there probably is no right answer to that) | ||
masak | does pugs only do timeouts these days? | ||
[Coke] | pugs: say "bite me"; | ||
camelia | pugs: OUTPUT«bite me» | ||
nwc10 | does the spec have anything to say about that discrepancy? | 19:41 | |
[Coke] | nope! ;) | ||
masak | nwc10: I'm leaning towards the conservative answer: output what other sprintf implementations output. | ||
ssutch | how should zero-padded negatives work? sprintf("%04d", -1) => '-001'? | ||
masak | nwc10: I can see the case for the other answer, but I don't think it's strong enough. | ||
ssutch: answser: check with Perl 5 and/or C. | |||
nwc10 | masak: which is exactly why I felt that there's no right answer. | ||
masak | answer* | ||
nwc10 | just a less wrong answer | 19:42 | |
dalek | kudo-star-daily: ddd0acf | coke++ | log/ (5 files): today (automated commit) |
||
kudo-star-daily: dc0909c | coke++ | log/ (5 files): today (automated commit) |
|||
nwc10 | rn: printf "%#o", 0o52 | ||
camelia | niecza v24-81-g6672fa2: OUTPUT«Unhandled exception: invalid format specifier at /home/p6eval/niecza/lib/CORE.setting line 1396 (sprintf @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 1397 (printf @ 5)  at /tmp/C1TLTfPeFm line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE… | ||
..rakudo 01fc34: OUTPUT«052» | |||
masak | nwc10: right. the less wrong answer (IMHO) is to not disrupt sprintf's output. | ||
nwc10 | OK, there we go | ||
I don't know how nailed down %#o is | |||
masak | nwc10: there's been talk of a modern sprintf-alike where we can innovate. | ||
but it's only talk. | 19:43 | ||
[Coke] | for masak: java.lang.IllegalArgumentException: sprintf only accepts ints, nums, and strs, not class __P6opaque__62 | ||
nwc10 | but maybe %#o and %#O should exist and do the 0o notation | ||
sorear | pubs.opengroup.org/onlinepubs/00969...rintf.html | 19:44 | |
masak | [Coke]: I feel I'm missing some context. | ||
sorear: thanks. adding. | 19:45 | ||
[Coke] | failure from one of the rakudo.jvm spec tests. | ||
I mention it only because I thought you were sprintf hacking. | |||
(I'll have today's run posted shortly, you can grab the failing test from there.) | |||
masak | [Coke]: ah. thanks. | ||
[Coke]: I'm sprintf hacking, but so far outside of Rakudo. | 19:46 | ||
[Coke] notes that Dynamic variable $*PID not found is a common error in the r-jvm spec run | |||
labster | more like sprintf replacing? | ||
sorear | "... if FLT_RADIX is not a power of 2 ..." | ||
these people think of everything | 19:47 | ||
masak | sorear: like the NetHack devs! :P | 19:48 | |
nwc10 | sorear: IIRC it's because there's now an IEEE spec for decimal arithmetic, and so I guess the two are related | ||
sorear | is_run et al won't work on rkaudo jvm without involved changes | 19:49 | |
nwc10 | IIRC there's an IBM floating point format which is base 16, not base 2, but (obviously) for that, anything that is a power of 16 will be a power of two :-) | ||
sorear | ie what do we do with $*EXECUTABLE_NAME | ||
nwc10 | but that base 16 format has interesting artefacts due | ||
dalek | rl6-roast-data: 1b39b72 | coke++ | / (5 files): today (automated commit) |
19:50 | |
nwc10 | due to, er I forget exactly what | ||
19:50
_ilbot joined
|
|||
[Coke] | ^^ daily run, rakudo-jvm up over 17K passes. | 19:50 | |
nwc10 | it sort of makes sense im my head, but I can't explain it | ||
19:50
berekuk left,
_ilbot left
19:51
berekuk joined
|
|||
[Coke] | rakud.jvm passing 66.2% of the tests rakudo.parrot does. | 19:51 | |
nwc10 | "this week" :-) | 19:52 | |
jnthn | [Coke]: As of which commit? | ||
oh, wait, it's probably in there... | |||
[Coke] | no, only the commit of roast is kept. one moment. | 19:53 | |
as of 01fc34b on rakudo.jvm | |||
masak | r: my $yesterday = 63.88; my $today = 66.62; my $day_rate = $today - $yesterday; say my $days_left = (100.00 - $today) / $day_rate | 19:54 | |
camelia | rakudo 01fc34: OUTPUT«12.182482» | ||
masak | :) | ||
sorear++ jnthn++ | |||
[Coke] | sorear++ jnthn++ | ||
colomon | jnthn++ sorear++ | ||
jnthn | [Coke]: Oh, that's latest one. | 19:55 | |
masak: That's not an S-curve! :P | |||
[Coke] | man, you guys really slowed down, then! ;) | ||
jnthn demands better curves :P | |||
19:55
lue joined
|
|||
masak | jnthn: I just thought the best time to extrapolate linearly would be somewhere in the middle of the S-curve :D | 19:57 | |
masak turns the estimate into a deadline and cracks his whip | |||
oh, the two hours are up already... | 19:58 | ||
sorear | is it more sigmoid, or more Gompertzy? | 19:59 | |
masak | seven commits, three features. not bad :) | ||
dagurval++ ssutch++ FROGGS++ | |||
nwc10 | masak++ | ||
masak | feel free to keep hacking -- I'll probably stick around. | ||
sorear | nwc10: inconsistent relative error between f.fff[ef] and 1.000[01 ? | ||
masak | I may even end up doing something useful myself. :) | ||
nwc10 | yes, something like that | ||
ssutch | :) | ||
FROGGS | masak: I should get a prefix, not a postfix :o) | 20:00 | |
masak | FROGGS-- ++FROGGS | ||
lue | hello world o/ | ||
FROGGS | right :o) | ||
masak | lue! \o/ | ||
nwc10 | actually, I think that the problem was that 2 is smaller than 10, whereas 16 is larger than 10 | ||
so the artefacts of conversion shake out in a very different way | |||
I'm really failing to remember. Sorry | 20:01 | ||
sorear | nwc10: makes sense, I read something once on proper rounding in binary-to-decimal conversion | ||
20:01
moritz joined
|
|||
sorear | it's actually a really hard problem | 20:01 | |
20:02
moritz left
|
|||
masak | it is? sounds interesting. | 20:03 | |
nwc10 | the artefacts of conversion for various pairs of numbers with adjacent representations | ||
colomon | what the hey is Ops.java's radix function supposed to be doing? | ||
oh. | 20:04 | ||
:\ | |||
jnthn | colomon: Parsing iirc | ||
[Coke] | colomon: I just ahd the same jar issue you did. it was sufficient to remove install-jvm and reinstall it. | ||
20:05
moritz_bck joined
|
|||
jnthn | colomon: It's *meant* to be a fairly direct port of the Rakudo on Parrot one. | 20:05 | |
moritz_bck | two short announcements regarding the IRC logs: 1) the network connection to the logging host suffers from massive packet loss; don't be surprised if it's slow/unresponsive | 20:06 | |
colomon | jnthn: why is it using doubles? | ||
moritz_bck | 2) I have a branch of the logging code that uses a totally different search backend (Lucy); you can try it out at tina.perlgeek.de/perl6/search (it doesn't have the data from the last ~2 days) | ||
feedback welcome :-) | |||
20:06
moritz joined
|
|||
jnthn | colomon: Are you looking at radix_i, or radix_I? Rakudo uses the latter, which does bigint stuff, iirc. | 20:07 | |
colomon: Short answer is "I don't know 'cus I just ported it", though ;) | |||
20:07
moritz left
|
|||
colomon | it's just named radix | 20:07 | |
jnthn | colomon: There may be errors in the port but I doubt I'd have introduced doubles where they weren't there. | ||
ah, OK | |||
I think radix_I is the one Rakudo uses, though. | |||
colomon | that's a capital i there? | 20:09 | |
colomon has located that function | |||
[Coke] | bah. Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' | 20:10 | |
is rakudo.jvm make -j safe? | |||
moritz_bck | colomon: capital I for bigint | ||
[Coke] starts over. | |||
jnthn | [Coke]: del *.class | 20:11 | |
colomon 's font doesn't distinguish well between I and l | |||
20:11
moritz joined
20:12
_ilbot joined
|
|||
[Coke] | jnthn: will try to remember for next time. :) | 20:12 | |
flussence dreams of some Grand Unified String Theory where sprintf and pack/unpack get replaced with something even better with a grammar-like syntax... | |||
.oO( oh wait, I may be describing perl5 formats... ) |
20:13 | ||
ssutch | in nqp, how can i get integer string without the sign character? | ||
20:13
moritz left,
_ilbot left
|
|||
sorear | abs then stringify? | 20:14 | |
[Coke] | nqp: say(~nqp:abs(-3)) | ||
camelia | nqp: OUTPUT«Confused at line 2, near "say(~nqp:a"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
[Coke] | nqp: say(~nqp::abs(-3)) | ||
camelia | nqp: OUTPUT«Error while compiling block : Error while compiling op call (source text: "~nqp::abs(-3)"): Error while compiling op stringify (source text: "~"): Error while compiling op abs (source text: "nqp::abs(-3)"): No registered operation handler for 'abs'current instr.: '' pc 5057… | ||
masak | flussence: grammar-like syntax, and excellent 6model integration. | ||
ssutch | nqp: say(nqp::abs(-3)) | ||
camelia | nqp: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::abs(-3)"): Error while compiling op abs (source text: "nqp::abs(-3)"): No registered operation handler for 'abs'current instr.: '' pc 50579 (src/stage2/QAST.pir:18466) (src/stage2/QAST.nqp:3077)… | ||
[Coke] | no abs()? huh. | ||
masak | flussence: come to think of it, maybe such a format could be *seen* as a repr in some sense! | 20:15 | |
20:15
_ilbot joined
20:16
_ilbot left,
moritz joined,
berekuk left,
moritz left
|
|||
jnthn | abs_i | 20:17 | |
flussence | masak: if I ever get unlazy enough to write code, one of the things I want to make happen is being able to call .Buf on arbitrary objects and have it DWIM, without declaring anything besides sufficiently unambiguous data types on their attributes. | 20:18 | |
(or at least a sub buf() that can take arbitrary input) | |||
20:19
rindolf left
|
|||
flussence | (and vice-versa, given a type object and a Buf...) | 20:19 | |
20:21
berekuk joined
|
|||
tadzik | uh-h | 20:21 | |
seems I'm late for sprintf hacking :( | |||
tadzik keeps missing hackathons | |||
nwc10 | tadzik: I think you're allowed to carry on from where they left off | 20:22 | |
20:23
berekuk left
|
|||
tadzik | I guess so | 20:24 | |
jnthn | go tadzik! | ||
20:24
berekuk joined
20:26
konundra joined
|
|||
masak | tadzik: instructions at the top of the file. | 20:26 | |
tadzik | yep, looking :) | 20:27 | |
20:27
berekuk left,
berekuk joined
20:29
fhelmberger joined
20:30
fhelmberger left
20:31
berekuk left
|
|||
colomon is not seeing any obvious issues with radix_I | 20:32 | ||
20:33
moritz joined
|
|||
diakopter | anyone: golfiest way to iterate characters in a string? | 20:34 | |
nqp or p6 | |||
jnthn | r: .say for 'omg'.comb | ||
camelia | rakudo 01fc34: OUTPUT«omg» | ||
moritz_bck | for $str.comb | 20:35 | |
diakopter | comb. rockin. thanks! | ||
20:36
MrMeek-afk left,
moritz left
|
|||
ssutch | tadzik i am finishing up 0-padding | 20:36 | |
20:37
berekuk joined
|
|||
FROGGS | there is a bug in hex_directive, github.com/masak/sprintf/blob/mast...f.nqp#L135 | 20:37 | |
~ (concat) has a higher precedence than ??!! | |||
masak | so it does. | 20:38 | |
fixing. | |||
[Coke] 's build fails again. wtf. | 20:39 | ||
guess I have to stick with "rebuild completely from scratch" each time. | |||
moritz_bck | ternary is just a smidgeon tighter than item assignment | ||
masak likes the word "smidgeon" wrt operator tightness | |||
20:40
berekuk left
|
|||
masak | nqp: sub foo(:$p = False) { say($p) }; foo() | 20:40 | |
camelia | nqp: OUTPUT«» | ||
masak | nqp: sub foo(:$p) { say($p) }; foo() | ||
camelia | nqp: OUTPUT«» | ||
20:41
konundra left
20:42
berekuk joined
|
|||
ssutch | nqp: say(match('<%0*%>', /'%' $<size>=(\d+|'*')? '%'/)) | 20:42 | |
camelia | nqp: OUTPUT«» | ||
ssutch | why doesn't this match? | ||
20:42
konundra joined
|
|||
dagurval | nqp: say(2**64) | 20:42 | |
camelia | nqp: OUTPUT«1.84467440737096e+19» | ||
jnthn | ssutch: You don't quantify the outside thing | 20:43 | |
dagurval | anyone know of a way to not get the scientific notation on that? | ||
masak | ssutch: because it can only match either \d+ or '*', not both. | ||
ssutch | nqp: say(match('<%*%>', /'%' $<size>=(\d+|'*')? '%'/)) | ||
camelia | nqp: OUTPUT«%*%» | ||
ssutch | ahh, yep | ||
jnthn | nqp: say(match('<%*%>', /'%' $<size>=[[\d+|'*']+]? '%'/)) | 20:44 | |
camelia | nqp: OUTPUT«%*%» | ||
jnthn | nqp: say(match('<%0*0%>', /'%' $<size>=[[\d+|'*']+]? '%'/)) | ||
camelia | nqp: OUTPUT«%0*0%» | ||
20:44
moritz joined
|
|||
ssutch | nqp: say(match('<%0*0%>', /'%' $<size>=[[\d+|'*']{0..2} '%'/)) | 20:45 | |
camelia | nqp: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "0..2} '%'/"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
20:45
_ilbot joined
|
|||
ssutch | nqp: say(match('<%0*0%>', /'%' $<size>=[[\d+|'*'] ** 0..2 '%'/)) | 20:46 | |
camelia | nqp: OUTPUT«Unrecognized regex metacharacter = (must be quoted to match literally) at line 2, near "'%' $<size"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
20:47
_ilbot left,
moritz left
|
|||
ssutch | r: say(match('<%0*0%>', /'%' $<size>=[[\d+|'*'] ** 0..2 '%'/)) | 20:47 | |
camelia | rakudo 01fc34: OUTPUT«===SORRY!===Unrecognized regex metacharacter = (must be quoted to match literally)at /tmp/QFvde02u6f:1------> %>', /'%' $<size>=[[\d+|'*'] ** 0..2 '%'⏏/))Unable to parse regex; couldn't find final '/'at /tmp/QFvde02u6f:1--… | ||
ssutch | nqp: say(match('<%0*0%>', /'%' $<size>=[[[\d+|'*'] ** 0..2] '%'/)) | ||
camelia | nqp: OUTPUT«Unrecognized regex metacharacter = (must be quoted to match literally) at line 2, near "'%' $<size"current instr.: 'panic' pc 14721 (src/stage2/gen/NQPHLL.pir:5232) (src/stage2/gen/NQPHLL.nqp:279)» | ||
ssutch | how does nqp do repetition? | 20:48 | |
jnthn | nqp: say('aaaa' ~~ /a ** 2..3/) | 20:49 | |
camelia | nqp: OUTPUT«aaa» | ||
jnthn | hm, like that. | ||
oh, I think your regex opens one too many [ ? | |||
yeah, I count 3 openers, two closers | |||
ssutch | nqp: say(match('<%0*0%>', /'%' $<size>=[\d+|'*'] ** 0..2 '%'/)) | ||
camelia | nqp: OUTPUT«» | ||
FROGGS | nqp: say(nqp::floor_n(3)) | ||
camelia | nqp: OUTPUT«3» | ||
20:51
moritz_bck left
|
|||
jnthn | ssutch: Thing you need 0..3 for that to match. 0, then *, then 0 = 3 things. | 20:51 | |
20:51
dmol left
|
|||
jnthn | Right, let's see if I can finally do this junction bind failover.. | 20:51 | |
ssutch | nqp: say(match('<%0*0%>', /'%' $<size>=[\d+|'*'] ** 0..3 '%'/)) | ||
camelia | nqp: OUTPUT«%0*0%» | ||
FROGGS | nqp: say(nqp::floor_n( (3.3 - 3) * 10 )) # wtf? | ||
camelia | nqp: OUTPUT«2» | ||
nwc10 | "junction bind failover" sounds painful | ||
FROGGS | meh, I hate floats | ||
nwc10 | tell me about it | ||
been hating them for years | 20:52 | ||
ever since I had 4 different values of 500 | |||
(or was it -500. Sign proably doesn't matter) | |||
jnthn | nwc10: In theory it should be straightforward... | ||
colomon | gist.github.com/colomon/5842544 # on the trail of the Int bug | ||
20:52
ajr_ left
|
|||
jnthn | nwc10: At least, now I've worked out a way to do it that I think will work... | 20:52 | |
nwc10 | "buy sorear beer, sit back and wait" ? :-) | 20:53 | |
jnthn | I'm not sure beer is quite the way sorear++ is fueled... :) | ||
hm, though I'd not mind a beer... | |||
FROGGS | I already got one :o) | 20:54 | |
sqirrel++ | |||
20:54
raiph left
20:55
konundra_ joined
20:57
dmol joined
20:59
xlat joined,
cooper joined,
cooper left,
cooper joined
|
|||
xlat | I try to install panda, but bootstrap.pl won't :-( pastebin.com/HFeht0wV | 20:59 | |
21:00
snoopy joined
21:01
berekuk left
|
|||
colomon | woah, zillions of numbers fail | 21:01 | |
xlat trying to try perl6 | 21:03 | ||
tadzik | AccÞs refusÚ | ||
is that "Access denied"? | |||
xlat | yes | ||
tadzik | dafuq | 21:04 | |
xlat | I m running rakudo 05.2013 on win7 | ||
tadzik | what platform is that? | ||
ok | |||
sorear | looks like mojibake | ||
at least, Accths is not a word in any language *I* know... | 21:05 | ||
jnthn | .oO( mojibake...my fave kind of cake... ) |
||
sorear | oh, þ ne Þ | ||
.u Þ | |||
yoleaux | U+00DE LATIN CAPITAL LETTER THORN [Lu] (Þ) | ||
21:05
fgomez left
|
|||
sorear | ok, accTHs | 21:05 | |
jnthn | xlat: Did you build it yourself or do a binary download? | ||
21:06
_ilbot joined,
fridim_ joined
|
|||
nwc10 | Hello _ilbot! | 21:06 | |
21:06
_ilbot left
|
|||
nwc10 | oops | 21:06 | |
xlat | bin download (I don't remember a success compilation of rakudo this year) | ||
jnthn builds it on Win7 daily ;) | 21:07 | ||
If it's the Rakudo Star binary then it should already have a Panda set up. | |||
Without needing to bootstrap it | |||
tadzik | Exception in thread "main" java.lang.NoSuchMethodError: org.perl6.nqp.runtime.CodeRef.<init> | 21:08 | |
jnthn | wat | ||
tadzik | more: gist.github.com/tadzik/5842624 | 21:09 | |
sorear | jnthn: how does rakudo-jvm do on windows, btw? | ||
jnthn | sorear: The eval client / eval server don't work. Aside from that, so far so good. | 21:10 | |
21:10
_ilbot joined,
_ilbot left
|
|||
colomon | does sort work on jvm yet? | 21:11 | |
sorear | tadzik: "perl6.getCodeRefs" is suspicious | ||
xlat | jnthn: I've tryed "perl6 panda install Grammar::Debugger" but it complain on Missing or wrong version of dependency 'c:/.../lib/Shell/Command.pm' | ||
sorear | because, um, there's nothing that can generate a method of that name... | ||
*now*. | |||
tadzik | xlat: isn't that after the failed bootstrap? | 21:12 | |
xlat: try nuking c:/rakudo/lib/parrot/5.3.0/languages/perl6/site/ | |||
sorear | there is evidence in the current code that it may have been used in the distant past | ||
perhaps you have a very old something floating around | |||
xlat | ouch.. I got another error before but can't remember | ||
jnthn | colomon: yes | ||
colomon | jnthn++ | 21:13 | |
If I choose numbers with (^99999999999999999).roll, I get 293 good versus 707 bad (where bad means $_ != $_.Str.eval) | 21:14 | ||
tadzik | sorear: seems to work fine after git-clean -fdx | ||
make realclean didn't really clean it though | 21:15 | ||
jnthn | colomon: That's a little bothersome. | ||
colomon | jnthn: yes, I concur. | ||
jnthn | colomon: I'm guessing this will boil down to something silly. | ||
colomon | I'm sure it will! | ||
21:15
Guest1337 joined
|
|||
jnthn | Which doesn't mean it'll be easy to find :( | 21:15 | |
colomon | I'm randomly searching in hope of seeing a pattern of some sort | ||
xlat | tadzik: it's building Grammar::Debugger now ... | ||
tadzik | xlat: whew. I'm relieved :) | 21:16 | |
sorear | jnthn: what's the releationship between github.com/perl6/nqp/commit/2d9304 and github.com/perl6/nqp/commit/f4a840 ? | ||
21:16
jeff_s1 left
|
|||
jnthn | sorear: They're drinking buddies... | 21:16 | |
jnthn actually looks at them... :) | |||
sorear: I managed to overgeneralize in f4a840 | 21:17 | ||
sorear: And fixed that in the other one | |||
sorear: I assumed & and ^/~ had the same truncation semantics. Seems the tests thing otherwise. | 21:18 | ||
21:18
moritz joined,
moritz left
|
|||
FROGGS | masak / ssutch: here is my patch, all passes except the vector tests... note: I need to clean up a lot: gist.github.com/FROGGS/9cf8ecb4132e2fba589e | 21:19 | |
jnthn | yay, think I've got the bind failover to work | 21:20 | |
sorear | jnthn: ah, I made the same generalization and then wondered why the later one wasn't just a revert... | ||
ssutch | FROGGS: cool. we're going to have to merge our regex changes | ||
i am about to push mine right now | |||
21:20
_ilbot joined
|
|||
jnthn | sorear: Because & needed to stay truncatitive | 21:21 | |
21:21
_ilbot left
|
|||
jnthn | uh, truncative? | 21:21 | |
How is English work... | |||
FROGGS | ssutch: ahhh sssss push it | ||
I'm trying now to support the vector stuff | |||
21:21
dmol left
|
|||
FROGGS | and will read more docs how the flags/modifier can be combined | 21:22 | |
diakopter | jnthn: truncatory? | ||
jnthn: truncacious? | |||
ssutch | FROGGS: pusherd | ||
diakopter | jnthn: truncarific? | ||
jnthn: truncatiferous? | |||
jnthn: truncatillaminous? | 21:23 | ||
dalek | kudo/nom: 51f4ebe | jnthn++ | src/vm/jvm/ (2 files): Junction bind failover. Gets almost all of the junction tests passing that to on Rakudo Parrot as well as helping many other test files that depend on this somehow. |
||
jnthn | Suspect that is worth another couple of percent. | ||
masak | FROGGS: looks great. | 21:24 | |
FROGGS | masak: cool | ||
masak | FROGGS: I'd rather you not push commented-out tests. | ||
either delete them or pass them ;) | |||
ssutch: reviewing your changes now. | 21:25 | ||
FROGGS | masak: I'm not going to push them that way, no worries :o) | ||
21:25
jaldhar left
|
|||
masak | ssutch: looks great, but I think $padding_char is better off being a parameter. I can change it, no worries. | 21:26 | |
a parameter like $size, that is. | 21:27 | ||
ssutch | masak: i know what you mean, i was having an internal debate myself, i can change it | ||
jnthn sips on a DIPA | |||
ssutch | yum | 21:28 | |
masak: going to wait a sec until after FROGGS merges his changes in, it will make his merge less painful | 21:30 | ||
masak | ssutch: changing it now. | ||
ssutch | ah ok | ||
masak | ssutch: ok, I'll hold until after FROGGS pushes. | ||
FROGGS | masak: no, go ahead, I guess I need another 30mins | 21:31 | |
masak | oh, ok. | ||
21:34
moritz joined,
moritz left
|
|||
nwc10 | jnthn: so, "this week" we're at 66% passing? :-) | 21:35 | |
masak | there, fixed. | ||
jnthn | nwc10: [Coke]++'s last number was 66.62% | ||
nwc10: That's before I landed the failover fixes | |||
21:37
_ilbot joined
|
|||
nwc10 | OK, "last week" we were at 66.62%, and "this week" we're improved? | 21:37 | |
and "next week" is in about 8 hours? | |||
21:37
_ilbot left
|
|||
jnthn | depends how you count weeks, dunnit? :) | 21:38 | |
nwc10 | I think someone pushed the fast-forward button on the calendar | 21:39 | |
jnthn | colomon: I can reproduce what you're seeing here, at least | 21:41 | |
21:41
snoopy_ joined
21:43
snoopy left
21:44
_ilbot joined
|
|||
colomon | \o/ | 21:44 | |
FROGGS | r: augment class Order { } | 21:45 | |
jnthn | Don't see what's going on yet, though | ||
camelia | rakudo 01fc34: OUTPUT«===SORRY!===augment not allowed without 'use MONKEY_TYPING'at /tmp/Hndts6bDQK:1------> augment class Order ⏏{ } expecting any of: scoped declarator generic role» | ||
21:45
_ilbot left,
moritz joined,
moritz left
|
|||
FROGGS | r: use MONKEY_TYPING; augment class Order { } | 21:45 | |
jnthn | Also, Order is not a class | ||
camelia | rakudo 01fc34: OUTPUT«===SORRY!===Cannot augment Order because it is closedat /tmp/VARvnaLmeO:1------> use MONKEY_TYPING; augment class Order ⏏{ } expecting any of: scoped declarator generic role» | ||
FROGGS | ahh | ||
21:46
mtk left,
spider-mario left,
_ilbot joined
|
|||
FROGGS | okay, then I just numify the return value of cmp and <=>... | 21:46 | |
21:47
_ilbot left
|
|||
FROGGS | well, I do that tmw, masak: I'll push tomorrow the binary patch... too tired | 21:47 | |
gnight all | |||
jnthn | Wow. That junctions fix gets us attemtping (no idea about passing) over 1000 more tests. | 21:48 | |
Files=739, Tests=20394, 1524 wallclock secs | |||
colomon | here's my latest number sweep: gist.github.com/colomon/5842544 | ||
jnthn | > say 9156818666617013 | 21:49 | |
9156818666617012 | |||
grrr | |||
21:50
moritz joined,
moritz left,
FROGGS[mobile] joined
|
|||
tadzik | :D | 21:51 | |
colomon | seems like the bottom bits are always 0 (in the incorrect version) | ||
FROGGS[mobile] | masak: what about making an NQP::PrintfGrammer? | 21:52 | |
masak: the regexes are going to be complex | |||
jnthn | r: say nqp::atpos(nqp::radix_I(10, '9156818666617013', 0, 2, Int)) | 21:53 | |
camelia | rakudo 01fc34: OUTPUT«===SORRY!===Error while compiling block (source text: "say nqp::atpos(nqp::radix_I(10, '9156818666617013', 0, 2, Int))"): Error while compiling op call: Error while compiling block : Error while compiling op call (source text: "say nqp::atpos(nqp::radix_I(10, '91… | ||
jnthn | r: say nqp::atpos(nqp::radix_I(10, '9156818666617013', 0, 2, Int), 0) | ||
camelia | rakudo 01fc34: OUTPUT«9156818666617013» | ||
jnthn | > say nqp::atpos(nqp::radix_I(10, '9156818666617013', 0, 2, Int), 0) | ||
9156818666617013 | |||
Hmmm. | |||
So it's not radix_I, it seems | |||
colomon | rn: say 8989468655634681.hwx | 21:54 | |
camelia | niecza v24-81-g6672fa2: OUTPUT«Unhandled exception: Unable to resolve method hwx in type Int at /tmp/dvcPHn5TvK line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4532 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4533 (module-CORE @ 578)  at /home/p6… | ||
..rakudo 01fc34: OUTPUT«No such method 'hwx' for invocant of type 'Int' in block at /tmp/_O4Wmazbx9:1» | |||
colomon | rn: say 8989468655634681.hex | ||
camelia | rakudo 01fc34: OUTPUT«No such method 'hex' for invocant of type 'Int' in block at /tmp/0HULobq722:1» | ||
..niecza v24-81-g6672fa2: OUTPUT«Unhandled exception: Unable to resolve method hex in type Int at /tmp/xQDWjuGaqD line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4532 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4533 (module-CORE @ 578)  at /home/p6… | |||
colomon | rn: printf ("%x", 8989468655634681) | ||
camelia | niecza v24-81-g6672fa2: OUTPUT«Unhandled exception: Not enough arguments for this format string at /home/p6eval/niecza/lib/CORE.setting line 1396 (sprintf @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 1397 (printf @ 5)  at /tmp/7puaQht2ut line 1 (mainline @ 3)  at /home/p6e… | ||
..rakudo 01fc34: OUTPUT«Null PMC access in get_integer() in sub sprintf at src/gen/CORE.setting:2770 in sub printf at src/gen/CORE.setting:2775 in block at /tmp/ffWxd0Kjx8:1» | |||
colomon | that number (8989468655634681) is the highest working odd number in a sweep I just made (with numbers one digit less than the previous sweep) | 21:55 | |
and no numbers smaller than that fail | 21:56 | ||
masak | FROGGS[mobile]: yes, it's a good idea. please try it. don't go overboard on complexity; just the functionality we have/need right now is enough :) | ||
FROGGS[mobile] | k | ||
masak | ++FROGGS[mobile] | 21:57 | |
21:58
FROGGS[mobile] left
|
|||
tadzik | jnthn: thesis: on windows, unlink doesn't remove read-only files. Can you confirm? | 21:59 | |
jnthn | tadzik: gist.github.com/jnthn/5842775 | 22:00 | |
22:01
berekuk joined
|
|||
tadzik | yep, that aligns with what xlat++ reported | 22:01 | |
should we count that as a bug? | 22:02 | ||
unlink works in Perl 5 for read-only files | |||
22:04
berekuk left
|
|||
masak | then I'd say yes, consider that a bug. | 22:05 | |
unless the spec clearly says that Perl 6 deviates in that regard. | |||
labster | unless you want unlink("file", :if-writable)? | 22:08 | |
probably not though, since it's not much harder to test if you mean that. | 22:09 | ||
masak | that's missing the point a little. Perl 5 removes the file regardless of whether it's writable or not. | ||
labster | it's still a bug, certainly | ||
masak | adding a flag to emulate the current behavior may cover some future use case, but we don't have such a use case right now. | ||
jnthn | r: say nqp::isbig_I(9156818666617013) | 22:10 | |
camelia | rakudo 51f4eb: OUTPUT«1» | ||
jnthn | colomon: isbig_I comes back false on JVM; wonder if it's to do with that | 22:11 | |
colomon | jnthn: I've found the vast majority of odd numbers 9007060094858671 and 9275232044134063725 fail | ||
masak | r: say nqp::isbig_I(3) | ||
camelia | rakudo 51f4eb: OUTPUT«0» | ||
colomon | (note that the second number has three additional digits | ||
) | |||
22:12
_ilbot joined,
moritz joined,
_ilbot left,
moritz left
|
|||
labster | I do wish we could rely less on Perl 5 for specification. I guess that means I need to go add more to the synopses. | 22:15 | |
22:16
berekuk joined
|
|||
masak | well, half of what I'm saying is "Perl 6 tends to default to Perl 5 semantics, unless otherwise specified". | 22:17 | |
colomon | using (9007060094858671..9275232044134063725).roll | ||
501 even, 499 odd | |||
7 good versus 993 bad | |||
afk # greatlakes.loons.milb.com/index.jsp?sid=t456 | |||
masak | the other half is "I think it's probably a good idea to unlink files even if they're readonly, because that's what Perl 5 already does". | 22:18 | |
labster | and that's not a bad idea, masak. I'm just talking about another purpose, which is: the point of having a specification is so that we don't have to refer to an implementation | 22:19 | |
Of course, I do lots of referring to the Perl 5 implementation when I write the specs anyway. | |||
22:24
panchiniak_ joined,
_ilbot joined,
_ilbot left
22:26
_ilbot joined,
_ilbot left
|
|||
masak | labster: we agree, it seems. | 22:27 | |
labster | hugme: hug masak | ||
hugme hugs masak | |||
22:27
berekuk left
|
|||
masak | the fundamental problem inherent in "I wish we didn't have to default to Perl 5 semantics" is something like this: covering all semantics in the spex is undecidable. | 22:28 | |
case in point: what we just found out about 'unlink'. | |||
22:28
berekuk joined
|
|||
masak | I bet no-one even thought of that case before. | 22:28 | |
22:28
moritz joined,
_ilbot joined,
_ilbot left,
moritz left
|
|||
xlat | masak: no one use panda on windows? | 22:29 | |
masak | perldoc doesn't mention that 'unlink' removes readonly files. | ||
xlat: probably few enough. | |||
xlat: or maybe the 'unlink' is not on a path that's exercised often enough. I dunno. | |||
github.com/mirrors/perl/blob/blead...p/unlink.t contains ablauts, but not really any tests for readonly files. | 22:31 | ||
dalek | p: 060b4b4 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java: Seems isbig_I needs a smaller idea of "big". Suspect there's a little more to it than this; somewhere, an int must be getting turned into a num before being stringified, or similar. This should bring it out of the range where errors can occur as a result, however. colomon++ for reporting, bug hunting etc. for this. |
22:34 | |
22:34
moritz joined,
moritz left
22:35
_ilbot joined
22:36
_ilbot left
22:39
_ilbot joined,
_ilbot left
22:41
_ilbot joined,
_ilbot left
22:43
xlat left
22:46
moritz joined,
moritz left
22:55
berekuk left,
berekuk joined
|
|||
timotimo | what cool stuff have i missed while i was away watching Star Trek: The Motion Picture? | 22:56 | |
22:59
census joined
23:00
_ilbot joined,
_ilbot left
23:01
mtk joined
|
|||
ssutch | timotimo github.com/masak/sprintf | 23:02 | |
23:03
moritz joined,
moritz left
23:05
berekuk left
23:09
moritz joined,
moritz left
23:12
mine_too joined,
mine_too left
|
|||
masak | heh. I'm reading en.wikipedia.org/wiki/Software_crisis and my first thought is "what makes us think that the crisis is in any way over?" | 23:13 | |
jnthn | 'night, #perl6 | 23:14 | |
masak | 'night, #perl6 | ||
diakopter | 'nite | ||
tadzik | good knight jnthn | ||
sorear | once it becomes the status quo it is no longer a /crisis/ | ||
timotimo | night jnthn! :) | ||
masak | sorear: heh. | 23:17 | |
timotimo | Files=713, Tests=17754, 668 wallclock secs ( 3.33 usr 0.71 sys + 14.49 cusr 3.41 csys = 21.94 CPU) btw | 23:18 | |
labster | All of these new-fangled auto-mobiles have sure led to a lot of cost overruns and unmanageable traffic. | ||
timotimo | Files=739, Tests=28132, 410 wallclock secs ( 5.14 usr 0.83 sys + 1214.20 cusr 81.63 csys = 1301.80 CPU) (and this, for comparison, is parrokudo) | ||
diakopter | timotimo: why is the CPU so different | 23:19 | |
timotimo | because one is jvm and the other is parrot? | ||
oh, i guess it's because it uses the eval server | 23:20 | ||
so the cpu time is being attributed to another process | |||
diakopter | I didn't know there was an eval server | ||
timotimo | "make spectest" automatically uses it | ||
so, anyway, 63.1% of the tests rakudo runs | 23:22 | ||
tadzik | in ~160% of the tme | ||
* time | |||
timotimo | true, true. except the parrot spectest has an even bigger penalty, because it just fires up a new parrot instance for each test file | 23:23 | |
so, very obviously the jit doesn't get a chance to warm up very much during the spectest suite, which makes sense. | |||
diakopter | what jit | 23:24 | |
timotimo | JVM's jit | ||
sorear | parrot doesn't have a jit, so it's not so bad to start a new instance for each run | 23:26 | |
23:26
ugexe left
|
|||
sorear | on my machine, parrot takes .6 sec to start, jrakudo takes 6.0 sec to start, and a running evalserver takes .6 sec to create a fresh GlobalContext for a new test file | 23:26 | |
23:26
ugexe joined
|
|||
flussence | sure it does, it JITs tons of base64 blobs into usable stuff every run :P | 23:27 | |
sorear | we could get the per-file overhead much lower if we were willing to run multiple files in the same container, but I didn't want to risk crosstalk | ||
flussence: even with the evalserver we currently do a fresh deserialize for each test file and then throw away the object graph at the end | |||
so that if one test winds up mutating CORE objects for whatever reason, it won't affect the nexr | 23:28 | ||
diakopter | can the evalserver create a new GlobalContext in another thread as soon as the last fresh one starts to be consumed? | ||
(starting from a pristine master that remains untouched) | |||
sorear | diakopter: it can't do anything in another thread because I'm running prove -j4 and my CPUs are maxed out :) | 23:30 | |
TEST_JOBS=4 spectest | |||
diakopter | heh. | ||
tadzik | hehe, same here | ||
23:30
_ilbot joined
|
|||
tadzik | 400% cpu load, 2 gigs of ram in use :) | 23:31 | |
23:31
_ilbot left
|
|||
sorear | 'true' ram usage actually stays fairly low, only around 200 megs for my TEST_JOBS=4 spectest | 23:31 | |
you can see that with jvisualvm, btw | |||
tadzik | htop says my evalserver eats 28% of system memory | 23:32 | |
sorear | a larger heap means less time garbage collecting | ||
diakopter | wait, is rakudo-jvm using a cross-compiler at all? | ||
sorear | diakopter: no | 23:33 | |
diakopter | oh, nice. | ||
how do I get/build it.. | |||
sorear | if you open the evalserver in jvisualvm and click on the 'Monitor' tab it shows you a graph of memory usage | 23:34 | |
[Coke] | masak: weird. I'm reading en.wikipedia.org/wiki/Infinite_Crisis | ||
sorear | fun to look at :) | ||
is that anything like Crisis on Infinite Earths? | |||
[Coke] | sorear: any chance we can make the test server work for t/spec/test_summary ? | 23:35 | |
tadzik | Files=713, Tests=18617, 837 wallclock secs ( 6.84 usr 1.10 sys + 33.35 cusr 5.99 csys = 47.28 CPU) | ||
[Coke] | sorear: yes. it's basically a sequel, 20 years later. | ||
23:35
_ilbot joined,
_ilbot left
|
|||
sorear | [Coke]: yeah, I thought you said/implied lizmat++ was working on it so I didn't want to interfere | 23:36 | |
diakopter: github.com/rakudo/rakudo/blob/nom/README#L32 | |||
[Coke] | sorear: no, she's getting me a box to run stuff on. | 23:37 | |
interfere away! | |||
diakopter | oh, that test server. | 23:41 | |
flussence | I have a terrible idea. Hook the evalserver up to a FastCGI frontend, and you've got a drop-in replacement for PHP :) | 23:42 | |
23:43
konundra_ left
|
|||
labster | flussence: you mean brilliant idea | 23:44 | |
23:44
konundra left
|
|||
flussence | anything that can replace php is a brilliant idea, but I'm talking relative to doing it right :) | 23:44 | |
diakopter | oh, ConfigureJVM.pl can't --gen-nqp | 23:45 | |
23:45
ldthien0 joined,
ldthien0 left
|
|||
sorear | nope | 23:46 | |
ooo | 23:48 | ||
23:48
_ilbot joined,
_ilbot left
|
|||
sorear just came up with a reliable and portable(?) way to prevent the test server from outliving the test harness | 23:49 | ||
diakopter is timing an nqp-jvm make install from scratch | |||
23:49
moritz joined
|
|||
sorear | open(my $tserv, "| ./perl6-test-server") | 23:49 | |
flussence | nice | ||
sorear | when the test harness dies for whatever reaser, the test server gets an EOF on stdin and can know to quit | ||
sorear probably needs to implement a proper arg parser for the test server | 23:50 | ||
23:50
moritz left
|
|||
timotimo | hoelzro: do you think you can work something like this? github.com/marijnh/CodeMirror/blob...rl/perl.js | 23:50 | |
23:54
_ilbot joined
|
|||
timotimo | codemirror.net/doc/manual.html#modeapi - this is documentation about that | 23:54 | |
23:54
moritz joined,
_ilbot left,
moritz left
|