|
github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today Set by moderator on 8 September 2013. |
|||
|
01:16
tokuhirom joined
03:25
cognominal joined
04:42
Woodi joined
|
|||
| diakopter | 7 | 05:00 | |
| tokuhirom: how goes | |||
| tokuhirom | hm? | 05:01 | |
| yoleaux | 27 Aug 2013 04:44Z <[Coke]> tokuhirom: how do you run a perl6 program in pvip? | ||
| tokuhirom | Ah | ||
| diakopter | pvip | ||
| tokuhirom | It's just a parser | ||
| library. | |||
| And i'm writing transpiler from perl6 to perl5(in progress). metacpan.org/release/Seis | 05:02 | ||
| diakopter | well, it's an implementation then, if it can compile perl6 to 5 and then run it... so [Coke] wants to add it to the test suite | 05:10 | |
| er | |||
| test stuff | |||
| JimmyZ | and FROGGS compile perl5 to 6 :P | 05:13 | |
| diakopter | no | 05:16 | |
| his software compiles p5 to qast | 05:18 | ||
| jnthn | moarning o/ | 05:58 | |
| JimmyZ | morning | 05:59 | |
| jnthn | commute... | 06:07 | |
|
06:36
FROGGS joined
|
|||
| FROGGS | .tell arnsholt And we would have an awesome name! MIR :o) irclog.perlgeek.de/moarvm/2013-09-10#i_7569896 | 06:39 | |
| yoleaux | FROGGS: I'll pass your message to arnsholt. | ||
| jnthn | beans...det goda kaffet... *slurp* | 06:45 | |
|
06:46
Woodi joined
|
|||
| FROGGS | Bohnen... der gute Kaffee? | 06:58 | |
| jnthn | If Bohnen means beans... :) | 06:59 | |
| And not boning or something... | |||
| arnsholt | FROGGS: Even better! =D | ||
| yoleaux | 06:39Z <FROGGS> arnsholt: And we would have an awesome name! MIR :o) irclog.perlgeek.de/moarvm/2013-09-10#i_7569896 | ||
|
07:02
foo_bar_baz joined
07:11
LWA joined
07:29
dalek joined
|
|||
| JimmyZ | \\o/ | 09:14 | |
| FROGGS | \\o/ | 09:17 | |
| what's up? | |||
| JimmyZ | nothing yet | 09:18 | |
| FROGGS | awww | 09:21 | |
|
09:25
not_gerd joined
|
|||
| not_gerd | o/ | 09:25 | |
| JimmyZ | \\o | 09:27 | |
| not_gerd | jnthn: how should containers for native types be handled? | 09:28 | |
| as I read it, using a ContainerSpec would require boxing... | |||
| jnthn | Yeah, if you must have a container then you have to create an object. | ||
| Normally you don't need it. | 09:29 | ||
| not_gerd | what's the best way to pull a native out of a CScalar (ie a pointer to a scalar C type)? | ||
| jnthn | We don't need to worry about it in Moar for nwo 'cus it's not handled in any backend yet. | ||
| What's a CScalar? | 09:30 | ||
| You're doing far, far more with NativeCall than just porting what we need for the current state. | |||
| I don't have the tuits to care about this rgiht now. Sorry. | 09:31 | ||
| not_gerd | ok | ||
| (a CScalar would be a typed pointer pointing to a primitive type) | |||
| jnthn | My expectation is we'll introduce a couple of REPRs (LexRef, AttrRef) that reference native leicals and native attributes. | ||
| They'll have container specs that do the right thing, but there's a bit of missing design there | 09:32 | ||
| And there'll be corresponding nqp:: ops for this | |||
| When Rakudo gets to support | |||
| $native-int++; | |||
| Then the optimizer needs to (a) inline it, and (b) know that the nqp::lexref and nqp::assign_i (prelim names) can collapse into a nqp::bindlex_i | 09:33 | ||
| jnthn didn't get much further into the design than that, but hopes it might be enough for not_gerd to progress on what he's looking at | 09:34 | ||
| (by "inline it" I mean the call to postfix:<++>, just to be clear...) | |||
| For things that can't statically inline, by pushign these ops down to MoarVM level, the JIT should, after inlining, be able to perform the same style of analysis. | 09:36 | ||
| not_gerd | sound feasible | ||
| so I'll implement the boxing container spec and add some temporary ops for native access | |||
| jnthn | OK, feel free to try and flesh it out. But this is really not Moar specific, so whatever it looks like needs to be viable elsewhere too. | 09:37 | |
| I don't think that shall be too problematic, though... :) | |||
| I did the last contaienrs refactor with eventually supporting this in mind. | 09:38 | ||
| not_gerd | well, the ops will only work with the C subsystem of the 6model type system (that I'm implementing) | ||
| could be used for prototyping the general version, though | 09:39 | ||
| jnthn | aye, we probably want to use the same mechanism for the general solution | ||
| not_gerd | just to clarify what I'm doing - I implemented a malloc() wrapper that supports (pr is going to support) putting arbitrary C objects in that memory block | 09:40 | |
| CScalar would be a typed pointer into that block supporting container semantics | 09:41 | ||
| jnthn | ok, I think I see | ||
| fits with what you were asking about the gc too... :) | |||
| not_gerd | first, I thought it ould be possible to inline such blocks via p6opaque | 09:42 | |
| that... turned out to be unworkable as far as I can see | |||
| hm... | 09:44 | ||
| did I mean should, could or would there? | |||
| you decide! | 09:45 | ||
| jnthn | Well, I guess when I decided that the GC needn't support interior pointers and would move objects, I kinda did decide :P | 09:46 | |
|
10:08
not_gerd joined
10:19
LWA joined
12:22
not_gerd joined
|
|||
| dalek | arVM/nativecall2: a3c9c88 | (Gerhard R)++ | src/ (3 files): Finish ptrcast implementation |
12:23 | |
| arVM/nativecall2: d790e18 | (Gerhard R)++ | / (10 files): Implement cpointer op and stub cscalar |
|||
| arVM/nativecall2: 177d5ba | (Gerhard R)++ | / (9 files): Rename FlexibleStruct to FlexStruct and get rid of anon structs |
|||
| arVM/nativecall2: bed5d41 | (Gerhard R)++ | src/native/ (2 files): Work on CScalar, partially implementing ContainerSpec |
|||
| MoarVM/nativecall2: f79a8d4 | (Gerhard R)++ | / (8 files): | |||
| MoarVM/nativecall2: Hack in cscalar_decont_i and int16 regs for testing | |||
| not_gerd | that made gist.github.com/gerdr/02a79383788fb1254978 work | 12:24 | |
| bye, #moarvm | 12:29 | ||
|
12:29
not_gerd left
13:34
eternaleye joined
14:08
lizmat joined
14:26
jnap joined
14:59
FROGGS[mobile] joined
15:42
LWA joined
15:57
{amon} joined
16:01
FROGGS joined
|
|||
| dalek | arVM: 177e825 | (Tobias Leich)++ | src/core/exceptions.c: inrease/decrease frame refcounter |
16:18 | |
| arVM: aecc96d | (Tobias Leich)++ | src/core/exceptions.c: code indentation |
16:21 | ||
|
16:34
LWA left
|
|||
| FROGGS | Q: if previously something stored a function pointer somewhere, can I check against later a given funtion pointer? is that reliable? | 16:38 | |
| arnsholt | Depends on what you mean by function pointer, probably | 16:39 | |
| If it's a C function pointer, the GC's not gonna mess with that. A Perl/NQP one, not so much | |||
| FROGGS | arnsholt: this github.com/MoarVM/MoarVM/blob/mast...ons.c#L164 | 16:40 | |
| unwind_after_handler is declared a few lines below | |||
| arnsholt | That looks like a normal C function pointer, so that's not gonna move around | 16:41 | |
| FROGGS | so I can do: if (unwind_after_handler == something->frame->->special_return ) ?? | ||
| well, written in valid C of course | 16:42 | ||
| arnsholt | Yeah, I'd be surprised if that doesn't work | ||
| FROGGS | (excuse my wording, I had a liter Oktoberfestbeer) | ||
| k, awesome | |||
| thank you | |||
| arnsholt | diakopter: That sounds reasonable, right? | ||
| FROGGS | well, we'll see if it assplodes :o) | 16:45 | |
| hmm, okay, seems to work fine | 16:47 | ||
| diakopter | arnsholt: which is reasonable? | 16:59 | |
| arnsholt | What FROGGS asked about above | 17:00 | |
| FROGGS | I can paste a diff in a few minutes | 17:01 | |
| arnsholt | It's all pointers to functions implemented in C AFAICT, so that shouldn't be subject to GC shenanigans | ||
| FROGGS | here: gist.github.com/FROGGS/d3febe484052ce8976bf | 17:03 | |
| unwind_after_handler is a function | 17:04 | ||
| yeah, I guess this is safe | 17:06 | ||
| dalek | arVM: 7c4ae2c | (Tobias Leich)++ | src/core/exceptions.c: heck for already installed handler, allocate otherwise |
17:08 | |
|
17:19
lizmat joined
17:32
jnap joined
19:14
colomon joined
19:38
FROGGS joined
20:05
FROGGS joined
20:31
tgt joined
|
|||
| diakopter | .ask not_gerd ping | 20:36 | |
| yoleaux | diakopter: I'll pass your message to not_gerd. | ||
|
20:37
tgt joined
21:02
not_gerd joined
|
|||
| not_gerd | o/ | 21:02 | |
| yoleaux | 20:36Z <diakopter> not_gerd: ping | ||
| not_gerd | diakopter: pong | ||
| dalek | arVM/nativecall2: fac625f | (Gerhard R)++ | / (5 files): Remove HOW argument from cscalar op - use newtype instead |
||
| arVM/nativecall2: 3b39712 | (Gerhard R)++ | / (10 files): Cache more native type objects and fix some bugs |
|||
| arVM/nativecall2: cd44f90 | (Gerhard R)++ | src/native/ (4 files): Fix gc bits |
|||
| diakopter | ] >> i % 64 & 1 // C operator precedence knowledge fail on my part | 21:09 | |
| not_gerd | rule of thumb: bitwise and/or have low precedence - just higher than logical and/or | 21:11 | |
| for arithmetics, it's multiplication/division, then addition/substraction, then shifts | 21:12 | ||
| masak is reminded of blog.plover.com/prog/featurism.html | 21:19 | ||
| dalek | arVM/gcorch: 5c01f0c | diakopter++ | / (6 files): wip4 |
21:21 | |
|
21:22
donaldh joined
21:23
jnap joined
|
|||
| diakopter | masak: well, when the manual actually does need to be that long to explain obscure feature interactions... | 21:23 | |
| "we got a 2000 page manual" ... "well maybe you needed a 4000 page one" | 21:24 | ||
| masak nods in the direction of the "essential complexity"/"accidental complexity" distinction | |||
| a bit of a cop-out, because there's no sure-fire way to distinguish a truly global minimum from merely a local one. | 21:25 | ||
| diakopter | number of distinct macros in your source code with fewer than 9 letters in their names? | 21:27 | |
| *zing* | |||
| masak | :P | ||
| not_gerd | well, Chuck Moore will tell you all that complexity is totally unnecessary | 21:30 | |
| not_gerd digged out the link: www.ultratechnology.com/1xforth.htm | |||
| jnthn | .oO( You shojldn't Chuck Moore complexity in there... ) |
21:32 | |
|
22:16
tadzik joined
|
|||
| not_gerd heads off to sleep | 22:48 | ||
|
23:12
jnap joined
23:33
Mouq joined
23:51
dolmen joined
|
|||