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