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