Camelia, the Perl 6 bug

IRC log for #parrot, 2011-12-29

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:02 whiteknight good evening, #parrot
00:06 sorear hello
00:28 whiteknight hello sorear, how are you doing?
00:32 sorear ok
01:26 jsut_ joined #parrot
01:26 silug joined #parrot
02:11 mspaulding_ joined #parrot
03:37 Psyche^ joined #parrot
07:56 baest joined #parrot
09:27 snearch joined #parrot
10:49 mj41 joined #parrot
12:22 schmooster joined #parrot
12:55 masak joined #parrot
12:56 masak in http://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:57 masak any obvious blockers for doing that?
12:58 masak in Rakudo-land, we have a long-standing TODO ticket for %C: https://rt.perl.org/rt3/Ti​cket/Display.html?id=60672
12:58 masak but it seems to me the implementation would have to be done entirely in Parrot.
13:32 whiteknight joined #parrot
13:33 whiteknight good morning, #parrot
13:33 masak morning, whiteknight
13:33 tadzik hello
13:35 whiteknight hello masak, tadzik
13:38 masak whiteknight: you don't happen to know anything about http://irclog.perlgeek.de/p​arrot/2011-12-29#i_4894297 , do you?
13:44 whiteknight let me look
13:45 whiteknight 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:46 whiteknight Are we sure it doesn't already exist? The sprintf code is a magical haunted castle with secrets and monsters
13:49 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
13:49 whiteknight how urgent is it?
13:49 masak not urgent at all.
13:49 whiteknight my favorite kind :)
13:49 masak just a nice-to-have, one-step-closer-to-Christmas kind of thing.
13:49 whiteknight Does  take any kind of modifiers or anything?
13:50 masak does what take any kind of modifiers? %C?
13:50 whiteknight oh, looks like my irc client intercepts that sequence
13:50 whiteknight yes, C
13:50 masak it calls the corresponding argument and expects its signature to be $s, *@args
13:51 masak or $s, *@args is rw to be exact.
13:51 whiteknight okay
13:51 masak that is, there's the possibility that the argument list itself is modified by the called function.
13:51 masak kinda freaky.
13:51 whiteknight yeah, I would say so
13:51 masak can't say I've ever felt the need for such a feature :)
13:52 masak 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
13:52 masak I would prefer to see DESTROY implemented; another feature where Parrot-Rakudo collab is required.
13:52 bluescreen joined #parrot
13:52 tadzik oh yes
13:53 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:54 whiteknight 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?
13:54 whiteknight we do, but it does not do what Rakudo needs it to do
13:54 benabik hm
13:55 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
13:56 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:57 whiteknight 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:58 whiteknight I suspect that what we need to do is treat the finalizer as an additional de facto reference
13:59 benabik If it has a finalizer, add it to the "to be finalized" list and mark it?
14:00 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
14:01 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
14:02 whiteknight 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:06 whiteknight masak: I  just figured out how to add C and it's a beast. I'll try to do it tomorrow
14:06 whiteknight ain't no way it's getting done today
14:06 whiteknight this whole damn subsystem needs to get majorly cleaned
14:06 whiteknight fun fact: That's my most often-repeated phrase of 2011
14:07 whiteknight and 2010, and 2009
14:07 benabik cleaned with fire?
14:07 whiteknight :)
14:08 masak oh, you expect *jnthn* to give Parrot 6model?
14:08 masak I... I wouldn't count on that happening soon.
14:08 masak for the simple reason that I've seen jnthn's schedule.
14:10 whiteknight no, I didn't want jnthn to give it, I would only like his hands around while we try to do it
14:11 whiteknight there will be some bumbling and curse words. Having an expert around would help
14:11 masak aye.
14:11 masak that sounds more realistic.
14:11 whiteknight he has a very busy schedule then?
14:11 masak admirably so.
14:12 masak I wish I managed to be half as busy as jnthn. :)
14:25 whiteknight I wish I could be half as busy as I am
14:41 schmooster joined #parrot
15:08 whiteknight I'm also itching to get my hands on those buffered streams ruoso was talking about for Rakudo
15:08 whiteknight we have lots of rakudo-related stuff to do, which is awesome
15:11 masak \o/
15:14 mj41 joined #parrot
16:12 dalek Guitor: 2df4bc3 | NotFound++ | examples/pokedit.winxed:
16:12 dalek Guitor: centralize font creation in pokedit
16:12 dalek Guitor: review: https://github.com/NotFoun​d/Guitor/commit/2df4bc3312
16:35 davidfetter joined #parrot
16:46 mj41 joined #parrot
17:16 whiteknight joined #parrot
17:41 mj41 joined #parrot
17:47 dalek Guitor: 6fbe7f0 | NotFound++ | examples/pokedit.winxed:
17:47 dalek Guitor: find dialog in pokedit
17:47 dalek Guitor: review: https://github.com/NotFoun​d/Guitor/commit/6fbe7f0f1f
17:57 cotto ~~
17:58 whiteknight hello cotto
18:40 dalek Rosella/iterable: d62d4c2 | Whiteknight++ | s (5 files):
18:40 dalek Rosella/iterable: Several fixes and cleanups to iterable. Add in a factory type for sources. Add in a method for Tap
18:40 dalek Rosella/iterable: review: https://github.com/Whiteknig​ht/Rosella/commit/d62d4c2f49
18:40 dalek Rosella/iterable: 38f4d8c | Whiteknight++ | src/ (4 files):
18:40 dalek Rosella/iterable: Refactor out iterable source common logic into a new base class. Add in on_data and on_iterator methods to mirror what stream has
18:40 dalek Rosella/iterable: review: https://github.com/Whiteknig​ht/Rosella/commit/38f4d8c568
18:40 dalek Rosella/iterable: b55d9a1 | Whiteknight++ | / (3 files):
18:40 dalek Rosella/iterable: Update Harness to use iterable instead of stream.
18:40 dalek Rosella/iterable: review: https://github.com/Whiteknig​ht/Rosella/commit/b55d9a1212
18:40 dalek Rosella/iterable: 7ce07f8 | Whiteknight++ | src/ (6 files):
18:41 dalek Rosella/iterable: Completely update Harness to use Iterable instead of Queryable and Stream. Some fixes to bugs found in Iterable during the process
18:41 dalek Rosella/iterable: review: https://github.com/Whiteknig​ht/Rosella/commit/7ce07f8785
19:21 snearch joined #parrot
20:38 PacoAir joined #parrot
20:57 PacoAir joined #parrot
21:41 mj41 joined #parrot
22:27 alvis joined #parrot
22:40 preflex_ joined #parrot
22:45 dalek rakudo/nom: e6fee1b | util++ | docs/announce/2011.12:
22:45 dalek rakudo/nom: [docs] Fix typo
22:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e6fee1b664
22:50 contingencyplan joined #parrot
23:37 jsut joined #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced