|
Parrot 3.10.0 "Apple Pi" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 2 December 2011. |
|||
| whiteknight | good evening, #parrot | 00:02 | |
| sorear | hello | 00:06 | |
| whiteknight | hello sorear, how are you doing? | 00:28 | |
| sorear | ok | 00:32 | |
|
01:26
jsut_ joined,
silug joined
02:11
mspaulding_ joined
03:37
Psyche^ joined
07:56
baest joined
09:27
snearch joined
10:49
mj41 joined
12:22
schmooster joined
12:55
masak joined
|
|||
| masak | in perlcabal.org/syn/S32/Str.html the 'sprintf' function specifies a %C directive (and has from day 1, as far as I know). Rakudo uses Parrot's sprintf function directly, so adding %C would have to be done on the Parrot level. is that feasible? | 12:56 | |
| any obvious blockers for doing that? | 12:57 | ||
| in Rakudo-land, we have a long-standing TODO ticket for %C: rt.perl.org/rt3/Ticket/Display.html?id=60672 | 12:58 | ||
| but it seems to me the implementation would have to be done entirely in Parrot. | |||
|
13:32
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 13:33 | |
| masak | morning, whiteknight | ||
| tadzik | hello | ||
| whiteknight | hello masak, tadzik | 13:35 | |
| masak | whiteknight: you don't happen to know anything about irclog.perlgeek.de/parrot/2011-12-29#i_4894297 , do you? | 13:38 | |
| whiteknight | let me look | 13:44 | |
| masak: Yes, that would probably want to be done at the Parrot level, and no there are no particular blockers that I can see | 13:45 | ||
| Are we sure it doesn't already exist? The sprintf code is a magical haunted castle with secrets and monsters | 13:46 | ||
| masak | well, the error message claims that such a directive does not exist. | 13:49 | |
| whiteknight | okay, that's good enough. Sure, I think we can add it | ||
| how urgent is it? | |||
| masak | not urgent at all. | ||
| whiteknight | my favorite kind :) | ||
| masak | just a nice-to-have, one-step-closer-to-Christmas kind of thing. | ||
| whiteknight | Does take any kind of modifiers or anything? | ||
| masak | does what take any kind of modifiers? %C? | 13:50 | |
| whiteknight | oh, looks like my irc client intercepts that sequence | ||
| yes, C | |||
| masak | it calls the corresponding argument and expects its signature to be $s, *@args | ||
| or $s, *@args is rw to be exact. | 13:51 | ||
| whiteknight | okay | ||
| masak | that is, there's the possibility that the argument list itself is modified by the called function. | ||
| kinda freaky. | |||
| whiteknight | yeah, I would say so | ||
| masak | can't say I've ever felt the need for such a feature :) | ||
| if it were up to me, I'd simply de-spec %C | 13:52 | ||
| whiteknight | I worry about modifying the argument list, because I don't know what kind of creepy mechanisms sprintf is using to store and retrieve arguments | ||
| masak | I would prefer to see DESTROY implemented; another feature where Parrot-Rakudo collab is required. | ||
|
13:52
bluescreen joined
|
|||
| tadzik | oh yes | 13:52 | |
| whiteknight | masak: I'll make a deal with you: If we can get help getting 6model jammed into Parrot, I'll be more than happy to assist with sprintf-C and destroy | 13:53 | |
| actually, I'll be happy to help in any case, but we *really* want 6model | 13:54 | ||
| benabik | Don't we have a destroy vtable, or did I hallucinate that? | ||
| whiteknight | we do, but it does not do what Rakudo needs it to do | ||
| benabik | hm | ||
| whiteknight | specifically, calling a vtable override and doing processing during the destroy vtable is problematic | 13:55 | |
| tadzik | Do any data shut-down and finalization you need to do. To have this method called, you must set the Pobj_custom_destroy_FLAG | ||
| whiteknight | tadzik: yeah, we do have it and we do use it for built-in types. Calling a vtable override and creating PMCs in the middle of the GC is and always has been problematic | 13:56 | |
| And then when you consider that PMCs are collected in memory order, not in dependency order, you can try to finalize a PMC and have all it's attributes already be collected | 13:57 | ||
| I suspect that what we need to do is treat the finalizer as an additional de facto reference | 13:58 | ||
| benabik | If it has a finalizer, add it to the "to be finalized" list and mark it? | 13:59 | |
| masak | whiteknight: I'm with you on the benefits of jamming 6model into Parrot. not only would it help Rakudo-Parrot, but it'd also help Parrot. 6model has turned out to be a lasting, useful model for Rakudo. | 14:00 | |
| whiteknight | Yeah, that's what I'm thinking. If it has a finalizer we mark it and add it to the list. After GC we take the list, execute finalizers, and remove the reference so they get collected next time | ||
| masak | whiteknight: I can't guarantee I'll be able to help much, sadly. got my hands full with Perl 6 and Rakudo... :) | 14:01 | |
| whiteknight | masak: What I'm most interested in is the fact that we can streamline a lot of logic by making 6model *the* object model instead of one that has to be detected | ||
| masak: If you can help plant idea-seeds in jnthn's head that this would be something good to work on soon, that would be help enough! | 14:02 | ||
| masak: I just figured out how to add C and it's a beast. I'll try to do it tomorrow | 14:06 | ||
| ain't no way it's getting done today | |||
| this whole damn subsystem needs to get majorly cleaned | |||
| fun fact: That's my most often-repeated phrase of 2011 | |||
| and 2010, and 2009 | 14:07 | ||
| benabik | cleaned with fire? | ||
| whiteknight | :) | ||
| masak | oh, you expect *jnthn* to give Parrot 6model? | 14:08 | |
| I... I wouldn't count on that happening soon. | |||
| for the simple reason that I've seen jnthn's schedule. | |||
| whiteknight | no, I didn't want jnthn to give it, I would only like his hands around while we try to do it | 14:10 | |
| there will be some bumbling and curse words. Having an expert around would help | 14:11 | ||
| masak | aye. | ||
| that sounds more realistic. | |||
| whiteknight | he has a very busy schedule then? | ||
| masak | admirably so. | ||
| I wish I managed to be half as busy as jnthn. :) | 14:12 | ||
| whiteknight | I wish I could be half as busy as I am | 14:25 | |
|
14:41
schmooster joined
|
|||
| whiteknight | I'm also itching to get my hands on those buffered streams ruoso was talking about for Rakudo | 15:08 | |
| we have lots of rakudo-related stuff to do, which is awesome | |||
| masak | \\o/ | 15:11 | |
|
15:14
mj41 joined
|
|||
| dalek | itor: 2df4bc3 | NotFound++ | examples/pokedit.winxed: centralize font creation in pokedit |
16:12 | |
|
16:35
davidfetter joined
16:46
mj41 joined
17:16
whiteknight joined
17:41
mj41 joined
|
|||
| dalek | itor: 6fbe7f0 | NotFound++ | examples/pokedit.winxed: find dialog in pokedit |
17:47 | |
| cotto | ~~ | 17:57 | |
| whiteknight | hello cotto | 17:58 | |
| dalek | sella/iterable: d62d4c2 | Whiteknight++ | s (5 files): Several fixes and cleanups to iterable. Add in a factory type for sources. Add in a method for Tap |
18:40 | |
| sella/iterable: 38f4d8c | Whiteknight++ | src/ (4 files): Refactor out iterable source common logic into a new base class. Add in on_data and on_iterator methods to mirror what stream has |
|||
| sella/iterable: b55d9a1 | Whiteknight++ | / (3 files): Update Harness to use iterable instead of stream. |
|||
| sella/iterable: 7ce07f8 | Whiteknight++ | src/ (6 files): Completely update Harness to use Iterable instead of Queryable and Stream. Some fixes to bugs found in Iterable during the process |
|||
|
19:21
snearch joined
20:38
PacoAir joined
20:57
PacoAir joined
21:41
mj41 joined
22:27
alvis joined
22:40
preflex_ joined
|
|||
| dalek | kudo/nom: e6fee1b | util++ | docs/announce/2011.12: [docs] Fix typo |
22:45 | |
|
22:50
contingencyplan joined
23:37
jsut joined
|
|||