|
Parrot 2.9.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | remove deprecations | volunteer for embedding or Lorito teams | Set by moderator on 26 October 2010. |
|||
|
00:00
integral joined
|
|||
| dalek | rrot: r49729 | jkeenan++ | branches/gcc_defines/config/auto/gcc.pm: If C compiler is gcc, capture the 'defines' and make them available to Parrot |
00:02 | |
| cotto is confused by the triple baceks | 00:03 | ||
| bacek_mobile | Cotto, perfectly. | 00:04 | |
| Cotto, i'm in rta trying to register my bike. Loooong queue... | 00:05 | ||
| cotto | bacek_mobile, that's good. That'll mean we don't need to care about any migrating existing pasm code. | ||
| bacek_mobile | Cotto, actually, i think pirate can parse whole pasm already. | 00:06 | |
| Indeed | |||
| Pir is just pasm with a lot of sugar | |||
| Pirate desugarize it during parsing | |||
| cotto | aloha, msg mikehh There's no need to convert any PASM tests to PIR. PIRATE will handle PASM just fine. | 00:07 | |
| aloha | cotto: OK. I'll deliver the message. | ||
| cotto | I have memories of working with some of the desugaring code. I'm looking forward to hacking on that again. | ||
| bacek_mobile | Go for it :) | ||
| cotto | The Packfile PMCs need some love first, and apparently pcc hates me. | 00:08 | |
| That'll be good for tomorrow. | |||
| opmap_aware_pmcs branch, if you want to give it an eyeball | 00:09 | ||
| something causes Parrot_pcc_invoke_method_from_c_args to explode from within get_pointer | 00:10 | ||
| in PackfileBytecodeSegment | 00:11 | ||
|
00:12
silug joined,
bacek_mobile left
|
|||
| kid51 | msg dukeleto dukeleto wrote: "kid51: why are you not in #rtems?" Because I have a $dayjob and responsibilities and can't sit on IRC all day like all you 'consultants'! | 00:15 | |
| aloha | OK. I'll deliver the message. | ||
| dukeleto | kid51: i have a day job too. It is called "time management" | 00:16 | |
| sorear | so uh how are we going to get CLAs for the GCI? | ||
| dukeleto | sorear: those aren't needed | ||
| sorear: at least not for all tasks | 00:17 | ||
| sorear: someone who has a CLA can commit it, citing the student who worked on it outside of core | |||
| sorear: they can just commit to a mirror on github or whatever | |||
| sorear: i will verify that that is ok, but i think it is. | |||
| cotto is interviewing for a job on Tuesday where they're apparently cool with me idling on irc. | 00:18 | ||
| dukeleto | cotto: i can't wait :) | 00:19 | |
| sorear | cotto_at_work eh? | 00:20 | |
| cotto | Yeah. That guy might be back | 00:21 | |
|
00:26
Limbic_Region joined
|
|||
| Limbic_Region | Does the roadmap exist anywhere in regular english prose? I could only find trac.parrot.org/parrot/roadmap | 00:26 | |
| oh, and according to trac - several milestones are late | 00:27 | ||
| cotto | Limbic_Region, which roadmap? | ||
| sorear | that's not a roadmap. | ||
| there is no roadmap except #parrotsketch | |||
| cotto | There's one for Lorito. | ||
| sorear, if you're bored, you can take a look at PIRATE. | 00:28 | ||
| If you're from the Rakudo world, you might feel at home. It's mostly nqp. | |||
| Limbic_Region | sorear - I distinctly remember reading that there was a meeting of the minds and a road map was drawn up | ||
| and if you look at the trac road map - some of the major milestones are listed | |||
| kid51 | And we *ought* to be updating our roadmap at our online developer summit on Sunday November 7! | 00:29 | |
| Limbic_Region | Parrot 2.6 portability | ||
| Parrot 3.0 Independence | |||
| with the goal of removing p5 dependency | |||
| cotto | github.com/parrot/pir <-PIRATE | ||
| Limbic_Region, those goals are in need of revisiting. | |||
| kid51 | Limbic_Region: What are your specific concerns? | 00:30 | |
| Limbic_Region | kid51 - two concerns | ||
| cotto | please share | ||
| I'd say "your concerns are important to us", but you might think I'm a bot. ;) | 00:31 | ||
| sorear | Limbic_Region: We draw up roadmaps at the weekly #parrotsketch meeting, but they aren't formalized | ||
| Limbic_Region | sorear - I am talking history here - probably when parrot started releasing monthly in fact | ||
| kid51 | ... which we continue to do | 00:32 | |
| Limbic_Region | right | ||
| kid51 | ... and which was evidence used to support Perl 5's move to monthly releases | ||
| sorear | cotto: I have no coding tuits this week; anything in particular you want me to think about, or what? | ||
| Limbic_Region | the first concern is about perception - when someone says when is parrot going to have X and we can point to the plan and say - it is planned on X though that is always subject to change | ||
| the second concern is - it looks like the big plan isn't being updated in a way the casual observer can pay attention | 00:33 | ||
| cotto | sorear, no. I was just suggesting that it'd be good to get familiar with it. It'll eventually become our default PIR compiler, so we'd do well to have lots of people familiar with it. | ||
| It's also quite well designed. | |||
| kid51 | Limbic_Region: As mentioned, we have an online developer summit in 9 days. | 00:34 | |
| the previous roadmap, for better or worse, was drawn up at the corresponding summit a year ago. | |||
| sorear | cotto: is PIR still intended to be the default wire format for offline compilers? | ||
| Limbic_Region | kid51 - 1 recommendation then for this year | ||
| sorear | has it been a whole year? | 00:35 | |
| ISTR being present at that one, and I didn't join the Rakudo/Parrot community until shortly after the ng merge | |||
| cotto | sorear, no. That'll be Lorito bytecode. | ||
| kid51 | sorear: 11 months since the one at which we last touched the roadmap intensively | ||
| Limbic_Region | make the resulting road map for the next year readable to the casual observer - reading trac tickets to figure out what is planned when is not something I would expect someone who is only willing to invest 10 minutes to do | ||
| kid51 | I believe we had another online summit in April | ||
| cotto | . o O (so many concurrent threads) | ||
| Limbic_Region | See www.parrot.org/news/vision-for-1_0 for an example of what I mean | 00:36 | |
| sorear | cotto: can lorito bytecode be sanely generated from Perl 5? | ||
| kid51 | Limbic_Region: We've certainly had a lot of discussion about the state of Parrot recently. | ||
| cotto | When Lorito and a Perl 5 compiler exist, sure. | ||
| kid51 | Cf blogs on planet.parrotcode.org from Sept 1 onwards. | 00:37 | |
| cotto | Right now, no. | ||
| sorear | I have an existing compiler (~12,000 lines of Perl 5, using ~70,000 more lines of gneerated) code | ||
| I'd like to try and make it target Parrot | |||
| kid51 | So we're well aware of the need to discuss our future plans | ||
| Limbic_Region | kid51 - well, I have lost touch and haven't contributed in years but when someone was asking something I was sure I could go point to and say - right there, that's when it is planned and couldn't find it - I was thinking perhaps it had gotten lost | ||
| kid51 | Limbic_Region Is there some way in which you can contribute to Parrot? | ||
| cotto | sorear, PIR would be best for now. Our long-term plan is to keep compatibility so that existing PIR will run as now, but be compiled down to Lorito. | ||
| Limbic_Region | kid51 - the website is great by the way - just the one thing I was looking for I couldn't find | ||
| sorear | PONIE is dead. Should I write Parrot::LoritoPBC and upload it to CPAN? | ||
| Limbic_Region | kid51 - I used to be THE cygwin guinea pig, bug finder, etc | 00:38 | |
| sorear | ok. | ||
| kid51 | Limbic_Region Well, I'm sure we have many cygwin Trac tickets open :-) | ||
| Limbic_Region | kid51 - I also contributed some benchmarking code that is probably still part of the trunk | ||
| cotto | If you target PIR, we'll try hard to make sure we don't break your code. At the very least, we'll provide a well-defined upgrade path. | ||
| Limbic_Region | kid51 - but no, I no longer have time to contribute in any meaningful way | ||
| I don't even lurk anymore | |||
| kid51 | Limbic_Region Yes, I recall seeing you here 2-3 years back, but not recently. | 00:39 | |
| Time: major impediment to all-volunteer open-source projects | |||
| sorear | he has a slavorg bit, that counts for something | ||
| Limbic_Region | Elian (Dan) handed that to me a long long time ago in a galaxy far far away | 00:40 | |
| kid51 never knew Dan as Elian ... only as Dan | |||
| kid51 is trying to reach Dan to go out for dinner | 00:41 | ||
| cotto never knew Dan, other than reading his blog posts | |||
| They're what convinced me that it's a good idea for Parrot hackers to blog about what they're doing. | |||
| Limbic_Region | kid51 - he still live in Connecticut? | ||
| sorear | Dan Sugalski, the guy whose parrot design we've been throwing out one piece at a time? | ||
| cotto | sorear, yes. That one. | ||
| kid51 | sorear Careful, he's a friend of mine ;-) | ||
| Limbic_Region: I believe so | 00:42 | ||
| cotto | You don't know what you want until you've implemented something isn't it. | ||
| Limbic_Region | kid51 - I didn't know he went by anything other than Elian in #parrot | ||
| kid51 | Limbic_Region But I wasn't in Parrot project when he was. Knew him mainly from YAPCs and Perl Seminar NY | 00:43 | |
| Limbic_Region | anyway - I am just making a suggesting regarding road map planning - even if it is only for 6 months in the future - make it easy for the very casual observer to read about | ||
| sorear - did you ever read Dan's Post Mortem? | 00:44 | ||
| tadzik | g'night parrots | ||
| cotto | g'night tadzik | 00:45 | |
|
00:45
tadzik left
|
|||
| kid51 | Limbic_Region We'll try that. For the first time, we are trying to have a Product Manager and team, and they will be very concerned with shaping perceptions of Parrot | 00:45 | |
| Limbic_Region | well, the biggest obstacles in my mind (right or wrong) are two fold | 00:46 | |
| explaining why after 10 years it isn't production ready | |||
| and why there isn't a single language I can write in that targets the VM that runs as fast as it does natively | |||
| I don't need you to address them, I understand that many of the issues that were around years ago are still being worked through | 00:47 | ||
| I am just talking about public perception - I do still lurk in other venues and those are the things I hear being said | |||
| sorear - the post mortem if you are intersted - www.sidhe.org/~dan/blog/archives/000435.html | |||
| kid51 | Limbic_Region Your concerns are shared. See those planet blogs mentioned earlier. | 00:56 | |
| atrodo | fascinating... | 00:58 | |
| dukeleto | Limbic_Region: what does "production" mean? | ||
| kid51 | If we could capture all the person-years spent bloviating on "why after 10 years ...", we'd be a year farther ahead ;-) | 00:59 | |
| dukeleto | kid51: exactly. | ||
| Complaining accomplishes nothing. | 01:00 | ||
| kid51 | IIRC, chromatic had a good blog post several months back on why it's a waste of time to pay attention to such people. | ||
| It's a distraction from doing the work. | |||
| atrodo | it's good to listen to some complaining, but there's certainly a point when it becomes counter productive | 01:01 | |
| and that point is sooner rather than later | |||
| kid51 | On my day job a few weeks back, someone (who may or may not have known I was associated with Parrot) said on the internal Tech chat, "Well it may have been a good idea back in 2001 ..." | ||
| And what has that guy done to contribute since 2001? Nada | 01:02 | ||
| atrodo | kid51> it's an even better idea in 2010 | ||
| kid51 | And, speaking of getting back to the work ... | 01:03 | |
| kid51 goes to buy beer. | |||
| cotto | Limbic_Region, thanks for the thoughts. If you have a blog, feel free to expand on them there and post a link on parrot-dev. | 01:04 | |
| atrodo | I've read through some of Dan's stuff. I've always wondered what he though of parrot today | 01:06 | |
|
01:26
estrabd left
|
|||
| sorear | Limbic_Region: yes, the post mortem is what i use when people make the "10 years" remark | 01:26 | |
| I just tell them that 8 of the 10 were wasted on politicking by people who are no longer involve | |||
| d | |||
|
01:39
dngor left
01:43
patspam left
02:08
dngor joined
02:29
kid51 left
03:11
tcurtis joined
03:49
lucian left
05:07
Limbic_Region left
|
|||
| dalek | rrot: r49730 | plobsing++ | branches/gsoc_nci (4 files): switch ffi nci.pmc over to standard signature parser |
06:14 | |
| rrot: r49731 | plobsing++ | branches/gsoc_nci (2 files): remove old libffi signature parser |
06:29 | ||
| rrot: r49732 | plobsing++ | branches/gsoc_nci/src/pmc/nci.pmc: eliminate some unnecessary attributes |
|||
| rrot: r49733 | plobsing++ | branches/gsoc_nci (2 files): clean up coda a little |
|||
|
06:35
fperrad joined
06:43
fperrad_ joined
06:45
fperrad left,
fperrad_ is now known as fperrad
07:26
contingencyplan left
07:27
contingencyplan joined
07:29
contingencyplan left
07:32
contingencyplan joined
07:59
tadzik joined
|
|||
| tadzik | hello | 07:59 | |
|
08:02
plobsing left
08:36
dalek left
08:37
dalek joined
09:22
jsut_ joined
09:27
jsut left
10:04
tadzik left
11:01
tadzik joined
11:38
dngor_ joined,
dngor left
11:43
dngor joined
11:44
dngor_ left
12:04
lucian joined
12:06
dngor_ joined
12:07
dngor left
12:11
fperrad left
12:23
dngor joined
12:28
dngor_ left
12:35
dngor left,
dngor joined
12:44
kid51 joined
12:48
whiteknight joined
|
|||
| kid51 | Good morning, whiteknight | 12:52 | |
| whiteknight | Hello kid51 | 12:55 | |
| kid51 | whiteknight Did you backscroll thru Tuesday's #parrotsketch and see what happened team-wise? | 12:56 | |
| whiteknight | I think so | ||
| kid51 | Because I think one of the team/task forces 'formed' falls into the product management area. | 12:57 | |
| whiteknight | ok | 13:04 | |
| kid51 | tadzik ping | 13:29 | |
|
13:39
kj joined
13:41
fperrad joined
|
|||
| tadzik | kid51: pong | 13:50 | |
| kid51 | tadzik: I just sent to list a reply to your post | 13:56 | |
| tadzik | kid51: I'm just replying to whiteknight++ | ||
| kid51 | whiteknight: Check your mail and recruit tadzik to your team! | 13:57 | |
| tadzik | I'll read your mail first | ||
| kid51 | Ah, he beat me to it by one minute! | ||
| whiteknight focuses more on preparing for a GSOC project; my post focuses more on where parrot can use you right now | 13:58 | ||
| mix and match | |||
| tadzik | kid51: Lorito sounds tempting to me | 13:59 | |
| kid51 | Well, it's not like you have to choose one area over the other. | 14:00 | |
| tadzik | well, I can't learn everything at once :) | ||
| kid51 | But given that most people have time constraints, it's helpful to choose | ||
| I'm sure whiteknight will give you a good pitch about the areas he's working on :-) | 14:01 | ||
| tadzik | just replied | 14:02 | |
| bah, accidentally sent it to whiteknight only | 14:03 | ||
|
14:04
lucian_ joined
|
|||
| tadzik | fixed my mistake | 14:04 | |
|
14:07
lucian left
|
|||
| kid51 | Got it | 14:10 | |
| tadzik You are correct in identifying all those areas as "Big Things" in need of attention ... | 14:11 | ||
| ... but right now we're trying out a concept of working on teams and having "task forces" focusing on certain issues. | 14:12 | ||
| tadzik | yeah, I remember reading about it somewhere | ||
| kid51 | My hunch is that if you worked with cotto on Lorito, the two of you (plus chromatic, sorear and others who are interested in Lorito) could accomplish more than if you were, say, the only person currently working on non-blocking I/O. | 14:13 | |
| You'd be working more closely with skilled programmers who can point you in the right direction with respect to learning the internals. | 14:14 | ||
| whiteknight | tadzik: what kinds of areas are you personally interested? | ||
| tadzik | great :) | 14:15 | |
| whiteknight: Lorito sounds like fun | |||
| whiteknight | Parrot is a big system and has lots of interesting subsystems | ||
| tadzik: non-blocking and async IO would be a great addition | |||
| tadzik | whiteknight: the problem is I have very little experience with things like implementing a virtual machine, so I'm looking for a field that won't be too mysterious to me | 14:16 | |
|
14:16
patspam joined
|
|||
| whiteknight | tadzik: very little in Parrot is specific to "virtual machine" software. Most things in Parrot will be similar to the same subsystems in other projects | 14:17 | |
| tadzik | I see. Well, when I was writing stuff for Rakudo it wasn't compiler-specific stuff too | 14:18 | |
|
14:19
mikehh left
14:23
fperrad left
14:44
contingencyplan left
14:49
muixirt joined
15:09
fperrad joined
15:29
kj left
15:33
tadzik left
|
|||
| kid51 | msg tadzik Also see this recent blogpost from cotto: reparrot.blogspot.com/2010/10/parro...arios.html | 15:36 | |
| aloha | OK. I'll deliver the message. | ||
| muixirt | big tasks, kid51 | 15:40 | |
| kid51 | muixirt Well, tadzik *did* say he was looking for something to do, so ... | 15:48 | |
| muixirt: Can we interest you in any of our teams or tasks? | |||
| muixirt | kid51: is there any team or task for someone with a complete lack of skills? | 15:50 | |
| kid51 | Let me ask, what interests you about the Parrot project? | ||
| muixirt | I have some interest in programming languages and I'm interested in low level things | 15:52 | |
| but I am mostly a clueless lurker | 15:53 | ||
| kid51 | msg dukeleto I'd love to comment on your blog post, but you're using Movable Type ... which requires me to have a password to sign in ... and requires me to remember a password recovery phrase if I've forgotten the password. But what if I've also forgotten the password recovery phrase? I'm screwed | 16:02 | |
| aloha | OK. I'll deliver the message. | ||
| kid51 | msg dukeleto In any case, on Dynamic Languages Interoperability: I know allison knows a lot about current state of this problem. Could you put together with her a post about this issue? Thanks. | 16:04 | |
| aloha | OK. I'll deliver the message. | ||
|
16:04
kid51 left
16:33
jsut joined
16:37
jsut_ left
|
|||
| cotto | ~~ | 16:50 | |
|
16:57
mikehh joined
|
|||
| dukeleto | whiteknight: ping | 17:06 | |
| whiteknight | pong | ||
| dukeleto | whiteknight: please use the task template on trac.parrot.org/parrot/wiki/GoogleC...n2010Tasks | 17:07 | |
| whiteknight: i see more tasks from you, but not following the template. we need waaaaay more details in those tasks, which is why there is a task template | 17:08 | ||
| whiteknight | okay | ||
| dukeleto | kid51: if you want to comment on my blog, there is openid, otherwise i don't allow commenting | ||
| kid51: i don't do login/pass stuff for comments. So if you forgot your passwords, that really isn't my problem. | 17:09 | ||
| whiteknight: thanks! | 17:11 | ||
| whiteknight: even if you need to leave some stuff blank, that is OK | |||
| whiteknight: and thank you again for adding tasks and getting stuff done. I really appreciate it. | 17:17 | ||
|
17:19
contingencyplan joined
|
|||
| dalek | rrot: r49734 | chromatic++ | branches/gc_ms2_sf: Experimenting with sweep-free GC MS2 |
17:21 | |
| dukeleto | Please announce if you are editing the code-in wiki page in here. | 17:33 | |
| Yes, we have devolved to this, because our wiki doesn't announce stuff in here, and I keep getting conflicts. | |||
| dukeleto complains some more about our current wiki | 17:34 | ||
| whiteknight | I thought our wiki did announce things in here? | 17:40 | |
| dukeleto | whiteknight: not for a long while. it broke | 17:41 | |
| whiteknight: i have been editing the wiki dozens of times since yesterday | |||
| whiteknight: it no longer announces wiki changes in here | |||
| whiteknight | damnit | ||
| cotto | That'd be really nice to get back. | 17:42 | |
| whiteknight | I do agree about the shittacularness of the Trac wiki | 17:43 | |
| nopaste | "cotto" at 192.168.1.3 pasted "list of PMCs sorted by test coverage" (85 lines) at nopaste.snit.ch/25050 | ||
| whiteknight | as a frequent MediaWiki user and developer, the Trac wiki leaves a lot to be desired | ||
| cotto | It's nice to see that list of PMCs at the bottom with 100% coverage. | 17:44 | |
| dukeleto | indeed it is. | 18:08 | |
| cotto | I'm trying to get coverage on the one line of FIA that's not covered and I think I'm running into a bug. | 18:12 | |
| Tene | dukeleto: you should add that request to the wiki page. | ||
| ;) | |||
| dukeleto | Tene: you so funny :P | ||
|
18:38
radu_ joined
|
|||
| dukeleto | perlfoundation.org says "Carries the legal responsibility for Perl 5, Perl 6 and Parrot" | 18:38 | |
| is that true? | |||
| what does Parrot Foundation do, then? Eat chopped liver? | |||
|
18:40
radu_ left
|
|||
| szbalint | with pickles. | 18:43 | |
| cotto | Parrot/Pickle Foundation | 18:46 | |
| dukeleto just created #gci on irc.perl.org | 18:48 | ||
| join that if you want to talk about gci-related things | |||
| i will only post announcements in here, I don't want to flood the channel with GCI-related stuff | 18:49 | ||
|
18:49
x3nU left
|
|||
| dukeleto | Our task list need to be sorted by difficulty level. | 18:50 | |
|
18:50
Andy joined,
x3nU joined
|
|||
| cotto | seen chromatic | 19:04 | |
| aloha | chromatic was last seen in #parrot 2 days 12 hours ago saying "Now clap your hands to bring Tinkerbell back to life.". | ||
| dukeleto | cotto: howdy | 19:15 | |
| cotto: what goes? | |||
| dukeleto is pushing magic buttons and finishing the Google Code-In application | 19:16 | ||
| cotto: you have any ideas for Code-In ? | |||
|
19:17
dngor left
|
|||
| cotto | dukeleto, none other than increasing PMC test coverage. | 19:20 | |
| I have a partially completed list of which PMCs I think will be suitable for gci. | |||
| dukeleto | cotto: awesome! | 19:27 | |
| dukeleto just submitting the GCI application | |||
| submitted, even | |||
| cotto | I put the task on the wiki and will add the list of PMCs once I get the inappropriate ones weeded out | 19:36 | |
| dukeleto | cotto: thanks for working on that. | 19:37 | |
| muixirt | GCI task: provide a better example for embedding Parrot? | ||
| dukeleto | muixirt: too ambiguous | 19:38 | |
| muixirt: we need very very very specific tasks that take a few weeks for a 13-18 yr old student | |||
| come join #gci if you want to help | |||
|
19:42
chromatic joined
19:50
chromatic left,
chromatic joined
19:53
patspam left
|
|||
| cotto | atrodo, ping | 19:54 | |
|
19:54
patspam joined
|
|||
| cotto | whiteknight, ping | 19:55 | |
| whiteknight | pong | ||
| cotto | does your blog post on Lorito (wknight8111.blogspot.com/2010/07/lo...sign.html) do a good job of covering your unanswered questions on its design? | 19:56 | |
| whiteknight | I have to re-read it | 19:57 | |
| cotto | ok | 19:58 | |
| dukeleto | i want to create projects to translate parrot.org into many languages | 20:06 | |
| do we have internationalization support on parrot.org ? | |||
| can our current infrastructure even handle it? | 20:07 | ||
| cotto | there's probably a drupal plugin for it' | ||
| dukeleto | s/projects/tasks/g | ||
| cotto: who do we bug about it? | |||
| cotto | we probably need to find a plugin for whatever version of drupal parrot.org runs and get osuosl to install it | 20:08 | |
|
20:35
fperrad left
20:45
theory left
20:46
theory joined
|
|||
| cotto | sorear, ping | 20:49 | |
| sorear | cotto: pong | 20:50 | |
| cotto | sorear, see privmsg | 20:51 | |
|
21:06
dngor joined
21:07
Andy left
|
|||
| atrodo | cotto> pong | 21:11 | |
| cotto | atrodo, in your gist you said "I'm not entirely convinced that I need the vtable pointer." What do you mean by that? | 21:12 | |
| gist.github.com/raw/650578/c844c296...tfile1.txt | |||
|
21:13
whiteknight left
|
|||
| atrodo | in the back of my mind, i think we might be able get away with having the lookup callable bind the vtable via closure or something similar | 21:13 | |
| not sure it's a good idea, but it was the idea | |||
| cotto | sounds like it's not a fundamental design question as much as an optimization | 21:14 | |
| or something we can work on once we have an object model that nobody objects to | 21:15 | ||
| jnthn_ | One of the things I've realized from working on 6model is that if you do representation polymorphism in a deep way, you can expose everything as a first class object while still having freedom to use memory within the object in ways that specifically suit the VMs internal data structures. | ||
| atrodo | cotto> exactly | 21:17 | |
| jnthn_> that sounds fascinating, and I'm sure I don't know what you said | 21:18 | ||
| cotto | jnthn_, were you among the people who had reservations about using the P&W object model for PMCs? | ||
| cotto isn't sure either | |||
| I'd like to know what alternatives, changes or shortcomings you see in it if so. | 21:19 | ||
| sorear | P&W? | 21:21 | |
| jnthn_ | cotto: If you didn't see them yet, I explained quite a few things in this area in 6guts.wordpress.com/2010/10/15/slid...ymorphism/ and the slides that are linked from there. | ||
| TimToady | Pratt & Whitney | ||
| cotto | aloha, P&W? | ||
| aloha | cotto: I have no idea. | ||
| cotto | TimToady, that | 21:22 | |
| 'd be a very fast parrot | |||
| jnthn_, thanks | |||
| I hadn't seen that. | |||
| jnthn_ | cotto: There's certainly P&W-ish aspects in that every object has an initial pointer off to something that implements a common interface. | ||
| atrodo | aloha p&w is tinyurl.com/23dfwut | 21:23 | |
| aloha | atrodo: Okay. | ||
| cotto | atrodo++ | ||
| jnthn_ | IIUp&wC, it gives the same kind of benefits in that you can lay out an object as you want and then the thing pointed to implements some common API. | 21:24 | |
| atrodo | simple, i asked purl for it and told aloha :D | ||
| jnthn_ | But in 6model, the representation API and HOW API are made distinct. | 21:25 | |
| In the 6model on .Net implementation, most things (captures, code objects at the level Parrot has Sub PMCs, lists, hashes) are first class objects, but also each use a specialized underlying representation. | 21:27 | ||
|
21:27
stilgar joined
|
|||
| jnthn_ | There's quite a few bits to go yet. But I've been quite happy how things have gone with this model so far. | 21:27 | |
| cotto | So you'd like to see something that separates those concerns better than p&w does? | 21:31 | |
| jnthn_ | As a Perl 6 implementer, yes. If it's not provided at Parrot level, NQP and Rakudo will have to invent it, which is what I'm on with in the nom branch of nqp-rx. | 21:33 | |
| But from working on the .Net runtime layer for NQP, I'm also starting to feel that it's useful to have such a thing fairly deep. | 21:35 | ||
| atrodo | in my lorito prototype, i took p&W a step father and basically said that it's your (the pmc/object creator) responsibility to do the method lookup. it is completly hands off on the layout and operation of objects | ||
| jnthn_ | Oh, those certainly should be handed off rather than "innate" | 21:36 | |
| What 6model then adds to that is "and we split the API into two parts" | |||
| The object's memory layout is no concern when it comes to method dispatch, for example. | 21:37 | ||
| Well, OK, it may be if you're implementing prototype OO, but presumably the meta-object then demands that all types use a specific representation. | |||
| But generally the methods don't live in the object, but rather in the meta-object. | 21:38 | ||
| atrodo | Sounds interesting | 21:39 | |
| jnthn_ | github.com/perl6/nqp-rx/blob/nom/sr...lassHOW.pm is an example of such a meta-object. | 21:40 | |
|
21:40
stilgar left
|
|||
| jnthn_ | That one implements the semantics of classes. | 21:40 | |
| atrodo | sounds interesting, and sounds like i'd need some time to digest | ||
| jnthn_ | As an example of "the other piece", see github.com/perl6/nqp-rx/blob/nom/sr...P6opaque.c which is an example of a representation. | 21:41 | |
| cotto | Mmmmm. Meta. | ||
| jnthn_ | atrodo: Yes, there's...quite a bit of stuff. | 21:43 | |
| cotto | Having some basic idea of what P6opaque is makes it much easier (i.e. possible) to understand. | 21:44 | |
| jnthn_ | cotto: Aye. It's just the name of one thing that implements the REPR API. | 21:46 | |
| And happens to be the default layout that Perl 6 objects use. | |||
| The implementation I just linked to will get more complex later on since it needs to also learn to support "inlining" native types too. | 21:47 | ||
|
21:47
stilgar joined
|
|||
| cotto | jnthn_, are there any other systems that do a good job of separating representation from the other bits? | 22:05 | |
| jnthn_ | A comment left on my blog said Ada did this. There's some stuff in at least one meta-model paper out there - I think the one that is an extract from "The Art of the Meta-object Protocol". | 22:07 | |
| And then there's Perl 5. :-) | |||
| (To a lesser degree.) | |||
| (Though it does, after all, let you bless various data structures into the same package.) | |||
| cotto | So it's been done before, but it's not at all common? | 22:08 | |
| jnthn_ | I think it's fair to say that most languages don't need/expose it. | 22:09 | |
| As I mentioned though, I think there are VM implementation benefits as well as enabling it for langauges. | |||
| cotto | I get the feeling I'll be spending a lot of time reading your blog in the near future. | 22:10 | |
| jnthn_ | ;-) | ||
| cotto | It'll be fun. | 22:11 | |
| jnthn_ | Yes, I'm enjoying working on this stuff. | ||
| Been hacking madly on getting NQP running on .Net of late, plus prototyping various things. Did the first prototype of the latest Perl 6 multi-dispatch spec today. | 22:12 | ||
| Need to fathom what that'll look like on Parrot at some point soonish. | |||
| chromatic | My model looked pretty similar in separating REPR and HOW. | 22:15 | |
| cotto | Your model? | ||
| chromatic | The one on the notepad on my bedside table two floors away. | ||
| cotto | scans or it doesn't exist | 22:16 | |
| chromatic | It composes metaclasses from roles such as HasAttribute and HasMethod. | ||
| I didn't go so far as to make those roles polymorphic, but there's no reason it couldn't do something similar. | |||
| That separate the responsibility from mapping a named attribute (or method) from the other classlike responsibilities. | 22:17 | ||
| It also allows polymorphism for those responsibilities on a fine-grained level. | |||
| I stopped before I figured out if or how to break the metacircularity and make *something* instantiable with parametric roles as the fundamental unit of the MOP. | 22:18 | ||
| That may all hinge on whether you want to build the whole system from metaroles or whether you're comfortable with the Null Role as the foundation of the type and metaobject system. | 22:19 | ||
| jnthn_ | chromatic: While I like the idea of composing metaclasses out of roles and may well end up factoring the Perl 6 implementation of the MOP that way, I'm less convinced about roles as the core primitive, because - as you mention - you then need to get from there to something instantiable, and that probably ends up needing composition to be in the meta-model core too. | 22:20 | |
| chromatic | One interesting distinction is that the Null Role *can't* be anonymous, but everything else in the system can. | ||
| jnthn_ | Or at least, it needs the concept of going from role to instance. | 22:21 | |
| chromatic | jnthn_, I had a role called Instantiable. The entry point into the system from the POV of doing something useful always starts with something which does Instantiable. | ||
| jnthn_ | chromatic: That still seems to imply that you need to form that something from the Instantiable role and perhaps some others though. | 22:23 | |
| chromatic | Class does Instantiable. | 22:24 | |
| Or MetaClass does Instantiable. | |||
| It gets a little deep there, where Instantiable is basically a convention that says "This can allocate memory (if necessary) and return something associated with the appropriate metaobject." but it's a nice place to customize metaclasses for factories or delegates or laziness of building, for example. | 22:27 | ||
| jnthn_ | Anywhere there's a method in a meta-object that can be overridden is really a hook for customization though, I guess. In Perl 6 you'd achieve the above style of thing probably by overriding .^CREATE or so. | 22:31 | |
| And the default form of that method could indeed come from an Instantiable role. | 22:32 | ||
| sorear | .CREATE actually | 22:33 | |
| (IMO this is wrong) | |||
| jnthn_ | sorear: SMOP had it so .CREATE delegates to .^CREATE, iirc. | ||
| I don't really like the delegation on a hot-path though, and do wonder if .CREATE should exist or should just move into the HOW always. | 22:34 | ||
| chromatic | That's one benefit of roles: you always compose in this behavior, so no hot path worries. | 22:53 | |
| Also you get composition-time safety. | 22:54 | ||
| ... whether it's the core developers who write a metaclass or someone else. | |||
|
23:01
kid51 joined,
tadzik joined
|
|||
| tadzik | hello parrots! | 23:01 | |
| kid51 | tadzik hello | ||
| sorear | Hello kid51 and tadzik | 23:02 | |
| opbots trust tadzik | |||
| slavorgn | Ok | ||
| slavorg | Ok | ||
|
23:03
tadzik1 joined
|
|||
| tadzik1 | sorear: opbots trust tadzik? | 23:05 | |
| sorear | You'd know if you hadn't changed to tadzik1 | 23:07 | |
| tadzik1 | I accidentally my internet connection | ||
| chromatic | msg bacek The GC's Linked_List is suboptimal for searching and removal; we may need to consider something with better than O(n/2) performance for both. | ||
| aloha | OK. I'll deliver the message. | ||
| tadzik1 | I'm waiting for the other tadzik to time out | ||
|
23:07
tadzik left
23:08
tadzik1 is now known as tadzik
|
|||
| kid51 | Glad to have you back, tadzik | 23:08 | |
| sorear | slavorg is a bit flaky with nickname changes and sometimes needs a good kick | ||
| opbots names | |||
| tadzik | oh | ||
| I'm moved :) | |||
| sorear is annoyed by the "verbs are for lamers" memo | 23:09 | ||
| meme | |||
| jnthn_ | I accidentally the whole sentence without out occasionally. | 23:11 | |
| *one | |||
| tadzik | is anyone named tadzik automagically oped now? | ||
| sorear | yes | 23:14 | |
|
23:18
chromatic left
|
|||
| dalek | rrot: r49735 | chromatic++ | branches/gc_ms2_sf/src/gc/gc_ms2.c: [GC] Tidied and headerized; no functional changes. |
23:18 | |
| rrot: r49736 | chromatic++ | branches/gc_ms2_sf/src/gc/gc_ms2.c: [GC] Added GC list for constant PMCs. need to be swept at all--on creation, they get stored in a constant-specific list for safekeeping. |
|||
| rrot: r49737 | chromatic++ | branches/gc_ms2_sf/src/gc/gc_ms2.c: [GC] Added GC list for constant STRINGs. |
|||
| rrot: r49738 | chromatic++ | branches/gc_ms2_sf/src/gc/gc_ms2.c: [GC] Removed constant PMCs from memory statistics. the GC to attempt to free this memory. This should improve GC throughput somewhat. |
|||
| rrot: r49739 | chromatic++ | branches/gc_ms2_sf/src/gc/gc_ms2.c: [GC] Removed constant STRINGs from memory stats. |
|||
| rrot: r49740 | chromatic++ | branches/gc_ms2_sf/src/gc/gc_ms2.c: [GC] Skip system stack tracing of constant GCables. imprecise marker. |
|||
| tadzik | gosh, it's late. G'night parrots :) | 23:28 | |
|
23:29
tadzik left
23:41
davidfetter joined
23:43
muixirt left
|
|||
| dalek | rrot: r49741 | jkeenan++ | trunk/DEPRECATED.pod: Correct spelling error only. |
23:52 | |
| dukeleto | aloha, languages? | 23:53 | |
| aloha | dukeleto: I give up. | ||
| dukeleto | useless. | ||