Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-08-12

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

All times shown according to UTC.

Time Nick Message
00:00 TimToady though the whole conversion design was defective insofar as it forgot which was the real type and which was the cache
00:02 timotimo good night o/
00:02 timotimo (maybe i'll write the weekly tomorrow ...)
00:02 TimToady o/
00:02 japhb o/
00:05 japhb TimToady: I don't often care about that conversion design defect, but when it rears its head, it can be *very* strange.  JSON serialization is one place I remember it being an issue, because whether the serializer output 42 or "42" for some value could depend on whether you had a debug print of that data.  Which drives devs nuts.
00:05 TimToady ayup
00:05 TimToady p6 makes different mistakes
00:05 japhb .oO( Add debugging, break program worse than it originally was ... )
00:19 jnap joined #moarvm
01:14 jnap joined #moarvm
01:26 FROGGS_ joined #moarvm
01:47 ilbot3 joined #moarvm
01:47 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
03:48 lue joined #moarvm
08:17 FROGGS joined #moarvm
08:26 brrt joined #moarvm
08:29 jnthn brrt++ # blog post
08:30 brrt thanks :-)
08:30 brrt timotimo++ for spotting a grammar error
08:31 brrt ugh, people on the internet believe msvc doesn't have link-time optimization
08:32 brrt people on the internet are wrong :-o
08:34 masak where's brrt++'s blog post?
08:34 jnthn They might have been right once upon a time :P
08:34 brrt brrt-to-the-future.blogspot.nl/20a14/08/names-and-labels.html
08:34 masak also, "someone is wrong on the internet". :)
08:34 brrt but they wrote it just today
08:34 masak btyler: thanks.
08:34 jnthn brrt: Then, they're wrong
08:34 masak er, brrt: thanks.
08:35 nwc10 brrt: s/20a14/2014/
08:36 masak also, when 'http://' is missing from the beginning, I have to copy+paste rather than just click ;)
08:36 masak (kthx)
08:36 moritz poor masak
08:36 masak :P
08:36 nwc10 blogspot is Google?
08:36 brrt yeah, sorry, usually chrome inserts the http for me
08:36 masak nwc10: aye.
08:36 * brrt nods
08:37 masak brrt: and almost never inserts an 'a'? ;)
08:37 nwc10 shouldn't they start supporting gopher:// because, well, Go. :-)
08:37 brrt huh, that's weird
08:37 nwc10 I find firefox extremely annoying in that it show me the URL without http:// but if I copy paste I get http:// too
08:37 brrt http://brrt-to-the-future.blogspot.nl/2014/08/names-and-labels.html
08:37 * brrt was just doing it wrong
08:38 nwc10 firefox-- # does not support gopher either
08:38 moritz brrt++ # blog, AND MOARVM JIT!!!!
08:39 masak brrt++ # !!!!!
08:39 brrt :-D
08:39 moritz sorry for shouting, but I feel it had to be said :-)
08:39 masak or shouted
08:40 brrt \o/
08:40 brrt yeah, i'm very happy about it too
08:42 jnthn It is awesome. :)
08:44 brrt also, don't forget that it wouldn't have happened without jnthn++ timotimo++ lizmat++ woolfy++
08:51 FROGGS so now we've done this... everybody has to write about fifty modules until Christmas and we are done!
08:53 brrt uh, yeah :-)
08:53 FROGGS brrt: are you doing the SOAP stuff? :D
08:54 brrt fuuuu
08:54 brrt i've done enough SOAP for a lifetime already
08:54 nwc10 how are the Perl 6 IRC bots coming along?
08:54 brrt although i think perl6-for-async-io should be beginning to be awesome by now
09:05 masak I definitely want to do Perl 6 IRC bots. in my copious spare time.
09:06 masak my YAPC::EU talk this year is partly about that.
09:07 * moritz hopes that Sofia doesn't plunge into a similar chaos as Kiev did after the last YAPC::EU
09:10 moritz autopun of the day: http://t.co/pFMF4tfm6V
09:14 brrt lol
09:14 brrt much sad
09:16 brrt last YAPC::EU was in kiev?
09:17 nwc10 YAPC::Europe 2013 was in Kiev. First YAPC::Europe ouside of the EU
09:17 nwc10 http://act.yapc.eu/ye2013/
09:17 brrt o
09:17 brrt well, let's hope bulgaria wil be a bit more stable
09:23 * brrt bbiab
09:23 brrt left #moarvm
09:24 jnthn Hm, wasn't there a YAPC in Oslo?
09:25 jnthn That'd count of outside of EU too.
09:25 jnthn *as
09:26 * masak makes a mental note to collect autopuns in the backlog of #moarvm, too
09:34 brrt joined #moarvm
09:35 * brrt thinks we should have a mojo6
09:37 nwc10 jnthn: no. other conferences are available
09:38 nwc10 specifically, I think that there have been QA hackathons and Scandinavian Perl Workshops there
09:38 nwc10 and the whatever-it-was hackathon in 2012
09:38 jnthn Yes, very much so
09:39 jnthn I somehow thought one of the YAPCs before I started going to them had been there. But no, you're right
09:39 * moritz would love to got a YAPC in Oslo, but probably couldn't afford it
09:39 moritz s/got/go to/
09:39 * moritz likes Oslo
09:39 * nwc10 has not been to Oslo
10:06 Ven joined #moarvm
10:32 colomon joined #moarvm
12:39 jnap joined #moarvm
13:21 [Coke] moar-jit failed 2 more tests than moar.
13:21 [Coke] (still have to finish parrot & jvm before I can push)
14:12 colomon joined #moarvm
14:42 ggoebel1111115 joined #moarvm
14:54 carlin [Coke]: are they flappy tests?
15:07 brrt joined #moarvm
15:08 brrt [Coke] - with moar-jit, i assume you mean master with jit enabled?
15:19 brrt also.... what modules are breaking? i kind of like to know about all breaking code :-)
15:35 rurban Sofia looks like the least stable european country nowadays, right after Kosovo. I wont go
15:35 rurban Well, Bulgaria, the country
16:07 odc rurban, http://www.passportandatoothbrush.com/sofia-bulgaria-our-favourite-city-in-eastern-europe/
16:07 odc a different perspective
16:31 brrt joined #moarvm
17:30 [Coke] (flappy) I don't have any previous runs to compare it against. :)
17:39 jnthn evevning, #moarvm
17:39 [Coke] I misread. moar-jit is the best moar. fails 2 less tests thanm oar.
17:40 nwc10 [Coke]: I'm suspicious that the differences are flapping. But, obviously I can't prove this
17:40 lizmat a good evevning to you too, jnap
17:40 [Coke] brrt++ # et al.
17:40 lizmat jnthn
17:40 lizmat :-)
17:40 nwc10 jnthn: what is with this heresy? :-)
17:40 jnthn nwc10: I dunno, maybe the beer on the way home? :)
17:40 [Coke] nwc10: well, we'll have a better idea in a few days.
17:41 [Coke] in the meantime, I think the fact moar-jit isn't failing anything moar isn't in spec tests is pretty good.
17:41 jnthn [Coke]: Indeed.
17:41 [Coke] need to get around to adding timings for configure+build and spectests.
17:44 japhb jnthn: Are you thinking of having the JIT default-off or default-on for 2014.08?
17:44 jnthn japhb: Default off
17:45 jnthn japhb: I think we'll switch to default-on in the repo just after 2014.08 goes out
17:45 japhb And then on for 2014.09?  Or is there some threshold you need to feel like it hit first?
17:45 japhb Ah, OK
17:45 jnthn Then we'll just do it data-driven.
17:45 japhb Yeah, makes sense
17:45 jnthn We have enough people pulling/using HEAD to give us a good idea.
17:46 japhb right
17:46 [Coke] I should update my moar-non-jit build to pass in -disable-jit so i don't have to change anything when you switch the default, aye?
17:46 jnthn [Coke]: If such a flag exists :)
17:46 jnthn (If it doesn't we can make it do so)
17:46 japhb --no-enable-jit?  --enable-jit=0?
17:47 jnthn Whatever fits best with what we have so far...
17:47 jnthn Maybe we should just make it --jit=0 and --jit=1
17:47 [Coke] perl Configure.pl --help in MoarVM doesn't mention jit.
17:49 japhb jnthn: While I like the terseness and clear boolean sense, it does have the problem of making it seem like it forces the jit on or off, rather than enabling it or disabling it.
17:49 jnthn japhb: How do you distinguish the two?)
17:49 jnthn (Genuinely curious; you're seeing a nuance I totally am missing... :))
17:52 japhb It's the difference between on/off where it is forced into one or the other state regardless of other factors, versus not-off/not-on when some other factor (an env var, or some automated tuning, or what have you) may make a late-bound decision.  I fully admit that my thinking this way may be obtuse and/or unusual.
17:53 japhb And it's not an overriding concern.  Somewhat like the level at which it bugs TimToady when he can't find just the right name for something.
17:54 jnthn --jit-available=1|0 may do it?
17:54 jnthn But longer again :P
17:56 japhb jnthn: I'm really OK with --jit=0/1 or --jit/--no-jit, slightly prefer --enable-jit=0/1 or --enable-jit/--disable-jit, and don't really like the length of --jit-available=0/1.
17:56 rurban --with{,out}-jit wouild be the standard option. parrot also switch to --with{,out}-jit
17:56 jnthn (backlog) I note I'd feel rather safer in Sofia or Kosovo than in the gun-loving bit of the world rurban lives :P
17:57 rurban well, I'm privileged (white and rich). But basically your are right
17:57 rurban That's why I'm moving back to a democracy in 2 months
17:59 jnthn .oO( There's more than one way to democracy it... )
18:00 * japhb resists making about a dozen America jokes
18:00 rurban At least it gave me a refreshing perspective to the times my grandfather lived in
18:00 japhb rurban: Where exactly are you?
18:01 rurban Houston, TX
18:01 japhb Wow, that changes the meaning of your last several statements
18:02 rurban The town with the highest corruption (e.g. major elected for 2 years only) and executions, ...
18:03 japhb Hey, think positive: You could be in Florida.
18:03 rurban exactly
18:04 rurban Mark Prather (peregrin's brother) is moving from Orlando to Houston, I heard.
18:05 tadzik hey, I felt safe in Florida
18:05 japhb tadzik: Orlando is for tourists.  Well, mostly.
18:05 japhb That and conventioneers
18:05 tadzik yeah, I barely stepped outside of Disneyworld :P
18:06 BinGOs that's like the Vatican, a different country.
18:06 tadzik heheh
18:07 japhb Years ago I lived in Rhode Island, a state that gave all its legislators a pittance of a salary (well below the poverty level) based on the belief that they should be doing it for the public good.  It came as no surprise to basically anyone that public works projects were unbelievably corrupt.
18:33 TimToady I haven't noticed that legislators with large paychecks are any less corrupt.
18:35 pmichaud Texas legislators make $600/month.
18:35 japhb TimToady: There's the background level, then there's engineering the system to promote it.
18:35 pmichaud plus $150/day when the legislature is in session (140 days every two years)
18:36 japhb That's ... a very short legislative cycle.
18:36 pmichaud It is.
18:36 pmichaud anyway, I don't think corruption here is at all linked to legislative pay.
18:36 pmichaud all it means is that all of the legislators are independently wealthy
18:36 japhb .oO( Maybe if we don't let them in the building, they can't make any laws!  Tea Party Win! )
18:39 pmichaud Or, put another way... I don't think that changing Texas legislators' pay would have any effect on the politics or corruption here.
18:42 japhb That's perhaps just a special case of "once the damage is done, it takes a long time to undo it, even if you change conditions immediately"
18:43 pmichaud maybe.  But one of our best paid politicians (the governor) is also one of the most "corrupt"  (in the sense of acting contrary to the public good)
18:47 japhb Texas Governor, as with counterparts in California and New York, tends to attract people who see upward mobility as including a shot at the presidency.  I'm not sure the failure case there bears on the legislator case.  Then again, perhaps you are correct.
18:47 japhb How did we get on this topic again?
18:47 japhb Oh, right, walking in Sofia.
18:48 pmichaud I'm hoping we don't have another president from Texas for quite a while.
18:48 pmichaud I can think of one thing much scarier than "President Rick Perry", though.
18:49 pmichaud "President Ted Cruz".
18:52 japhb NODNOD
19:00 jnthn On the upside, you're both making MoarVM's deopt.c seem comparatively unscary by this point :P
19:04 * jnthn figures he should work on something :)
19:06 jnthn Grr. Updating stage0 still doesn't quite get me a 30s build of nqp-m
19:06 jnthn (31.14s)
19:09 jnthn rakudo-m is darn close to under a minute too (62.09s)
19:09 FROGGS hehe
19:16 * japhb has studiously avoided accomplishing much at all, but that's mostly because existing API in $work-codebase is has a large impedence mismatch with $new-feature, and it's going to take Some Thinking.
19:24 nwc10 jnthn: you are allowed to have a night off
19:25 dalek MoarVM: 63e039b | jnthn++ | src/mast/compiler.c:
19:25 dalek MoarVM: Try to guess MAST output buffer sizes.
19:25 dalek MoarVM:
19:25 dalek MoarVM: Can avoid a decent number of reallocs in large compilation units.
19:25 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/63e039bbef
19:28 rurban joined #moarvm
19:39 brrt joined #moarvm
19:45 nwc10 jnthn: PASS, but the usual sin, including the new increased sin
20:00 timotimo oh interesting
20:00 timotimo does that make stage mast fast?
20:00 jnthn timotimo: mbc, and that was already rather fast.
20:00 timotimo oh
20:00 timotimo d'oh ;)
20:01 jnthn It's not really perceptible on my box, but reallocs often mean copying, which needlessly hurts systems with lower memory bandwidth
20:01 timotimo aye
20:02 timotimo like an embedded device for example ... like the raspberry pi or tadziks phone
20:05 carlin re: length of jit option... GetOpt lets you pass the option as short is as needed to disambiguate it. So if the option was --jit-enable --jit would do the same thing (unless there was also a --jit-disable in which case you'd need to do at least --jit-e ...)
20:06 FROGGS that's "clever"
20:06 FROGGS though that sounds a bit strange...
20:09 carlin http://perldoc.perl.org/Getopt/Long.html#Case-and-abbreviations
20:12 dalek MoarVM: 2ea5a9d | (Bart Wiegmans)++ | src/jit/ (2 files):
20:12 dalek MoarVM: Add unless_n and if_n
20:12 dalek MoarVM:
20:12 dalek MoarVM: Note that NaN is regarded as truthy
20:12 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/2ea5a9ddfa
20:12 jnthn JIT moar things \o/
20:12 * brrt is only writing in ASM from now on
20:13 nwc10 brrt: what do you mean by that? previously you were also writing in what?
20:13 brrt oh btw, jnthn, it looks like i'll be going to YAPC::EU after all :-)
20:13 brrt in other languages, meant for mortals
20:13 jnthn brrt: Oh? Cool!
20:13 brrt :-P
20:13 brrt yes, lizmat++ has sponsored me yet again
20:13 jnthn lizmat++
20:14 nwc10 woolfy++ # not stopping lizmat
20:14 nwc10 lizmat++
20:14 brrt also that
20:14 brrt :-)
20:14 jnthn woolfy++ indeed :)
20:15 brrt woolfy++ :-)
20:15 brrt anyway, i'm really excited
20:15 nwc10 what's the last steps needed for GSoC? Some sort of final report, with a deadline when?
20:15 rurban https://www.google-melange.com/gsoc/events/google/gsoc2014
20:15 rurban and https://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2014/codeguidelines
20:16 rurban for the code samples. we do it with a simple git log -p --author=
20:16 jnthn brrt: Yes, it'll be great to see you :)
20:16 nwc10 rurban: thanks
20:17 nwc10 OK, fun, final deadline is the first day of YAPC::Europe.
20:17 brrt you too :-)
20:17 brrt is that the final final deadline? i thought the soft deadline was yesterday and the hard deadline today?
20:17 brrt eh not today
20:17 brrt next week
20:17 nwc10 report deadline
20:17 nwc10 don't screw up
20:18 brrt oh i see
20:18 brrt i'll be dilligent
20:18 nwc10 aye. we'll steal all your beer at the pre-conference meetup if you haven't done it by then
20:19 [Coke] lizmat++ woolfy++ !
20:37 nwc10 brrt: pass. except for the usual sin, including the new sin
20:37 brrt all our sins
20:39 dalek MoarVM: cd7d175 | (Bart Wiegmans)++ | src/jit/graph.c:
20:39 dalek MoarVM: Add clone as a reprconv function
20:39 dalek MoarVM:
20:39 dalek MoarVM: This is /slightly/ less efficient than the interpreted version,
20:39 dalek MoarVM: since that version can store the allocated object directly
20:39 dalek MoarVM: to a register, and the function cannot.
20:39 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/cd7d175f2a
20:40 dalek MoarVM: 629fd54 | (Bart Wiegmans)++ | Configure.pl:
20:40 dalek MoarVM: Mention --enable-jit as a Configure.pl option
20:40 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/629fd54553
20:48 diakopter brrt: could dasc's format be translated to llvm's tblgen format?
20:48 brrt uhm
20:48 brrt i've no idea really, because i have no idea what tblgen looks like
20:49 diakopter intro: http://llvm.org/docs/TableGen/index.html
20:50 diakopter it's good enough for llvm, as far as metacircular instructionset definition languages go
20:51 tadzik diakopter! \o/
20:51 brrt basically, not natively, no
20:52 brrt or easily
20:52 diakopter ok
20:53 brrt it seems designed for a different use case :-)
20:55 dalek MoarVM: a4c6eec | jnthn++ | src/io/procops.c:
20:55 dalek MoarVM: Implement killing an async process.
20:55 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a4c6eec417
20:55 timotimo brrt: i'm still kinda wishing for a way to tell moar to open the jitlog for appending instead of just writing
20:55 jnthn my $proc_done = $proc.start;
20:55 jnthn await Promise.anyof($proc_done, Promise.in(2));
20:55 jnthn $proc.kill unless $proc_done;
20:55 jnthn Such cute :)
20:55 diakopter So kill
20:56 timotimo definitely cute :)
20:56 diakopter optimizer should try to determine if/when stuff will halt...
20:57 timotimo diakopter: i'd like to see the perl5 interop finished first :)
20:57 timotimo but if you want to implement that right now, that'd be interesting, too :D
20:58 timotimo brrt: in all of nqp, paramnamesused is at 903 bails, 326 bails for param_rp_o and 171 getlexstatic_o
20:58 diakopter timotimo: it was a joke on Halting Problem
20:58 timotimo yeah. and it'd be interesting if you implemented something that solves it :)
20:59 jnthn It's hard to know when to stop making such jokes... :P
20:59 * brrt looks appropriately guilty for paramnameused and the like
20:59 timotimo :P
20:59 diakopter jnthn: 'tis true
20:59 timotimo when you implement these, we'll likely see a big wide spread of ops getting +1'd or +2'd or something like that :)
21:01 timotimo rakudo looks similar: 832 paramnamesused, 402 param_rp_o, 309 getlexperinvtype_o, 240 param_sn, 213 param_sp and 194 getlexstatic_o
21:01 timotimo interestingly, 90 scwbdisable which seems like a simple thing to do
21:01 timotimo and assignunchecked is also kind of worthy as it is at 66 bails and should be simple
21:02 jnthn stroll; bbiab
21:05 brrt very well, i'll get to it in time :-)
21:10 FROGGS this song would fit nicely here: James Darren - Just in Time
21:10 FROGGS (and it really is an awesome song)
21:10 FROGGS like frank sinatra, just better
21:11 FROGGS tadzik probably knows :o)
21:11 FROGGS ohh, brrt even!
21:12 brrt hmm?
21:12 brrt i'm not at my most-awake i've been this day
21:12 tadzik what what :)
21:12 FROGGS james darren is the jazz singer in quark's holodeck
21:12 FROGGS holosuite*
21:14 tadzik ooh, what was his character name...
21:15 brrt is that so? i can recall something of a jazz suite on the holodeck
21:15 tadzik Vic Fontaine!
21:15 FROGGS aye
21:15 * brrt doesn't know that yet
21:16 brrt and, i'm going to sleep, too :-)
21:16 brrt see you tomorrow!
21:16 brrt left #moarvm
21:35 * jnthn back
21:41 timotimo oh, deletekey is pretty high on the bail list for rakudo
21:41 timotimo i can implement that!
21:42 jnthn timotimo: Do we get a p6weekly today? :)
21:47 timotimo i'd like to
21:48 timotimo er ... what ... Error while compiling op ifnull (source text: "nqp::ifnull($!nominal, 0)"): This representation (MVMString) does not support associative access
21:48 jnthn fail
21:48 jnthn Arguments passed wrongly to deletekey?
21:49 timotimo i re-used the code for existskey
21:49 timotimo oh
21:49 timotimo hehe.
21:50 jnthn Yes, which isn't void :P
21:51 timotimo i'm kind of distracted by some pain in my jaw region :\
21:52 jnthn :(
21:54 timotimo it's likely to do with the ear infection i was just treating on the other side of my head ...
21:55 timotimo seems like it's spread
21:55 timotimo it's not dangerous or anything. but it's very, very annoying and distracting
21:57 timotimo oh well. i didn't get a clean diff for rakudo, but nqp got 86 less deletekey bails and 34 more argconst_s
22:03 timotimo the diff data i'm getting here is pretty ... weird
22:07 timotimo why would i have less bails for a given op after implementing an unrelated op ?!
22:08 timotimo interestingly enough, the amount of different bailing ops went down by exactly one
22:12 dalek MoarVM: 64ddf94 | (Timo Paulssen)++ | src/jit/graph.c:
22:12 dalek MoarVM: moarvm jit can deletekey now!
22:12 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/64ddf949d5
22:14 timotimo i don't know why a frame with "loadlib" would get called often enough that it gets spes'd and then jitted on top of that, but it's responsible for 16 bails across all of the rakudo compilation process
22:19 timotimo 37 BAIL: op <objprimspec>
22:19 timotimo and that's with a spesh optimization that turns objprimspec into a const if we know the type ...
22:25 cxreg j-j-j-jitterbug
22:27 jnthn Well, if you're asking that question you're probably not in monomorphic code...
22:28 timotimo probably
22:28 timotimo maybe no weekly just yet
22:36 japhb jnthn: Took a quick glance at my old spawn-all-the-things script.  Turns out for some of them, I need to feed the subprocesses on stdin.  So that's a blocker to refactoring in terms of the new API.  (Which is *not* pressure, just information.)
22:37 jnthn japhb: Sure. I did killing today, stdin writing isn't too hard now.
22:38 jnthn Probably tomorrow or Thu :)
22:38 japhb Oh, cool beans!
22:43 cognome joined #moarvm
22:57 cognome joined #moarvm
22:58 daxim_ joined #moarvm
23:08 _sri joined #moarvm
23:18 jnthn Time for some rest... 'night
23:18 timotimo gnite jnthn!
23:21 _sri joined #moarvm
23:43 d4l3k_ joined #moarvm

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