Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2013-11-23

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

All times shown according to UTC.

Time Nick Message
01:37 FROGGS joined #moarvm
03:12 lizmat_ joined #moarvm
05:06 benabik joined #moarvm
06:57 woolfy1 joined #moarvm
08:08 ssutch joined #moarvm
08:32 woolfy1 left #moarvm
09:04 FROGGS[mobile] joined #moarvm
09:34 lizmat joined #moarvm
10:47 tgt joined #moarvm
11:43 eternaleye joined #moarvm
13:09 Guest1337 joined #moarvm
13:53 jnthn We're now up to the BEGIN at 13,861, I think.
13:55 nwc10 gosh
13:55 nwc10 how did that happen?
13:57 jnthn nwc10: Writing code.
13:58 nwc10 I assumed this, but I thought that dalek usually grassed up people who were guilty of that :-)
13:58 jnthn See last few on #perl6 from me :)
13:58 nwc10 but this impleis that you figured out how to do store?
13:58 nwc10 ah yes. I was out to lunch
14:44 diakopter jnthn: that's positively amazing.
14:47 jnthn diakopter: 14,099 now
15:05 moritz and the setting is only about 17k lines
15:05 jnthn yeah, the one I'm compiling is just short of 17k.
15:06 diakopter :)
15:07 nwc10 Cannot find method 'key'   at src/gen/m-Metamodel.nqp:2838  (blib/Perl6/Metamodel.moarvm:add_enum_value:17)
15:07 nwc10 etc
15:07 nwc10 at "Implement p6parcel."
15:07 FROGGS yes, that is it
15:21 dalek MoarVM: a48b0d7 | jonathan++ | src/core/interp.c:
15:21 dalek MoarVM: Missing use of MVM_ASSIGN_REF.
15:21 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a48b0d7fe7
16:16 dalek MoarVM: ab6d015 | jonathan++ | src/core/coerce.c:
16:16 dalek MoarVM: Being unboxable to string should beat Str method.
16:16 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ab6d01524f
16:22 jnthn That patch fixes the one enum issue
16:23 timotimo the one of how many? :)
16:23 jnthn the one I know about :)
16:23 jnthn s/one// :)
16:24 FROGGS jnthn++
16:24 timotimo "the I know about"?
16:24 jnthn :P
16:24 jnthn Well, we make it past the enum, so seems that is the only one. :)
16:25 jnthn Unfortunately, seems we crash and burn a whlie later
16:25 timotimo you weren't expecting to make it through the whole setting now, were you? :)
16:28 jnthn No, just hoped for a nicer failure mode...
16:30 FROGGS Type check failed in bind; expected Mu but got BOOTHash
16:32 FROGGS I'd guess we are at line 16434
16:33 FROGGS err yes
16:33 FROGGS the backtrace even says so :o)
16:33 FROGGS 16435 actually
16:34 timotimo a good step forwards, i'm proud of you:)
16:35 FROGGS so, it doesn't treat the Mu trait special in: my Mu $methodcall     := nqp::hash('prec', 'y=');
16:38 jnthn oh, I don't get that far it seems...
16:40 FROGGS :/
16:44 nwc10 Type check failed in bind; expected Mu but got BOOTHash at src/vm/moar/Perl6/Ops.nqp:155  (blib/Perl6/Ops.moarvm:bind_error:42)
16:45 FROGGS yeah, seems differently to behave differently on jnthn's box
16:45 jnthn yeah, some odd exit code nad no backtrace
16:46 jnthn Running under debugger now
16:46 * nwc10 starts it under valgrind
16:46 nwc10 fetch a beer. Heck, fetch 2.
16:46 nwc10 mmm, not sure if my gcc is new enough to build with -Og
16:46 nwc10 that might reduce it to 1 beer.
16:46 nwc10 will try later
16:46 FROGGS hehe
16:47 jnthn .oO( -Obeer )
16:48 jnthn oooh
16:48 jnthn I get a buffer overrun
16:49 nwc10 is that like where one pours too fast, and the head overflows the top of the glass?
16:50 nwc10 or is it the gotcha where the waitor brings you an open bottle and a glass, but the capacity of the glass is smaller than that of the bottle, and you don't spot this in advance
16:51 jnthn More like the second
16:51 jnthn Apparently, sprintf(buf, "%-15f", n) might use more than 21 chars...
16:51 nwc10 (in particuarly evil realities, the glass has the brand of the beer bottle on it, to lull you into a false sense of security)
16:51 nwc10 you don't say!
16:51 * jnthn wonders how 21 got picked...
16:52 nwc10 at random? ie rand()/2 on MoarVM a month or two ago
16:53 jnthn OK, so...what *should* it be? :)
16:53 nwc10 snprintf
16:53 jnthn right, how portable is this? :)
16:53 nwc10 I think "most places by now", but I can't remember for sure
16:55 nwc10 in the short term, it's probably better to use it, and fix it with a portability wrapper once you hit a platform which doesn't have it
16:55 nwc10 but that's an off-the-cuff suggestion - I've not tried to work out what platform(s) would break
16:55 jnthn unresolved external symbol snprintf
16:55 nwc10 and I'm not sure how hard a wrapper would be, given that it would need to deal with variable arguments.
16:55 jnthn bah
16:55 nwc10 bah. Fail
16:55 nwc10 found a platform already :-(
16:57 jnthn Yeah. MSVC
16:57 jnthn I know the workaround though :)
16:57 jnthn (VS debugger)++ for finding the problem, though :)
16:58 * jnthn has killed every sprintf :)
17:06 dalek MoarVM: 4e65678 | jonathan++ | src/core/ (2 files):
17:06 dalek MoarVM: Fix overruns; avoid sprintf.
17:06 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4e65678f5a
17:06 jnthn Confirm I'm now up to 16436 too now
17:07 FROGGS cool!
17:07 FROGGS :o)
17:17 jnthn OK, got past there but we seem to have an undeclared variable...
17:17 jnthn Probably in terms or so
17:19 jnthn ah, $VM
17:19 FROGGS yes
17:19 FROGGS seen it too right now
17:19 * jnthn wonders if there'll be more
17:20 jnthn That does mean we're probably around 16,581
17:20 FROGGS jnthn: there will be a syntax error at line 145 btw
17:21 FROGGS about $EXECUTABLE_NAME
17:22 jnthn fixing
17:27 jnthn OK, fixed those. We parse the whole thing now.
17:27 nwc10 awesome!
17:27 jnthn And then fail right at the end in CHECK time by thinking some stub didn't get implemented
17:28 nwc10 which implies that we can run all the BEGIN blocks? (Or at least, fake running them)
17:28 nwc10 b.t.w., you have just moved the goalposts.
17:28 nwc10 I've not finished building the previous commit :-)
17:30 timotimo nice!
17:30 timotimo "thinking some stub didn't get implemented" sounds like it did get implemented but it failed to pick it up?
17:33 jnthn nwc10: We actually run them
17:33 jnthn timotimo: I'm not sure
17:34 jnthn It's about dinner here but if somebody wants to check something...
17:35 jnthn ...make sure that we aren't missing some files from what we put in core.setting
17:35 jnthn It may be a legit error
17:40 jnthn ah, I see why the error reporting is broken
17:40 jnthn our iteration handling does not handle native arrays on Moar yet
17:40 jnthn So, just an NYI
17:41 jnthn But food looks more exciting than writing C... :)
17:41 FROGGS enjoy it :o)
17:45 FROGGS I get "MVMArray: atpos expected string register"
17:45 FROGGS that does not seem to fit
17:46 nwc10 [A[BMVMArray: atpos expected string register at src/Perl6/World.nqp:2463  (blib/Perl6/World.moarvm:frame_name_684:37)
17:46 nwc10 MVMArray: atpos expected string register at src/Perl6/World.nqp:2463  (blib/Perl6/World.moarvm:frame_name_684:37)
17:46 nwc10 notwork
17:46 nwc10 (our local notowrk)
17:50 FROGGS ohh, it indeed fits: "blib/Perl6/World.moarvm:assert_stubs_defined:46"
17:51 TimToady \o/ for the parse pass PASS
17:52 FROGGS :o)
17:52 FROGGS in five minutes I should know what type is not composed
18:00 nwc10 FROGGS: "it indeeds fits" - related to what I pasted?
18:00 nwc10 oh, yes, we both see the same thing
18:00 FROGGS nwc10: to what we both pasted
18:02 FROGGS ha!
18:02 FROGGS my fault! :o)
18:19 FROGGS Stage parse      : 469.534
18:19 FROGGS Stage syntaxcheck:   0.000
18:19 FROGGS Stage ast        :   0.000
18:19 FROGGS Bytecode validation error at offset 254, instruction 35:
18:19 FROGGS extension op 'p6trialbind' not registered
18:19 FROGGS \o/
18:20 nwc10 you're trying to confuse jnthn by making progress while he's not looking? :-)
18:21 benabik joined #moarvm
18:22 FROGGS hehe, I guess he'd actually like that :o)
18:22 FROGGS but no, just that single fix
18:27 jnthn ooh, wow :)
18:27 jnthn going to social now
18:27 jnthn Do rink the beer
18:27 jnthn uh, to drink...
18:27 jnthn ...looks like I need it :P
18:27 jnthn &
18:27 nwc10 have the appropriate amount of fun
18:40 FROGGS[mobile] I think I am trying to implement p6trialbind later... it seems almost doable
18:41 diakopter FROGGS[mobile]: on your mobile? yeah! :D
18:43 timotimo he's a 10x
18:43 timotimo means he only needs ~10 keys
18:46 FROGGS[mobile] diakopter: on a BlackBerry (tm)? No chance
18:58 lizmat joined #moarvm
18:59 rurban1 joined #moarvm
19:00 rurban1 have you checked https://lwn.net/Articles/573424/ urcu?
19:01 woolfy joined #moarvm
19:17 diakopter rurban1: okay, but it's lgpl, and linux only
19:59 tgt joined #moarvm
20:06 FROGGS ohh noes, I won't attack p6trialbind
20:07 FROGGS Binder.trialBind is just way to heavy for me
20:52 tgt joined #moarvm
20:58 |newbie| joined #moarvm
20:58 |newbie| hi all
20:58 jaffa4 joined #moarvm
20:59 jaffa4 hi all
21:00 jaffa4 what is the state of moarvm?
21:00 nwc10 I think I'm right in saying
21:00 nwc10 nqp supports moarvm on master
21:01 nwc10 today jnthn got rakudo passing the complete setting
21:02 nwc10 (which is about 17000 lines, and contains a lot of BEGIN blocks, which means that moarvm is running all the code in those BEGIN blocks)
21:02 nwc10 so, progressing.
21:03 |newbie| what does it mean that nqp supports moarvm?
21:03 nwc10 nqp passes all its own tests on moarvm
21:04 TimToady it means you can use the nqp language, executed only by the moarvm backend
21:04 nwc10 and there isn't a special "we're working on it" MoarVM branch
21:04 nwc10 or maybe TimToady's answer is better
21:04 jaffa4 SO does it mean perl6 compiler runs on moarvm?
21:04 * TimToady tries to give the user-centric view, not the developer-centric view, is all
21:05 jaffa4 that is good very good.. user centric view please
21:05 TimToady it means the parser runs well enough to parse the setting
21:06 jaffa4 "the setting"? what is the settings?
21:07 TimToady some other languages call it a prelude, but we think of it as surrounding the user's program; it's the code that defines most of what Perl 6 looks like
21:07 TimToady the parts of Perl 6 that are defined in Perl 6
21:08 jaffa4 In short, some part of the perl6 compiler can be translated into moarvm but not all.., right?
21:08 TimToady notionally we treat it as a lexical scope outside the user's program file
21:09 TimToady that's a good approximation of the truth
21:10 TimToady we can parse it all currently, but there are bits that don't translate yet
21:10 TimToady after we get those bits done, the next step is to translate the bits of Perl 6 that aren't used by the compiler itself
21:10 TimToady but that are specced and have tests
21:11 jaffa4 so it has gone slower than expected
21:11 TimToady nope, faster
21:11 TimToady the only reason it appears slow is that's it's being done with part-time labor
21:11 TimToady but when they get a chance to work on it, it goes very fast
21:12 jaffa4 I am trying to recall what was said in the Perl conference.
21:12 TimToady for instance, on the day jnthn++ was expecting to parse 1000 more lines, he ended up parsing 9000 more lines
21:12 jaffa4 ok
21:13 jaffa4 Are you programming too in this project?
21:13 TimToady what was said at the conference by diakopter++ was not an official prediction, just what he himself suspected would be the case
21:13 |newbie| left #moarvm
21:13 TimToady only a little
21:14 TimToady most of my programming the last couple years has been to write rosettacode.org entries to see how Perl 6 works on real problems
21:14 TimToady and then tweak the specs so it works better :)
21:15 TimToady fsdo "real"
21:15 jaffa4 O see
21:16 jaffa4 what is fsdo?
21:16 FROGGS for some definition of
21:17 TimToady we don't like arguing past each other here, so we frequently admit that our definitions may differ :)
21:18 jaffa4 it is pity you do not like arguing..arguing can be fun.
21:18 moritz arguing != arguing past each other
21:19 FROGGS I think most ppl here like a good discussion about an interesting topic
21:19 jaffa4 some people afraid of losing...
21:20 TimToady we don't like it when people enjoy arguing so much that they don't care if they're arguing past each other
21:20 TimToady we prefer constructive arguments
21:20 jaffa4 understandable.
21:20 TimToady we're not afraid of losing if we're wrong; we'd rather be corrected :)
21:21 TimToady fsdo "wrong"
21:21 FROGGS hehe
21:21 moritz see also: discussion between masak++ and me in #perl6 on Liskov and upcasting earlier today
21:22 FROGGS your are "right"
21:22 jaffa4 somebody told me he considers perl6 an academic project., Do you agree?
21:22 TimToady but far too many people define "wrong" as "different from my un-thought-through opinion" :)
21:22 FROGGS jaffa4: no
21:22 FROGGS jaffa4: it is intended to be used
21:22 TimToady academic projects don't last 13 years, or you lose tenure
21:23 TimToady most academic projects are reductionist in that you hold everything fixed except one idea, and then see how far you can drive that idea into the ground
21:24 TimToady we're trying to drive all our ideas into the ground simultaneously :)
21:24 TimToady so it's a more holistic approach than an academician can afford to take
21:25 TimToady jaffa4: all that being said, I believe whoever it was you heard using the word "academic" was meaning a definition that was intended to be insulting :)
21:25 jaffa4 yes, he is an active Perl 5 module contributor
21:26 jaffa4 yes, you are right , that was bit a praise
21:26 TimToady we are more concerned with what future Perl 6 programmers will think than with what past Perl 5 programmers have thought :)
21:27 jaffa4 it was not a praise...
21:27 TimToady I see what you did :)
21:32 jaffa4 As far as I can see there is a lot of languages.. new languages appear every year... What will people make choose Perl6 out of crowd, out of immense internet ?
21:34 TimToady other people telling them that Perl 6 doesn't have *this* problem, or *that* problem, so they should try it
21:34 TimToady people comparing solutions on rosettacode and liking the clarity of the Perl 6 solutions
21:34 TimToady people who start companies based on Perl 6, and hiring other people to program in it :)
21:35 TimToady having a culture that more fun than other programming cultures
21:35 TimToady there's no single answer
21:36 TimToady all we can do is make it the language we would prefer to use, and hope other people notice that they're like us
21:37 TimToady long term, don't get dragged down by technical debt, as has happened to every popular language
21:37 jaffa4 What about an aggressive advertisement campaign?
21:37 TimToady we don't want to lie :)
21:38 TimToady however, telling the truth about Perl 6 is fine :)
21:38 FROGGS I'd wait for it becoming *awesomely fast* before advertising it
21:38 TimToady that's the main thing we're waiting on
21:39 TimToady "avoid success at all costs" is the mode we're still in
21:40 jaffa4 that is wise
21:40 FROGGS right, just let us make in an awesome language, even if it is just for us then :o)
21:40 TimToady we'll definitely start hyping it when it's better that most of its competitors for everyday use
21:40 FROGGS yeah
21:40 TimToady but until then, it's still underpromise and overdeliver
21:42 TimToady so the promise has never been much stronger than "someday"--but that someday gets a day closer every day
21:45 jaffa4 ok..bye
22:01 diakopter ..
22:01 diakopter is it safe to come out?
22:02 TimToady fsdo "safe"
22:03 TimToady asteroids are slightly less likely in the afternoon than in the morning
22:04 TimToady but they're more likely in the autumn than in the spring
22:05 TimToady well, at least away from the equator
22:09 TimToady the risk also drops slightly when the moon is out in front of the earth in our direction of motion :)
22:10 TimToady well, unless the moon increases the risk through focussing effects...
22:11 TimToady that one is difficult to reason out

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