|
Parrot 3.2.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot is accepted for GSoC 2011! Student application deadline is Apr 8 Set by moderator on 27 March 2011. |
|||
| cotto | ~ | 00:00 | |
|
00:04
dukeleto joined
|
|||
| dukeleto | nwellnhof++ # fixing extend_vtable.t | 00:04 | |
|
00:04
dngor joined
|
|||
| dalek | rrot: d0fd13f | nwellnhof++ | config/auto/warnings.pm: [configure] Use -fexcess-precision=standard This option is supported by GCC >= 4.5 and might help with TT #1978 |
00:04 | |
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#14512) fulltest) at 3_2_0-363-ged8fd08 | 00:19 | |
| Ubuntu 11.04 beta i386 (gcc --optimize --gc=gms) | |||
| bah that was g++ not gcc | |||
| dalek | rrot: 0631c0f | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_get_string_keyed_str , nwellenhof++ |
00:21 | |
|
00:22
S_Arms left
00:23
S_Arms joined
|
|||
| mikehh must sleep | 00:24 | ||
|
00:28
whiteknight left
00:36
nwellnhof left
00:51
cosimo joined
|
|||
| dalek | Heuristic branch merge: pushed 89 commits to parrot/leto/embed_grant by leto | 00:52 | |
|
01:03
jevin joined
01:06
woosley joined
01:40
simcop2387_ joined
01:41
simcop2387 left,
simcop2387_ is now known as simcop2387
01:47
mtk left
01:51
mtk joined
02:13
Eduardow_ is now known as Eduardow
02:14
Eduardow left,
Eduardow joined
02:22
mikehh_ joined,
mikehh left
03:22
hudnix left
|
|||
| bacek_at_work | seen jnthn | 04:08 | |
| aloha | jnthn was last seen in #perl6 13 hours 5 mins ago saying "o/ #perl6". | ||
| bacek_at_work | seen sorear | ||
| aloha | sorear was last seen in #perl6 2 hours 58 mins ago saying "ashleydev: Perl 6 will not use anything like HM, because HM + subtypes = undecidable". | ||
| bacek_at_work | seen moritz | ||
| aloha | moritz was last seen in #perl6 9 hours 27 mins ago saying "or doesn't have tenses, or doesn't have cases, or doesn't have .... you name it :-)". | ||
| bacek_at_work | hmmm | ||
| no grammar nazi experts around... | |||
| sorear | hi bacek_at_work | 04:17 | |
| bacek_at_work | sorear, aloha | 04:22 | |
| I've got kind of interesting question | |||
| Can I replace part of parsed tree during parsing? | 04:23 | ||
| I want to implement one-way C preprocessor. | |||
| "one pass" | 04:24 | ||
| sorear | How will you handle: | 04:26 | |
| #define BEGIN { | |||
| #define END } | |||
| (yes, I've seen this in real code) | |||
|
04:37
benabik left
|
|||
| bacek_at_work | sorear, nope. I want something simple first | 04:39 | |
| e.g. #define VTABLE_foo(interp, pmc) pmc->vtable->foo(interp, pmc) | |||
| So, when I process "token term:sym<call> { <term> <arglist>? }" I want to replace $/ with demacrofied content | 04:47 | ||
| sorear | make $contents.ast | ||
| bacek_at_work | sorear, it's PAST, isn't it? | 04:49 | |
| sorear | yes | ||
| bacek_at_work | I was thinking it's possible to update Parse tree... | ||
| sorear | not in Rakudo/NQP AFAIK | 04:50 | |
| bacek_at_work | oookey. I'll try to work with past then | ||
|
05:15
theory left
05:36
ShaneC left
05:37
dodathome joined
|
|||
| cotto | ~ | 05:45 | |
| bacek_at_work | ~~ | 05:50 | |
| ~~\\o/~~ | |||
| bacek_at_work is drowning! | |||
|
05:51
ShaneC joined
|
|||
| cotto | I was going to comment on your unusually long armpit hair | 05:51 | |
| and I did, so it would seem | 05:52 | ||
| seen bubaflub | 05:59 | ||
| aloha | bubaflub was last seen in #parrot 7 hours 46 mins ago saying "yes, it's quite good. i passed it on to a former co-worker who is learning how to do testing.". | ||
| cotto | was it bubaflub who did the rtems project? | 06:12 | |
|
06:15
krunen left,
krunen joined
06:21
frodwith left
|
|||
| moritz | good morning | 06:24 | |
|
06:24
aloha left,
frodwith joined
|
|||
| cotto | good night | 06:30 | |
| bacek_at_work | erm | 06:48 | |
| wow... | 06:49 | ||
| Attempt to free unreferenced scalar: SV 0xaee3be0, Perl interpreter: 0x9a2b008 at lib/Bot/BasicBot/Pluggable/Module/Msg.pm line 52. | |||
| Segmentation fault | |||
|
06:49
aloha joined
|
|||
| dalek | rrot: 985e82a | fperrad++ | src/embed/api.c: [build] fix C |
06:52 | |
|
07:14
contingencyplan_ joined,
contingencyplan left
07:36
cosimo left
08:21
mj41 joined
08:37
contingencyplan_ left
|
|||
| bacek | ~~ | 08:53 | |
|
08:56
autark left
|
|||
| dalek | rrot/jit_prototype: ae083d5 | bacek++ | / (2 files): Fix emitting C for postcircumfix<()> |
09:05 | |
|
09:12
jrtayloriv left
09:17
autark joined
09:33
mtk left
09:35
ShaneC left
09:39
mtk joined
09:42
loufoque_ joined
09:47
woosley left
09:59
fmiju joined
|
|||
| fmiju | Hello. When writing a schedule for GSoC, should the first week begin at 25th of May | 10:03 | |
| Hello. When writing a schedule for GSoC, should the first week begin at 25th of May? | |||
| moritz | yes | 10:07 | |
|
10:07
aloha left
10:25
fmiju left
|
|||
| dalek | rrot/jit_prototype: 6c471c4 | bacek++ | compilers/opsc/src/Ops/Compiler/Actions.pm: Kind of prototype-in-prototype for handling macros |
10:44 | |
|
10:53
hudnix joined
10:56
fmiju joined
11:11
fmiju left
11:21
fmiju joined
11:56
Patterner left,
Psyche^ joined,
Psyche^ is now known as Patterner
11:57
loufoque_ left
11:58
loufoque_ joined
12:06
loufoque_ left
12:31
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:31 | |
| fmiju | Hello, whiteknight | 12:38 | |
| moritz | \\o | 12:39 | |
| fmiju | thank you for feedback on my application. I will try to improve it. | 12:40 | |
| could anyone give a link to somewhere I could read about parrot-instrument? | 12:42 | ||
|
12:48
bubaflub joined
|
|||
| whiteknight | fmiju: which proposal was yours? | 12:52 | |
| fmiju | subroutine-level profiler | 12:53 | |
| whiteknight | Oh, you're justina? | ||
| fmiju | yup | ||
| whiteknight | Okay, awesome. We've been hoping to talk to you more | 12:54 | |
| The first thing we really really need is much more detail about your timeline | |||
| I wrote a blog post about proposals, here is the relevant section about timelines: whiteknight.github.com/2011/04/11/g...l#timeline | 12:55 | ||
| Basically, we need a lot more detail. Break it up by week, give concrete milestones, and demonstrate that you have a plan for completing the project on time | |||
| your proposal on melange is open for editing | 12:56 | ||
| The rest of the post is worth reading too, if you have time, but the timeline section is most important right now | |||
| fmiju | I understand. I think I need to find out more about profilers before I write a detailed timeline. | 12:58 | |
| whiteknight | okay, you should do that as quickly as possible | 12:59 | |
| moritz | that's part of the reason we ask for a detailed timeline: so that students put some effort into up-front | ||
| and to make sure they actually understand what they want to implement | |||
| fmiju | That's right. There was parrot-instrument mentioned in the project idea description, but I couldn't find anything more to read about it. | 13:01 | |
| Could you give me some link, please? | |||
| whiteknight | let me get it right now | ||
| github.com/whiteknight/parrot-instrument | |||
| fmiju | thanks. | 13:02 | |
| whiteknight | it's mostly code, there isn't a lot of documentation to go around | ||
| it's something we should add eventually, if people are really going to be making use of it | |||
| I'm happy to answer any questions you have | |||
| fmiju | Cool :). Sorry if I ask something obvious - there's a lot for me to learn. | 13:05 | |
| whiteknight | don't worry. We don't expect anything to be obvious to a new student | 13:07 | |
| the idea is that Parrot-Instrument duplicates some of the algorithms and systems inside Parrot, but does so with hooks | 13:11 | ||
| so instead of running Parrot directly, you run a program through Parrot instrument. It's slower, but you get the chance to observe and occasionally interact with the running program | 13:12 | ||
| for a subroutine profiler, you would use Parrot-Instrument to hijack method and subroutine calls | |||
| When you enter a call, you start a timer on it to see how long you are inside it. When you leave the call, you stop that timer | 13:13 | ||
| that's a simplified version, of course | |||
| things are complicated by the fact that Parrot is continuation-passing-style (CPS), which means there aren't defined returns really. A return is really just a call back to the parent | 13:14 | ||
| so for each call, you would have to see if that call was a call into an existing context, and if that existing context is the parent context | 13:15 | ||
| actually, that's only if you want to isolate complete call and exit situations | |||
| an easier way, though maybe less informative, would be to use Parrot-Instrument to hijack when new contexts were created, and keep a running timer count for how often control flow was occuring inside a single context | 13:16 | ||
| (I'm moving very fast here, feel free to ask questions if you need) | |||
| fmiju: if you're familiar with C++, 8-bit architectures and emulators, are you also familiar with the concepts of stack frames? | 13:18 | ||
| mikehh_ | whiteknight: I have a couple of questions related to Configure | 13:21 | |
|
13:21
mikehh_ is now known as mikehh
|
|||
| mikehh | opbots, names | 13:22 | |
|
13:26
mikehh left
|
|||
| whiteknight | mikehh: I doubt I'm the best person to ask, but go ahead | 13:26 | |
| moritz | isn't kid51 our Configure expert? | 13:27 | |
| whiteknight | yes, he probably is the one to ask | 13:30 | |
|
13:31
mikehh joined
|
|||
| mikehh | stoopid internet - got disconnected | 13:31 | |
| whiteknight: ping | |||
| whiteknight | pong | ||
| mikehh | whiteknight: I had a question related to configure, I seem to get no in answer to 2 auto items - frame builder and inline | 13:33 | |
| is that correct or did I miss installing something | 13:34 | ||
| whiteknight | frame builder is libffi, I think | 13:38 | |
| I don't know what the inline item is | |||
| you don't need libffi, it just makes some NCI functionality better | |||
| mikehh | I got it - Ubuntu seems to have installed it in a different place - need to make sure it gets it - hmm | 13:39 | |
| whiteknight | okay | ||
|
13:40
lucian joined
|
|||
| mikehh | I had to do an include to get it to run splint | 13:40 | |
| fmiju | Stack frames-not yet. Sorry for slow response. It looks like subroutines act like operating system processes. And the problem is with finding out when the calls return, because both calls and returns are calls? I'm going to read books and to look at parrot-instrument. See you later. | ||
| whiteknight | fmiju: okay, let us know if you need anything | ||
| fmiju: we have received slot allocations from Google, and we do not have enough slots to accept all proposals | 13:41 | ||
| fmiju: the faster you can improve your proposal, and the better you can make it, the better | |||
| fmiju | Ok, I'll try. Thank you for answers. | ||
| whiteknight | no problem. Good luck | 13:42 | |
| mikehh | whiteknight: had to set C_INCLUDE_PATH=/usr/include/i686-linux-gnu for splint - I think I need to set it for parrot build | 13:43 | |
| bubaflub | whiteknight: mind if i ask how many slots we received? | 13:44 | |
|
13:48
fmiju left
|
|||
| whiteknight | bubaflub: 9 | 13:51 | |
| but that's a soft number | |||
| bubaflub | whiteknight: wow, that's much better than expected - or at least i expected | ||
| whiteknight | yes, that's better than I expected also | ||
| it may also turn out to be more than we need or want | 13:52 | ||
| moritz wonders if we can even come up with 9 mentors, and still have breathing room for backups | 13:53 | ||
| whiteknight | it may not be possible for us to find 9 proposals which are all acceptable, and then find 9 mentors to take them | ||
| for instance, we have more than 9 available mentors, but not all of them are willing and able to mentor all projects | 13:54 | ||
|
13:54
AzureSto_ joined
13:55
AzureStone left,
woosley joined
|
|||
| bubaflub | *nods* | 13:56 | |
| whiteknight | I think it's very likely that we are going to accept at least 6 proposals. 8 if we can find mentors | 13:57 | |
| the ninth slot is mostly wiggleroom | 13:58 | ||
| Coke | (don't print in the PIR snippets) ... or, discard the output. All we're trying to do is verify it doesn't fail. | 13:59 | |
| whiteknight | Coke: yes, either is fine | ||
| Coke | I'm willing to mentor a project, obviously. | 14:00 | |
| whiteknight | Coke: What's weird is that the example didn't used to print anything. So I don't know if the old behavior was a bug (as it seems to me) or if the new behavior is the bug | ||
| Coke | whiteknight: better to discard the output so that we don't have to remember "oh, don't do this in the snippets." | ||
| whiteknight: the PIR tests should test that behavior, also. | |||
| whiteknight | Coke: Yes, you probably will be called on to mentor. Some projects have obvious mentors, some it's more of a grab-bag | 14:01 | |
| Coke: good point. We still need to decide what the desired behavior is, then make a test for that | |||
| Coke: did you get the email I sent out this morning to the mentors? | 14:05 | ||
|
14:15
mikehh left
14:21
mikehh joined
|
|||
| NotFound | Did you said that there are students with 8-bit systems background? | 14:22 | |
|
14:22
Andy_ joined
|
|||
| mikehh | where's aloha | 14:23 | |
| NotFound | I thought that younger people even don't kow what 8-bit systems are. | ||
| mikehh | still get some embedded 8 bit stuff | 14:24 | |
| mikehh got to go out for a bit - afk - bbl | 14:25 | ||
| Coke | whiteknight: yes. privmsg ... | ||
|
14:26
Khisanth left
14:27
lucian left
|
|||
| Coke | 8-bit is a pop meme. I can dig up a BEP song reference if you like. | 14:28 | |
| NotFound | Coke: yes, but having some knowledge about them is a different thing. | 14:29 | |
|
14:30
theory joined
|
|||
| whiteknight | 8-bit systems are fun | 14:30 | |
| 4-bit systems, not so much | |||
| I've had the distinct displeasure of coding for a 4-bit microcontroller. | |||
| atrodo | i enjoy 7 and 3/4 bit systems, it's like living dangerously | ||
| whiteknight | atrodo: for my MS Thesis, I made a configurable chip architecture, and one of the things I made with it was a 7-bit processor | 14:31 | |
| and a 13-bit one | |||
|
14:32
fmiju joined
|
|||
| whiteknight | I don't expect either to catch on | 14:32 | |
| NotFound | There are several projects with fpgas and downloadable cores that emulates several classic 8-bit computers. | 14:33 | |
| moritz | Knuth's MIX or MMIX instruct set has a non-fixed byte width | ||
| whiteknight | with lorito, if we design it correctly, there is a distinct possibility of using FPGAs as hardware accelerators for Parrot | ||
| NotFound | I like better software emulators, they don't need soldering. | 14:34 | |
| moritz | it just say that the maximum value for one register must be in the range from 100 to fivehundredsomething or so | ||
| atrodo | whiteknight> we can dream, right? | ||
| whiteknight | atrodo: I'm nothing if not a dreamer | ||
| atrodo | You and me both | 14:35 | |
|
14:35
mj41 left
|
|||
| NotFound | We can even dream a parrot full hardware machine. | 14:35 | |
| whiteknight | NotFound: When I first joined parrot, and was looking to do a PhD, that was a project I was seriously considering | ||
| although without lorito, it would have been a nightmare | 14:36 | ||
| NotFound | Too moving target. | ||
| whiteknight | and too many ops | ||
| I was planning to use a microblaze coprocessor to implement some of the more involved ops, and to store vtables on-chip | 14:37 | ||
| a dream within a dream | 14:40 | ||
| NotFound | A funny project for someone interested in old 8-bit machines: a Z80 or 6502 cpu emulator in parrot. | 14:42 | |
| whiteknight | that would probably be very easy to do | 14:43 | |
|
14:43
contingencyplan_ joined
|
|||
| whiteknight | well, "easy" is not a good description. "tedious and time-consuming but not conceptually challenging" is a better description | 14:44 | |
| NotFound | Aye. | ||
| whiteknight | a MIPS emulator would be much easier | 14:45 | |
| RISC for the win | |||
| atrodo | NotFound> Probably easier than you think since there was a game boy emulator on javascript that I saw a few months ago | 14:49 | |
| NotFound | atrodo: there is also a Sinclair Spectrum emulator in perl. | ||
| atrodo | NotFound> Did not know that. On cpan? | 14:50 | |
| NotFound | atrodo: don't know, I just heard about it vintage computing sites. | 14:51 | |
| I think is this: sourceforge.net/projects/perl-spectrum/ | 14:52 | ||
|
14:56
p6eval left
|
|||
| NotFound | If someone does the cpu, I'll port my cp/m emulator from C++ to winxed. | 14:56 | |
|
14:57
p6eval joined
|
|||
| atrodo | That sounds like a challenge! | 14:58 | |
| NotFound | It is! | ||
|
14:58
benabik joined
|
|||
| atrodo wishes he had more time for challenges | 14:58 | ||
| NotFound | Maybe I'll do it anyway, by wrapping some C Z80 emulator in a dynpmc. | 14:59 | |
|
15:02
sigue left
|
|||
| whiteknight | that would be fun to see | 15:03 | |
|
15:03
dalek left
15:04
dalek joined
15:07
Khisanth joined
15:14
fmiju left,
fmiju joined
|
|||
| dukeleto | ~~ | 15:19 | |
| whiteknight | good morning dukeleto | ||
| dukeleto: Are you going to be acting as a mentor for GSoC this year? | 15:20 | ||
| dukeleto | whiteknight: yeah, at least backup, and primary if necessary | ||
| whiteknight | dukeleto: privmsg | 15:21 | |
|
15:27
mj41 joined
|
|||
| Coke | is moritz's rakudo still segfaulting? | 15:31 | |
| whiteknight | I have no idea. I put in a patch last night that I think should help, but haven't heard the results of it | 15:33 | |
| benabik | whiteknight: It stopped the segfaults on my machine, FWIW. | 15:34 | |
|
15:46
JimmyZ joined
15:47
wagle_ joined,
rblackwe_ joined,
jnthn__ joined,
marc_ joined,
ascent_ joined,
cxreg2 joined
15:48
autark_ joined,
sorear_ joined,
pjcj_ joined,
utsl_ joined
15:49
wagle left
|
|||
| whiteknight | benabik: that's a good data point | 15:49 | |
| If that works, it actually means the problem is deeper and harder to actually fix for real | |||
|
15:49
pjcj left,
cxreg left,
rblackwe left,
marc left,
utsl left,
ascent left
|
|||
| whiteknight | so I really want to see if it works for moritz in all cases | 15:49 | |
| originally I thought that the GC was running during IMCC, collecting objects in the packfiles before the packfiles were registered | |||
|
15:49
autark left,
sorear left,
arnsholt left,
jnthn_ left
|
|||
| whiteknight | however, if that patch fixes the bug, it suggests that GC is running during packfile serialization, and that the pmcs are not being adequately protected from collection at that time | 15:49 | |
| up until now we haven't suspected any problems with GC running during packfile serialization | |||
| lolnetsplit | |||
| Coke | ugh. click on link to proposal in email. get error that it's private instead of prompt to login. | 15:51 | |
| benabik | whiteknight: Immediately prior to that commit, I could only trigger it on my machine with --gc=gms --optimize --debugging=0. I tried both GCs optimized and non, but it only faulted when I finally turned off debugging. | ||
|
15:52
arnsholt joined
|
|||
| whiteknight | benabik: Okay, but with my latest commit you can't replicate it at all? | 15:56 | |
| benabik | whiteknight: Yes. | ||
| whiteknight | okay, that's good | ||
| benabik | But I thought the debugging v. not might be useful to find the problem. :-) | 15:57 | |
| whiteknight | something inside packfile serialization is not playing nice with GC, and it looks like the imcc_compreg_pmc merge is either causing that, or has aggrevated it | ||
| no. It's a memory layout issue. Changing compile settings changes the memory layout enough to expose the problem sometimes | 15:58 | ||
| benabik | Ah. Some of the earlier commits stopped it from faulting with other settings... Probably mostly further changes to timing/layout. | ||
| whiteknight | debugging or not, optimize or not, those things aren't the issue. They just shuffle bits around enough to expose it | 15:59 | |
| the GMS part might be part of the problem, since GMS is a newer algorithm and it requires write barriers, which might not be used properly in this subsystem | |||
| benabik: exactly. This is why it's so hard to track down the root cause | |||
| so far no two users have seen the same exact problem under the same conditions | |||
| I could duplicate it, but not the same way moritz could. plobsing saw a failure in the same build step as me, but with a different backtrace | 16:00 | ||
| benabik | Garbage collection makes application writing easier, but creates huge headaches for the system developers. | ||
| whiteknight | it's actually not so bad, so long as you know the rules and follow them diligently. Most of the time we can completely ignore GC | ||
| the big rule is to make sure every PMC and every STRING that you are working with is properly anchored somewhere | 16:01 | ||
|
16:01
pranq joined
|
|||
| benabik | whiteknight: And you suspect serialization has a gap somewhere where it's not anchored? | 16:02 | |
| whiteknight | Our GC will walk the C stack looking for pointers, so most references being used in active functions are covered. However, --optimize has a way of making that guarantee less awesome | ||
| benabik: yes | |||
| benabik: PackFile* structures are not PMCs, so they don't get marked. They need to be included in something which is marked | |||
| IMCC returns a PtrObj PMC which contains a PackFile* pointer and a custom mark routine, for instance | |||
| benabik | Optimization will remove variables from the stack and keep them in registers, which masks them from the GC? | 16:03 | |
| JimmyZ | I didn't see rakudo spectest segfault on ubuntu 10.04 without that patch | ||
| NotFound | Registers that needs to survive a function call are saved in the stack during the call. | 16:04 | |
| JimmyZ | just FYI | ||
| whiteknight | NotFound: that is what *should* happen, yes' | ||
| benabik | NotFound: Ah, true. Well, optimization makes other weird changes too. | ||
| whiteknight | It's possible those values get optimized out completely | ||
|
16:05
cognominal left
|
|||
| NotFound | whiteknight: if they are optimized out completely, they are grabage and should be collected. | 16:05 | |
| woosley | jjjjjjjjjjjjjjjjjjj | ||
| whiteknight | NotFound: also, if you look at the code in src/gc/system.c which actually saves the registers to stack, I think it's very possible that entire function itself gets optimized away in some cases | ||
| benabik | whiteknight: That would be non-optimal. | ||
| whiteknight | in that case, values which are only stored in the register disappear | ||
| benabik: yes. Luckily, we don't seem to see much of that, if it is a problem. | 16:06 | ||
|
16:06
cognominal joined
|
|||
| NotFound | whiteknight: I've seen C compilers optimization bugs, but I'm more confident in the C compiler that in our codebase. | 16:07 | |
|
16:07
fmiju left
|
|||
| whiteknight | NotFound: right. If the stack walk code is not touched, it should work. I worry that the optimizer will see that code as being dead, and remove it | 16:08 | |
| again, it obviously doesn't happen much. --optimize only seems to aggravate the issues moritz was having. It doesn't seem to be the cause | 16:09 | ||
| NotFound | I think that if stack were not walked we'll be seeing lots more of errors. | ||
|
16:10
darbelo joined
|
|||
| NotFound | And I'm routinely building with -O3 | 16:10 | |
|
16:13
woosley left
|
|||
| dukeleto | where do we have an example of how our HLL interop works currently? | 16:13 | |
| i know it isn't perfect, but for people that ask about it, where do we point them to? | |||
| sorear_ | I don't think it does | ||
| dukeleto | sorear_: yes, i know, but we must have some example code that does something | ||
| NotFound | A todo'ed test, for example? | 16:15 | |
| cotto | seen fmiju | 16:19 | |
| d'oh | 16:20 | ||
| dukeleto | NotFound: sure. do you know where one lives? | 16:22 | |
| cotto | good to see that she caught whiteknight | ||
| whiteknight | yeah, I was hoping she would stay around and chat, but she seemed in a hurry to go read | 16:24 | |
| dukeleto | whiteknight: got your org admin invite | 16:25 | |
| i can see the proposals now, *finally* | 16:26 | ||
| NotFound | dukeleto: no, I was just suggesting that we should have that. | 16:28 | |
| whiteknight | dukeleto++ | 16:29 | |
| dukeleto | NotFound: yes, people are asking me "what does it look like to use a python object from rakudo", for example | 16:31 | |
| NotFound | dukeleto: give me python compiler, and I'll write an example ;) | 16:33 | |
| dukeleto | NotFound: ok, s/Python/Lua/ | 16:34 | |
| NotFound: how do I fiddle with a Lua object from Rakudo ? has anybody done it? | 16:35 | ||
| NotFound | Lua has objects? | ||
| dukeleto | NotFound: i don't know. does it have variables? | ||
|
16:35
mj41 left
|
|||
| dukeleto | NotFound: it hopefully had something | 16:35 | |
| NotFound: i am just looking for the simplest possible HLL interop example | |||
| NotFound | I wrote examples in the past mixing pir, winxed rakudo, pipp and maybe cardinal, don't remember well. | 16:36 | |
|
16:36
jrtayloriv joined
|
|||
| bubaflub | dukeleto: i recall seeing an example a while back but cannot find it now - i think it was a blog post | 16:36 | |
| dukeleto | NotFound: i am fine with a simple datatype such as integer/string/array etc.. | ||
| bubaflub: interesting | |||
| bubaflub: also, i just signed up to mentor you. Buckle up. | |||
| whiteknight | dukeleto: We can't announce winners yet, or anything | ||
| dukeleto | whiteknight: not announcing winner. If bubaflub's proposal is accepted, I will be mentoring him, as all | 16:37 | |
| dukeleto didn't not mean to imply anything more | 16:38 | ||
| whiteknight: good clarification :) | |||
| whiteknight | okay, I'm just being paranoid | ||
| benabik | I think Lua uses tables as objects ala Javascript. | ||
| dukeleto | bubaflub: how is the GMP binding code currently ? | ||
| NotFound | dukeleto: examples/pir/interlangs.pir but it's probably birotten. | ||
| dukeleto | NotFound: hmm. i wonder if it has tests | 16:39 | |
| bubaflub | dukeleto: same state as before - i haven't had a lot of time to work on it. finals are looming. | 16:40 | |
| Coke | everything in examples should at least be tested that it compiles. | ||
| NotFound | dukeleto: surely not, except maybe checking that it compiles. | ||
| dukeleto plays a sad trombone, wistfully | 16:42 | ||
| bubaflub | dukeleto: sadtrombone.com/ | 16:43 | |
| dukeleto | bubaflub: can you add the repo location to your proposal? | ||
| bubaflub | dukeleto: can i still edit it? it's after the submission deadline. | 16:44 | |
| benabik | bubaflub: I don't think so, but you can comment on it. | ||
| NotFound | Can someone tell me how the nqp in parrot is called these days? | ||
| darbelo | bubaflub: mentors can flip a bit to make it editable. | ||
| dukeleto | bubaflub: it isn't a huge deal | ||
| NotFound: what do you mean? | |||
| darbelo | NotFound: nqp-rx | ||
| NotFound | dukeleto: load_language and compreg name. | ||
| dukeleto | bubaflub: do you have a repo for the GMP stuff? | 16:45 | |
| NotFound | "load_language" couldn't find a compiler module for the language 'nqp-rx' | ||
| darbelo | Hm. I would have expected it to match the fakecutable. | ||
| My next guess is 'nqp' but you probably already tried that. | 16:46 | ||
| NotFound | I don't see nothing in intalled languages directory. | ||
| bubaflub | dukeleto: not on github yet, but i could | ||
| dukeleto: i was waiting to see if we wanted under parrot or under my own github account | |||
|
16:46
UltraDM joined
|
|||
| PerlJam | NotFound: NQP-rx | 16:47 | |
| benabik | Isn't the fakecutable called parrot-nqp? | ||
| PerlJam | (I think) | ||
| dukeleto | bubaflub: even if your gsoc proposal isn't chosen, I will still want to work with you on GMP bindings | ||
| NotFound | I don't care about the fakecutable. Please don't tell me that fakecutables are needed for language interoperability. | ||
| dukeleto | bubaflub: create a repo under your own account for now, and we can move it to the parrot org when/if the time is right. If you have a repo with a README.md and an example, that looks nicer than a gist, and shows the history, etc... | 16:48 | |
| bubaflub | dukeleto: cool, i'll create a repo on github here in a bit | 16:49 | |
| NotFound | There is ./lib/3.2.0-devel/library/nqp-rx.pbc | ||
| bubaflub | dukeleto: yep | ||
| NotFound | But load_language doesn't look in that place. | ||
| Oh, nice, you need to load_bytecode nqp-rx and then compreg NQP-rx | 16:52 | ||
| Coke | NotFound: is it just a case difference issue? | 16:53 | |
| NotFound | Coke: Is a case difference and the fact that load_language doesn't look in that directory. | ||
| dalek | nxed: r958 | NotFound++ | trunk/examples/nqp.winxed: update nqp.winxed example to work around insanity |
16:57 | |
| cotto_work | ~~ | 16:58 | |
| NotFound | dukeleto: here you have an example that shows how the draft about interoperability doesn't work ;) | ||
|
17:01
mj41 joined
|
|||
| NotFound | BTW in case someone wonder load_language 'winxed' just works. | 17:04 | |
| bubaflub | dukeleto: github.com/bubaflub/parrot-gmp | 17:05 | |
| dukeleto | bubaflub++ | ||
| dukeleto just ranked all the GSoC proposals | 17:06 | ||
|
17:07
UltraDM left
|
|||
| NotFound | I can't test with lua, it fails one test and plumage don't install it. | 17:09 | |
| dukeleto | NotFound: blarg | 17:11 | |
| NotFound | A --force option for plumage will be useful. | ||
| dukeleto | NotFound: I have a commit bit. you want to send a pull request? | 17:12 | |
| NotFound: actually, you have a commit bit too | |||
| NotFound | dukeleto: I'm not fluent with nqp to do that. | ||
| dalek | rrot-instrument: 8245ee0 | cotto++ | README: add links to docs, as far as they exist |
||
| dukeleto | NotFound: can you add a github issue for it? | 17:13 | |
| NotFound: i can do it | |||
| NotFound: github.com/parrot/plumage/issues/5 | 17:14 | ||
| NotFound | dukeleto: that's it. | ||
| not ok 17 - function execute & exit | 17:17 | ||
| # got: 127 | |||
| # expected: 2 | |||
| not ok 18 - function exit | |||
| # got: /bin/sh: lua.pbc: command not found | 17:18 | ||
| # expected: reached | |||
| In lua t/libops.t | |||
| dukeleto | NotFound: you have some wonkiness happening. which version of parrot + plumage are you using? | ||
| NotFound | dukeleto: I've just pulled plumage right now. | 17:19 | |
| And parrot is from yesterday. | |||
| The funny thing is that executing 'parrot setup.pir test' it fails just one test. | 17:22 | ||
| whiteknight | plumage doesn't have many tests | 17:24 | |
| NotFound | This are lua test failures. | ||
| darbelo | NotFound: You can install lua from the checkout plumage made, just ' parrot setup.pir install' | 17:26 | |
| NotFound | darbelo: I can, but that's not the point. | ||
| I'm not going to write an example that almost no one out of parrot team can try. | 17:27 | ||
| darbelo | I think japhb had implemented skipping of plumage steps a long time ago. | ||
| I'd have to look for a bit. | |||
| NotFound | darbelo: you're right, there is an --ignore-fail option. | 17:30 | |
| darbelo | It also supports JSON config files, but you'll have to dig into the source code to figure out the keys. | 17:33 | |
| We really need to document this stuff. | |||
|
17:36
JimmyZ_ joined
|
|||
| dukeleto | NotFound: so --force is actually called --ignore-fail ? | 17:39 | |
| NotFound | I'm unable to use the compile method on lua. | ||
|
17:39
JimmyZ left,
JimmyZ_ is now known as JimmyZ,
benabik left
|
|||
| dukeleto | NotFound: can you commit that code somewhere? perhaps a branch in parrot.git in the examples/ directory or something? | 17:39 | |
| NotFound | dukeleto: what code? | 17:40 | |
| dukeleto | NotFound: you said you were unable to use the compile method | ||
| NotFound: i assume you are writing code, not executing bytecode in your head :) | |||
| NotFound | dukeleto: I'd like better that someone who knows how lua is supposed to work look at the issue. | 17:41 | |
| Don't like to publish wild guessing as an example. | 17:43 | ||
| Also, I do my tests with winxed. I wrote winxed mostly to avoid having to write that kind of things in pir ;) | 17:45 | ||
| dukeleto | NotFound: i just want to look at the code and see the error output. Is that too much to ask? | 17:47 | |
| NotFound | dukeleto: one second... | ||
|
17:47
fmiju joined
|
|||
| nopaste | "NotFound" at 192.168.1.3 pasted "Failed lua interoprability test" (38 lines) at nopaste.snit.ch/40200 | 17:49 | |
| cotto_work | hi fmiju | 17:52 | |
| fmiju | hi cotto | ||
| dalek | sella: 5056d3d | Whiteknight++ | / (3 files): fix Result and test. Add in a new prototype Asserter class, to act as an OO wrapper around the Assert namespace. Eventually, this will be what we use instead |
18:00 | |
| nxed: r959 | NotFound++ | trunk/examples/nqp.winxed: use a heredoc in example nqp to better readability |
18:01 | ||
| whiteknight | welcome back fmiju | ||
| fmiju | :) | ||
| whiteknight | fmiju: I trust you've done a lot of reading, and come back with lots of interesting questions? | 18:02 | |
| fmiju | I don't know.. I've been thinking, what data structure to use for storing the gathered information. | 18:04 | |
| First I thought about some tree structure. | 18:05 | ||
| whiteknight | that's not really important at this stage. A tree or a stack, or a hash should work fine | ||
| I mean, there are lots of places to store data, lots of ways to store it. It really depends most on what data you are collecting | 18:06 | ||
|
18:07
ShaneC joined
|
|||
| whiteknight | maybe you don't store data at all, but only dump events and timestamps out to a file, and process it later | 18:07 | |
|
18:07
benabik joined
|
|||
| fmiju | oh, I haven't thought about this. | 18:09 | |
| whiteknight | fmiju: see? That's why it's so good to come chat with us. We have lots of ideas | 18:10 | |
| fmiju | I see. | ||
| And like this, the program would run faster, right? | 18:11 | ||
| whiteknight | which program? The profiler or the one being profiled? | 18:12 | |
| fmiju | the one being profiled. | ||
| tadzik | the profiler does not make the programs faster | ||
| whiteknight | what profiling lets us do is identify the "hot spots" | ||
| tadzik | it just tells you, how to make it less slow | ||
| whiteknight | we use the profiler to find out how things are running, and which parts are running the most | 18:13 | |
| atrodo | fmiju> If your question is if doing it whiteknight's way would make the program being profiled faster than your original idea, yes, it would be faster | ||
| whiteknight | it would make the profiler faster, but would require a second step to process the information | 18:14 | |
| fmiju | but there's no difference at the end. | 18:15 | |
| Then, I could read the file, calculate average times | 18:16 | ||
| and find minimums/maximums, if that is needed. | 18:17 | ||
|
18:17
mikehh left
|
|||
| dukeleto | fmiju: welcome | 18:17 | |
| fmiju | Hello, dukeleto | 18:18 | |
| dukeleto | fmiju: you wrote the profiler gsoc proposal, right? | ||
| fmiju | right, that incomplete one. I haven't added proper schedule yet. | 18:20 | |
| dukeleto | fmiju: talking with parrot devs in here will be very beneficial | ||
| fmiju: good luck! | |||
| fmiju | Of couse, it is. Thank you. | 18:21 | |
| cotto_work | seen kid51 | 18:22 | |
| stupid slacker bot | |||
| atrodo | purl-- | ||
| cotto_work | um... dukeleto, seen kid51? | ||
| whiteknight | aloha | 18:23 | |
| dukeleto | cotto_work: not in a few days, but I haven't been around much | ||
| atrodo | (surely, aloha's absence is purl's fault) | ||
| dukeleto | cotto_work: what's up? | ||
| cotto_work | dukeleto: just want to talk about pds scheduling | ||
| (with kid51) | 18:24 | ||
| fmiju: I found a couple sources of documentation for parrot-instrument. | 18:32 | ||
| fmiju: www.parrot.org/content/instrumenting-parrot and parrot.mangkok.com/ | |||
| fmiju | Great! Thank you. | 18:33 | |
| cotto_work | fmiju: you're welcome | ||
| fmiju: that's what you get for hanging out in #parrot. | |||
| ;] | |||
|
18:42
he left
19:08
soh_cah_toa joined
|
|||
| dalek | nxed: r960 | NotFound++ | trunk/winxedst1.winxed: replace some if chains with switch |
19:11 | |
|
19:17
mikehh joined
|
|||
| mikehh | where is aloha? | 19:19 | |
| whiteknight | went out drinking last night, never came back home | 19:22 | |
|
19:26
dmalcolm joined
|
|||
| tadzik | kids these days | 19:31 | |
|
19:37
ambs joined
19:51
fperrad left
19:55
benabik left
20:00
ambs_ joined,
ambs left,
ambs_ is now known as ambs
20:19
whiteknight left
20:27
dodathome left
|
|||
| Andy_ | Today's cool project: embed.cs.utah.edu/csmith/ | 20:29 | |
| They say they need help on their Perl-based test harness for a static analysis tool. | 20:30 | ||
| It's hard to think of a project that is more clearly aimed at me. :-) | |||
| cotto_work | Andy_: indeed | 20:35 | |
| Andy_ | I started looking at making PMCNULL/STRINGNULL be their singleton globals, but we need to define where it's OK to pass a NULL instead of STRINGNULL. | 20:36 | |
| as in, which functions should reasonably take a NULL | |||
| and since there are a number of places that are API, I didn't wnat to do it on my own. | 20:37 | ||
| NotFound | IMO all API functions should allow NULL. | 20:41 | |
| dalek | nxed: r961 | NotFound++ | trunk/winxedst1.winxed: several minor simplifications |
20:46 | |
|
20:54
mj41 left
21:02
theory left
|
|||
| Andy_ | NotFound: and internally convert them to (STRING|PMC)NULL? | 21:13 | |
| NotFound | Andy_: yes | 21:14 | |
| Andy_ | But oly for those flagged PARROT_API | ||
| Will that be surprising? To pass in a NULL and get back a STRINGNULL? | |||
| NotFound | I'm not sure if PARROT_API is used consistently enough right now, but on principle yes. | 21:15 | |
| Andy_ | If it's not PARROT_API, it's not getting put into public headers, as I recall? | 21:16 | |
| NotFound | I think that's the idea, but I'm not sure about the current state of its development. | 21:19 | |
|
21:33
ambs left
|
|||
| Andy_ | I'm pretty sure that the headerizer does that. | 21:36 | |
| But it's been a long time. | |||
|
21:41
Eduardow left
|
|||
| dalek | nxed: r962 | NotFound++ | trunk/winxedst1.winxed: refactor a bit SimpleArgList and its usages |
21:54 | |
|
22:09
Eduardow_ joined
22:20
cxreg2 is now known as cxreg
22:40
aloha joined
22:49
Eduardow_ left
22:52
whiteknight joined
|
|||
| bacek_at_work | aloha, clock? | 23:05 | |
| aloha | bacek_at_work: LAX: Wed, 16:05 PDT / CHI: Wed, 18:05 CDT / NYC: Wed, 19:05 EDT / UTC: Wed, 23:05 UTC / LON: Thu, 00:05 BST / BER: Thu, 01:05 CEST / TOK: Thu, 08:05 JST / SYD: Thu, 09:05 EST | ||
| bacek_at_work | aloha, melange? | ||
| aloha | bacek_at_work: melange is google-melange.com | ||
| bacek_at_work | good girl | 23:06 | |
|
23:12
dmalcolm left
|
|||
| cotto_work | aloha: botsnack | 23:16 | |
|
23:26
Eduardow joined
23:27
dafrito left
|
|||
| whiteknight | plobsing: ping | 23:30 | |
|
23:30
bbatha joined
|
|||
| dalek | rrot/llvm_optin: aa4b5c3 | jkeenan++ | / (2 files): Begin to implement '--with-llvm' as requirement for building with LLVM (TT #2092). |
23:33 | |
| rrot: c5bf220 | Whiteknight++ | src/pmc/fixedfloatarray.pmc: add a get_pointer vtable to FixedFloatArray, so people doing mathish stuff through NCI can get at the underlying storage |
23:36 | ||
| whiteknight has received an email from a person seriously trying to port R to Parrot | 23:39 | ||
| that makes me hapy | 23:44 | ||
| happy | |||
| cotto_work | how far along is the effort? | 23:53 | |