|
Parrot 1.1.0 Released | parrot.org/ | 322 RTs left | Weekly Priority: Remove Deprecated Items Set by moderator on 6 May 2009. |
|||
|
00:09
tetragon joined
00:13
bacek_ joined
00:29
japhb_ joined
00:45
Whiteknight joined
02:41
janus joined
|
|||
| darbelo | Is dalek alive? | 03:06 | |
| Infinoid | dunno, it isn't a terribly interactive bot | 03:11 | |
| its channel log is up to date, so I guess so | 03:12 | ||
| darbelo | Did he stop tracking parrot.org blogs then? | 03:16 | |
| dalek | website: darbelo++ | Singletons: On their use and abuse. | ||
| website: www.parrot.org/content/singletons-h...buse-them. | |||
| Infinoid whistles innocently | |||
| I didn't touch it, honest :) | 03:18 | ||
| darbelo | Probably the parrot.org rss was lagging, assuming I believe you ;) | 03:19 | |
| Infinoid | darbelo++ # keeping dalek honest | 03:20 | |
|
03:23
Austin_Hastings joined
|
|||
| dalek | tracwiki: v19 | allison++ | ChrootSetup | 03:23 | |
| tracwiki: trac.parrot.org/parrot/wiki/Chroot...ction=diff | |||
| darbelo | I don't really care that much if dalek tracks my blog or not. I just had nothing better to do while I watched "make test" scroll by. | ||
| Austin_Hastings | Q: Is there any way to use a subset of an expression grammar? (That is, to have expressions recognize assignment, etc., vis a = b = 1+2, but to "call" the non-assignment precedence levels for things like int a[1 + 2]?) | 03:25 | |
|
03:26
darbelo left,
darbelo joined
|
|||
| Infinoid | darbelo: When you guys were discussing singletons and the pointer accessors earlier, I was wondering why all that stuff wasn't split into a Singleton base class | 03:26 | |
| I mean, there isn't much code behind it, but it's still not something you should have to do by hand | 03:27 | ||
| Putting it into pmc2c as you suggested may be a more realistic solution, because then that hypothetical base class doesn't have to keep track of which subclass is which pointer | 03:28 | ||
| darbelo | I don't think 'singleton' can be inherited, really. I just means "there is only one instance (per interpreter)". | 03:30 | |
| The whole *_pointer() thing looks to me like an implementation detail that got leaked out. | 03:31 | ||
| Infinoid | agreed. | ||
| It's probably just a case of "had to put it somewhere" | |||
|
03:31
darbelo left,
darbelo joined
|
|||
| Infinoid | but since those vtables are used for different things in other pmcs, it does cause confusion | 03:32 | |
| darbelo | The PMCs that use it for other things are probably confused themselves. I know I was confused when I was doing it. | 03:34 | |
| Infinoid | like cotto was saying earlier, it's just an implementation-specific interface | ||
| I was used to using it for C-level structures the PMC was wrapping, which is why I was confused | |||
| The fact that singletons *can't* use it for that purpose bothers me a little, but then again, they can still use static variables or attrs for that. | 03:35 | ||
| darbelo | The code on pmc.c is pretty sure it's getting (and setting) a pointer to the PMC itself. | ||
| The fact that all the other ways to do it work is a just a happy coincidence. | 03:36 | ||
| Infinoid likes to optimize for happiness | 03:37 | ||
| cotto | but there's still too much coincidence | ||
| darbelo | But the kind of stuff you can do right now to singletons is unlikely to make anyone happy on the long run. Even if you don't die in your sleep :) | 03:38 | |
| cotto | I'm wondering if the singleton-specific code can go away. It's not very intuitive, even if it's documented. | 03:39 | |
| darbelo | Having two separate instances of a PMC that claims to be a singleton is just asking for trouble. | ||
| Infinoid | So don't do that. :) | 03:40 | |
| cotto | that'd probably be less intuitive ;) | 03:41 | |
| darbelo | Infinoid, Why not? Parrot let's you :) | ||
| "Oh, look it compiled. I must be doing it right, then!" | 03:42 | ||
| Infinoid | "SHIP IT!" | ||
| cotto | by ship | ||
| Infinoid | Parrot lets you put segfaults in your dynpmc code too, but I won't come to your birthday party if you do that | 03:43 | |
| I heard a talk once given by Rusty Russell, a linux kernel guy, about how he rates APIs. | |||
| cotto | I will, but I won't bring a present | ||
| Infinoid | There are APIs that are impossible to use wrongly. They're good, but extremely rare | 03:44 | |
| compiler errors are almost as good, warnings are almost (again) as good | |||
|
03:44
Austin_Hastings left
|
|||
| Infinoid | if you follow standard convention, like returning negative error numbers or using dest/src argument ordering like strcpy() does, you're doing well | 03:45 | |
| then there are interfaces that are misleading, and then wrong by default, and then impossible to use correctly | |||
| This singleton thing isn't great, but I can still imagine worse. :) | |||
| cotto | www.pointy-stick.com/blog/2008/01/0...ty-levels/ | 03:46 | |
| Infinoid | it was one of his talks at OLS I heard | 03:47 | |
| He's worth listening to. | |||
| cotto | canada, eh? | ||
| darbelo | Right now we are at 9, maybe 7. patching pmc2c would make it a 2, maybe 1. | 03:48 | |
| Infinoid | "common convention" only means "common for singletons", so 7 is pushing it | 03:49 | |
| darbelo | Pheraps a 6, depending of how you define 'break'. | 03:50 | |
| Infinoid | nah, "break at runtime" means "crash with a clear error message about how to fix it" | ||
| I think your 9 rating is accurate | 03:51 | ||
| darbelo | Not a 6, then. | ||
| With proper documentation (think 8), It would be almost good enough. But I'm doing a blog here, reality can wait 'till I'm done typing. | 03:54 | ||
| Infinoid | with pmc2c defining the right stuff internally, we can make it a 2 | 03:55 | |
| darbelo | OTOH, the first draft for that entry had a paragraph on the valid uses of "Multiple PMCs, singleton data". | 03:56 | |
| Infinoid | a multiton? | ||
| cotto | I want to see a couple examples of "impossible to use incorrectly" interfaces. | ||
| Infinoid | cotto: Rusty's example was inter_module_register. It's an interface that lets modules communicate with eachother, badly. | 03:57 | |
| cotto | That's his *good* example? | ||
| Infinoid | Oh, sorry, his bad one | ||
| It returns a void, does a kmalloc(), leaks memory and fails silently and leaks memory if something was already in the table with the same name, or if it couldn't allocate memory | |||
| returning a void is a way of saying it can't fail, despite the fact that it can fail. | 03:58 | ||
| I suppose a function which can't fail, can be called as often as you like and at any time you like, and doesn't take any parameters at all, would be pretty difficult to misuse | 04:00 | ||
| cotto | dtrt(); | ||
| Infinoid | dwim(); | ||
|
04:00
iblechbot joined
|
|||
| cotto | the only function you'll ever need | 04:00 | |
| ever | |||
| Infinoid | it would even debug itself | 04:01 | |
| darbelo | It can't debug itself it it is bug-free to begin with. | 04:02 | |
| dalek | rrot: r38682 | allison++ | trunk/ports/ubuntu (2 files): [ubuntu] Updating packaging files, preparing for inclusion in karmic. |
04:03 | |
| Infinoid | darbelo: That's the hard part :) | ||
| cotto | we just need to find someone competent enough to implement it. | ||
| Infinoid | I've got self-evolving AI, but the evolution process isn't exactly fast | ||
| darbelo | skynet() | 04:04 | |
| Infinoid | xkcd.com/534/ | 04:05 | |
| darbelo | If decnum-dynpmcs work out, parrot can top that. | 04:08 | |
| thisAlgorithmBecomingSkynetCost = "+Infinity" | 04:10 | ||
| Infinoid | I'm not sure how to implement the algorithm_can_become_skynet() function, either. | 04:11 | |
| I suppose if I can depend on it developing time travel, I can wire a callback from the future | |||
| "make test" would take a while tho | 04:13 | ||
| darbelo | make test_yourself_and_call_me_when_you_are_done | 04:14 | |
| If it ever becomes smart enough to take over global communications it'll drop you a call. | 04:15 | ||
| cotto | Just generate skynet. Then if your code detects it and the world doesn't get taken over, the test passes. | ||
| Infinoid | the end result of "make test" should be a terminator unit materializing right next to the PC, keying in the letters "ok" and disappearing again | 04:16 | |
| gotta wonder about race conditions tho. Might need to match up the process ID | 04:17 | ||
| cotto | That's really taking Test *Anything* Protocol to a new level. | 04:19 | |
| Infinoid | Don't even ask how Devel::Cover works | ||
|
04:19
slavorg joined
|
|||
| Infinoid | hmm. speaking of working, my javascript is failing to work in IE | 04:20 | |
| darbelo | Just noticed, did Ubuntu go alphabetically-ordered for their "Adjective Animal" release names? | 04:26 | |
| cotto | yup | ||
| there's even a wiki page listing possibilities | 04:27 | ||
| darbelo | They should have thought of that before releasing the Warty Warthog if you ask me. | 04:29 | |
| Alphabetical order doesn't strike me as something you can add afterwards. | |||
| Apparently "10 / Infinity = 0E-6176" when using decnums. | 04:35 | ||
| cotto | sounds ok, if not exactly canonical | ||
| darbelo | I'm not entirely sure I can call that "correct". At least for the default string-ification | 04:36 | |
| cotto | Isn't there an api call to make a number canonical? | ||
| darbelo | Yup, but we aren't using it yet. | 04:37 | |
| But after division it's supposed to be canonical anyway. | 04:39 | ||
| cotto | Mmmm. Bugs. | 04:41 | |
| darbelo | Even with a call to decQuadCanonical right before converting it to string it gives the same result. | 04:45 | |
| It looks like it doesn't know that it shouln't print Exxxx for 0 | 04:46 | ||
| dalek | rrot: r38683 | petdance++ | trunk/src/pmc/object.pmc: removed an unnecessary elements count, and consted a bunch of pointers |
04:48 | |
| cotto | facepalm | 04:49 | |
| purl | jalopnik.com/5101931/caption-this-r...on-edition | ||
| darbelo | Huh? | 04:50 | |
| cotto, what prompted the joining of your palm an face? | 04:53 | ||
| cotto | that neither division nor the canonicalization function canonicalize that number | 04:56 | |
| darbelo | Ah. I was thinking that but it came right after the commit message, made me doubt it for a minute. | 04:58 | |
| cotto | Heh. I didn't realize that. | 04:59 | |
| I have no problem with petdance's commit. | |||
| darbelo | Just confirmed it, decQuadToString puts exponents on zeros. h8 | 05:00 | |
| cotto | I need sleeps. Happy wrestling with decNumber. | 05:01 | |
| darbelo | Oh, don't worry. I'm punting this one :) | ||
| I still have work on the other half of the global-context decnum. | 05:02 | ||
| dalek | cnum-dynpmcs: r29 | darbelo++ | trunk/build/src/pmc/Makefile.in: Remove duplicated make targets, didn't notice they were there before. |
05:07 | |
|
05:08
Theory joined
05:20
TonyC joined
05:54
cxreg joined
06:30
uniejo joined
|
|||
| Infinoid | cotto: heh. ozlabs.org/~rusty/ols-2003-keynote/img39.html (the rant started at ozlabs.org/~rusty/ols-2003-keynote/img28.html) | 06:45 | |
| bacek_ | Parrot to kill off 1000 Australian jobs | 08:23 | |
| www.optuszoo.com.au/article/news/ne...-jobs.html | |||
| O wait... | |||
| :) | |||
| EDIFFERENTPARROT | |||
| cognominal | jonathan, in your blog your write "I want it's keys". Should a French teach you proper English? | 08:43 | |
| jonathan++ # nice stuff as usual | 08:44 | ||
| moritz | url? | 08:45 | |
| cognominal | use.perl.org/~JonathanWorthington/j...9?from=rss | 08:46 | |
| jonathan | cognominal: Je ne parle pas l'anglais! ;-) | 08:47 | |
| cognominal: Fixed, thanks! :-) | 08:48 | ||
| cognominal | there are other typos | ||
| jonathan | Fixed two others too. :-) | ||
| cognominal | jonathan++ | 08:49 | |
| jonathan, have you been invited in the conference we do in autumn? | 08:50 | ||
| jonathan | cognominal: Don't think so...when in autumn? | ||
| If it's October or November I can probably come. | 08:51 | ||
| bacek_ | It's already autumn. | ||
| jonathan | EWRONGHEMISPHERE | ||
| bacek_ | Ah. Ok... | ||
| :) | |||
| bacek_ decommutes to home | 08:52 | ||
| cognominal | jonathan, I am asking the people in charge | ||
| jonathan | cognominal: OK. In September I plan to head to YAPC::Asia and then bum around in Japan and South Korea. :-) | 08:53 | |
| But Oct/Nov I have nothing planned yet. | |||
| cognominal | "La confƩrence OSDC.fr se tiendra bien les 2 et 3 octobre 2009." | 08:55 | |
| That will be conference about dynamic languages | |||
|
08:55
eiro_ joined
|
|||
| cognominal | there will be stuff about Perl, Python, Ruby and perhaps haskell and groovy | 08:56 | |
| jonathan | Oh, hmmm...I think the 3rd is the day I'd been planning to fly back. :-S | ||
| cognominal | I don't know if scala is dynamic | ||
| too bad | |||
| jonathan, we are trying hard to ignore some php guy who want to be in the speakers | 08:58 | ||
|
10:41
donaldh joined
11:21
donaldh joined
11:23
masak joined
|
|||
| dalek | rrot: r38684 | cotto++ | trunk/t/pmc/ro.t: [t] perl->pir conversion of ro PMC test, patch courtesy of bobw++ |
11:26 | |
| bacek | oh hi | 11:38 | |
| good evening | |||
|
11:46
eternaleye joined
12:02
DietCoke joined
|
|||
| Coke | . | 12:02 | |
| bacek | ... | 12:13 | |
| 3. Profit! | |||
| dalek | rrot: r38685 | bacek++ | branches/pmc_pct/compilers/pmcc/src/parser (2 files): Improve parsing of parameters in MACRO calls |
12:14 | |
|
12:39
rg1 joined
12:56
riffraff joined
13:00
gryphon joined
13:12
Whiteknight joined
13:13
sFish joined
|
|||
| sFish | i'm a newer! i'm happy to come here | 13:14 | |
| do anybody hear me? | 13:15 | ||
| Infinoid | hi sFish | 13:16 | |
|
13:16
cognominal joined
|
|||
| Coke | Any rakudo people have any input on news.perlfoundation.org/2009/05/200...l_6_p.html ? | 13:19 | |
| shlomi? | |||
| purl | shlomi is a putz or (: rindolf) or worse at socializing than a two-year-old or much like the dutch word for "slow-witted" or the ass-backwards Buddha (see xrl.us/vs8s) or banned or at xrl.us/shlomi or kicked off London.pm twice or at xrl.us/shlomisdream or banned. | ||
| Coke | nice, purl. :P | ||
| masak | Coke: I have some input. | 13:20 | |
| Coke: I've been on the verge of writing it as a comment a few times now. | 13:21 | ||
| Coke | "I am a voting member of the grants committee and your feedback will help me." | 13:22 | |
| masak | :) | ||
| I don't know Herbert Breunung. as far as I know, he's not in #perl6. | |||
| what I'm feeling is that we don't need more places where Perl 6 documentation is written. | 13:23 | ||
| we already have a problem with people finding outdated courses, wikis and pages | |||
| I would much rather see energy being put into any of the existing documentation repositories. | 13:24 | ||
| Coke | all good feedback. Are you going to add that to the proposal feedback? =-) | 13:26 | |
| masak | I will, now. | 13:27 | |
| Coke | masak++ | ||
|
13:28
sFish left
|
|||
| Infinoid | purl, herbert breunung is lichtkind | 13:28 | |
| purl | OK, Infinoid. | ||
|
13:28
sFish joined
|
|||
| Coke | Infinoid++ | 13:29 | |
|
13:30
donaldh left
|
|||
| masak | ok. lichtkind was on #perl6 7 months ago. | 13:30 | |
| Infinoid | yeah, looks pretty active last year. irclog.perlgeek.de/search.pl?channe...ind&q= | 13:31 | |
| masak | I'll retract all my comments about 'frequenting the #perl6 channel', then. | ||
| but I'll add something about this lacking some grounding in community discussion. | 13:32 | ||
| documentation efforts are fine, but they need to be a bit more consensus-based, IMO. | |||
| there, commented. | 13:35 | ||
|
13:35
donaldh joined
|
|||
| Infinoid | does perl 6 have a tutorial for perl 5 users, yet? I keep meaning to learn it but the synopses keep scaring me off | 13:35 | |
| PerlJam | Infinoid: not that I know of. | 13:38 | |
| masak | Infinoid: perlgeek.de/blog-en/perl-5-to-6/ | ||
| Infinoid: reputed to be really good. | |||
| (authored by moritz++) | |||
| Infinoid | oh, nice. masak++ | 13:39 | |
| masak | it's the Perl6-from-the-ground-up documentation that is missing right now. | ||
| I'm hoping the wikibooks book will help cover that. | |||
| Infinoid | perl5 has that documentation, but that didn't stop me from taking a couple years and a few tries to learn it. | 13:40 | |
| Larry's languages aren't exactly minimal, it seems :) | |||
| moritz | more importantly, Perl 5 has good from-the-ground-up books | ||
| masak | and whereas Perl 5 keeps changing gradually too, the changes aren't as drastic as those in Perl 6. | 13:43 | |
| on busy days, the latter feels more like a good game of Nomic. | 13:44 | ||
| Infinoid | hmm, Parrot revision r38679 required (currently r0) | 13:51 | |
| rakudo doesn't like my git checkout of parrot | |||
| moritz | Infinoid: rakudo executes parrot_config | ||
| Infinoid: so you have to build parrot in a way that it reports the right svn revision | 13:52 | ||
| Infinoid | yes. and it worked, until recently | ||
| moritz | does it still report the svn revision? or does rakudo fail to parse the output? | 13:53 | |
| rg1 | i remember a recent commit message that said rakudo now checks the parrot revision | ||
| Infinoid | parrot doesn't report the svn revision, rakudo just didn't care until now | 13:55 | |
| moritz | yes, right | ||
| Infinoid | is there a magic --these-are-not-the-droids-youre-looking-for flag I can use? :) | 13:58 | |
| dalek | rrot: r38686 | Infinoid++ | trunk/compilers/imcc/imcc.y: [cage] Fix some trailing whitespace in IMCC. Apply edits from "make headerizer". |
13:59 | |
| moritz | Infinoid: no, but I guess you can submit an easy patch | ||
|
14:00
PacoLinux joined,
he_ joined
|
|||
| Infinoid | I'll fix up Parrot::Revision | 14:02 | |
|
14:07
ruoso joined
14:18
gryphon joined
|
|||
| Infinoid | Parrot r38687 builds rakudo HEAD again. | 14:24 | |
| dalek | rrot: r38687 | Infinoid++ | trunk/lib/Parrot/Revision.pm: [config] Determine revision correctly in git-svn checkouts (and git-only clones of those, like mine). |
14:26 | |
|
14:29
particle1 joined
|
|||
| tewk | masak: PERL6INC=~/srcs/perl6libs/http-daemon/lib/ bin/run-nibbler | 14:32 | |
| Can't find ./HTTP/Daemon in @INC | |||
| masak | tewk: PERL6LIB | 14:33 | |
| tewk | duh | ||
| masak++ | |||
| masak | tewk: and html-daemon might work, but the one I've been using is the one in web. | ||
| ...which you'll need to have in your PERL6LIB anyway to run the nibbler. | 14:34 | ||
| tewk | masak: I used proto to install everything but bin/run-nibbler | ||
| didn't run out of the box, so I started down this path | |||
| masak | tewk: wow, peaople actually use proto. | ||
| tewk: no, you still have to set PERL6LIB manually in some cases. | |||
| tewk: that's because proto stops short of actually modifying your .bash_profile et al. | 14:35 | ||
| tewk | does proto install to a common location or does each lib need to be added to PERL6LIB | ||
| masak | the latter. | ||
| internally, proto handles that by checking dependencies. | 14:36 | ||
| tewk | so nibbler runs on a random port? | 14:37 | |
| nevermind, I'm alreaddy using 8888 | 14:38 | ||
| masak | not random, just hard-coded. | 14:39 | |
|
14:44
Andy joined
15:14
gryphon joined
15:20
donaldh joined
15:24
parrot-poke joined
|
|||
| jonathan | Hmm...it's not possible to use CONST_STRING in a dynop? | 15:27 | |
| Coke | ISTR chromatic fixed that for dynpmcs, anyway. | 15:29 | |
| jonathan | Yeah, I know it works in dynpmcs. | 15:30 | |
| It's not a huge deal. I'm not writing a performance critical op; string_from_literal will do. | |||
| particle- | enter a ticket, anyway | 15:38 | |
| jonathan | particle-: good point, will do | 15:40 | |
| parrotbug? | 15:46 | ||
| purl | parrotbug is mailto:parrotbug@parrotcode.org or svn.perl.org/parrot/trunk/docs/submissions.pod or see also "rakudobug" or needs to be converted to trac | ||
|
15:51
davidfetter joined
|
|||
| Coke | parrotbug should just be removed. | 15:52 | |
| jonathan | wtf, I'm supposed to submit through the web interface now? | ||
| Coke | (if we're not going to try to post anything on your behalf anyway) | ||
| jonathan: yes. | |||
| jonathan | .oO( purl, parrotbug is f**king useless now) |
15:53 | |
| Coke | email2trac installation was never completed, sfaik. | ||
| jonathan | #659 | 15:55 | |
| dalek | kudo: 526bf42 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 387 files, 11180 passing, 0 failing |
15:58 | |
|
16:17
iblechbot joined
16:29
Theory joined
16:46
Ademan joined
|
|||
| dalek | rrot: r38688 | allison++ | trunk/ports/ubuntu (2 files): [ubuntu] Karmic also uses standards version 3.8.1. |
16:56 | |
|
16:59
register joined,
jhorwitz joined
17:13
Ademan joined
17:18
NotFound joined
|
|||
| NotFound | hi | 17:18 | |
| dalek | rrot: r38689 | NotFound++ | trunk (22 files): [cage] change class names "Streams::..." to [ Streams ; ... ], drop library/ prefix and change type from .pir to .pbc in load_bytecode in this library and his usages |
17:23 | |
| rrot: r38690 | NotFound++ | trunk/t/compilers/pct (2 files): [cage] drop load_bytecode "library/" prefix in pct tests |
17:36 | ||
|
17:39
jderque joined
|
|||
| dalek | rrot: r38691 | NotFound++ | trunk/t (4 files): [cage] drop load_bytecode "library/" prefix in all remaining tests |
17:43 | |
|
17:45
jderque left
17:46
jderque joined
|
|||
| dalek | rrot: r38692 | NotFound++ | trunk/examples/library/ncurses_life.pir: [cage] fix example ncurses_life |
17:53 | |
|
17:55
frodwith joined
17:57
mikehh joined
18:07
burmas joined
|
|||
| dalek | tracwiki: v20 | allison++ | ChrootSetup | 18:11 | |
| tracwiki: trac.parrot.org/parrot/wiki/Chroot...ction=diff | |||
|
18:29
japhb joined
18:36
burmas joined
|
|||
| Coke | particle: ping. | 18:40 | |
| dalek | rrot: r38693 | NotFound++ | trunk (24 files): [cage] drop all remaining load_bytecode library/ prefixes except in examples/sdl, fix OpenGL usage of include instead of load_bytecode and replace some .pir with his corresponding .pbc |
18:47 | |
| particle- | coke: pong | 18:58 | |
| Coke | particle-: I recall you were looking into localization for parrot. if so, did you end up with a plan? | 19:03 | |
|
19:04
burmas left
19:06
darbelo joined
|
|||
| particle- | partially | 19:09 | |
| i got mired in other things, never got back to it | |||
| iirc gettext library detection is working | |||
| did a mini test on various oses | 19:10 | ||
| got fallback working for when gettext isn't installed | |||
| i think what's left is: | 19:11 | ||
| Coke | .. don't tell me. write a ticket. =-) | ||
| NotFound | particle-: Have you thinked about possible interactions between gettext and CONST_STRING ? | ||
| particle- | notfound, that's on the "what's left" list :) | 19:12 | |
| coke: ok, i'll write a ticket when i have a chance | |||
| tight deadline today | |||
| NotFound | At least a note like "Don't do that until we have a plan" may be good ;) | ||
|
19:14
tewk joined
19:16
fperrad joined
19:18
fperrad left
19:19
fperrad joined
19:20
donaldh joined
19:26
fperrad left
19:29
Whiteknight joined
|
|||
| dalek | rrot: r38694 | NotFound++ | trunk (3 files): [library] generate pcore.pbc and use it instead of his .pir |
19:31 | |
| Whiteknight | pmichaud: ping | ||
| pmichaud | Whiteknight: pong | 19:39 | |
| Whiteknight | hi pmichaud. | ||
| I'm heading down to TX on wed/thurs for work, and wondered whereabouts you live | 19:40 | ||
| pmichaud | Plano. Just north of Dallas. | ||
| Whiteknight | oh, darn. We're going to be in Houston | ||
| pmichaud | My condolences. | ||
| Whiteknight | that's what everybody says! | ||
| pmichaud | Ever been to Houston? ;-) | 19:41 | |
| Whiteknight | nope | ||
| jonathan | I had to connect in its airport once. <shudder> | ||
| Whiteknight | oh great, so this is going to be a really fun trip | ||
| pmichaud | jonathan: I assume you mean Bush Intercontinental Airport? (Houston has two airports) | ||
| jonathan | pmichaud: I can't remember, this was a few years back... | 19:42 | |
| pmichaud | Probably, if you were flying anything but Southwest. | ||
| NotFound | The other is Witney Houston? | ||
| jonathan | Continental. Flew in from London, connected in Houston, out to Tucson. | ||
| pmichaud | The other is Houston Hobby airport. | ||
| PerlJam | (Houston Hooby)++ servicing the locals just fine | ||
| er, s/Hoo/Hob/ | 19:43 | ||
| pmichaud | On Continental you undoubtedly went through Bush Intercontinental -- that's one of their major hubs. | ||
| jonathan | Most probably. | ||
| pmichaud | I've done the Houston-London flight many times :-) | ||
| But almost always on KLM. | |||
| Coke | (houston) yeha. | ||
| pmichaud | Or British Airways. | ||
| purl | rumour has it british airways is only charging 850 | ||
| jonathan | purl, british airways is also losing your luggage | ||
| purl | okay, jonathan. | ||
| jonathan | purl, british airways is also screwing up terminal 5 | ||
| purl | okay, jonathan. | ||
| pmichaud | purl, british airways is also losing your luggage for only 850 | ||
| purl | okay, pmichaud. | ||
| jonathan | ...how we love British Airways. | 19:44 | |
| Coke | last time I was in houston, my wife was harrassed by security for trying to take a picture of a building I used to work in. | ||
| dalek | rrot: r38695 | NotFound++ | trunk (6 files): [library] generate TclLibrary.pbc and use it instead of his .pir, and some more s/pir/pbc |
||
| Coke | (while on public property on the other side of the street.) | ||
| pmichaud | Whiteknight: what part of Houston will you be at... do you know? | ||
| Whiteknight | no idea really, it's some business trip so I'm just following a gaggle of other engineers | 19:45 | |
| Coke | what hotel you staying at? | ||
| Whiteknight | no idea | 19:46 | |
| Coke | ... actually, unless it's the doubletree, I won't know. Houston is a beeeeg city. | ||
| pmichaud | Heh. "Yours is a very bad hotel" | ||
| Coke | if you have an address, i can probably point you at something reasonably close that is yummy or fun. | ||
| Whiteknight | we may be sleeping on the floor somewhere for all i know | ||
| pmichaud | (www.snopes.com/business/consumer/badhotel.asp for those who aren't familiar with the Houston Doubletree :-) | 19:47 | |
| Coke | I remember that story. Thankfully my company paid for the several weeks I spent there while apartment hunting. =-) | 19:48 | |
| dalek | rrot: r38696 | NotFound++ | trunk/t/library (3 files): [cage] some more s/pir/pbc |
19:51 | |
| Coke | ah. I actually stayed at the OTHER doubletree houston. (probably one of dozens) | 19:52 | |
| jonathan | (doubletree) LOL! | 19:53 | |
| pmichaud | Whiteknight: anyway, if you figure out where you'll be in Houston I suspect there are several of us who can make reservations. Although Houston is not a place that is easy to get around in without a car of some sort. | 19:55 | |
| (although I've not tried Houston's buses) | |||
| s/reservations/recommendations/ | |||
| Whiteknight | I'm only going to be in town for about 24 hours, and most of that will be spent working. If somebody was really close I'd say we could go grab drinks, but otherwise no big deal | 19:56 | |
| cotto | Is there a hackathon after YAPC too, or just one before? | ||
| pmichaud | cotto: yapc::na? | ||
| purl | it has been said that yapc::na is going back to Pittsburgh for 2009 | ||
| cotto | pmichaud, yes | ||
| pmichaud | I think the hackathon is after yapc::na | 19:57 | |
| before yapc::na is the parrot virtual machine workshop | |||
| I don't know how much of a "hackathon" it is. | |||
| (there are other workshops pre-yapc as well) | |||
| cotto | ok. I'll just leave an extra day, and if it happens, it happens. | ||
| pmichaud | I'm planning to be there on Thursday for hacking, yes. | ||
| Coke | houston's bus system is quite nice, IME. | 19:59 | |
| dalek | rrot: r38697 | NotFound++ | trunk (3 files): [library] generate Range.pbc and use it instead of his .pir |
20:01 | |
| rrot: r38698 | NotFound++ | trunk/t/library/getopt_obj.t: [cage] some more s/pir/pbc |
20:04 | ||
| tracwiki: v21 | allison++ | ChrootSetup | 20:08 | ||
| tracwiki: trac.parrot.org/parrot/wiki/Chroot...ction=diff | |||
| rrot: r38699 | NotFound++ | trunk/t/library (3 files): [cage] some more s/pir/pbc |
20:11 | ||
| japhb | NotFound: ping | 20:38 | |
| NotFound | japhb: pong | 20:39 | |
| japhb | NotFound: regarding r38693 -- the use of 'include' instead of 'load_bytecode' for OpenGL_funcs.pir was intentional. :-) | ||
| NotFound | japhb: Why? | 20:40 | |
| japhb | At the time, it might have been working around something, but then it became simply an optimization -- to do one load_bytecode instead of two. That optimization may no longer make any sense, of course. | 20:41 | |
| Also, I'm assuming that deleting 'library/' everywhere is because Parrot's loader got more intelligent about default paths? | 20:42 | ||
|
20:42
gryphon joined
|
|||
| Coke | purl, owner? | 20:43 | |
| purl | rumour has it owner is hachi, see also #purl | ||
| NotFound | japhb: in a discussion in tha list allison stated that the intention is to deprecate that usage | ||
| japhb | ah, cool. | ||
| Was that discussion today? | 20:44 | ||
| japhb wonders how he missed it ... | |||
| Coke | no. | ||
| japhb | hmm | ||
| NotFound | japhb: is an old thread, I've writen on it today | ||
| In the mailing list, not here | 20:45 | ||
| Coke | the thread notfound is referring to is just about killing library/ | ||
| japhb | OK. I'll have to check that I've got all the mailing lists still, once I'm at that computer. | ||
| Coke | japhb: it's "parrot-dev" | ||
| japhb | Coke: nodnod | ||
| Coke | parrot-dev? | ||
| purl | parrot-dev is mailto:parrot-dev@lists.parrot.org or lists.parrot.org/mailman/listinfo/parrot-dev | ||
|
20:46
silug joined
|
|||
| NotFound | I don't think including a pir file is a good idea... even if a lot of languages currently do it. | 20:47 | |
| davidfetter | yapc10? | 20:48 | |
| hrm | |||
| yapc? | |||
| japhb | NotFound: out of curiosity, why? Assuming, as is the case with OpenGL, that one could never be used without the other? | ||
| NotFound | japhb: because of .HLL directives, for example. | 20:49 | |
| japhb | NotFound: the action-at-a-distance issue? | ||
| NotFound | And if one will never be used without the other, why don't just include the text in the file? | ||
| japhb | NotFound: because one is hand-written, and the other is generated. | 20:50 | |
| NotFound | japhb: yeah, somenone reading the included file might not understand which directives are active. | ||
| japhb: mmmm.... that's a good reason. | 20:51 | ||
| japhb | And it seemed icky to have the generator modify the hand-written file, especially since we explicitely track which files are generated and which not, plus PIR had a directive that explicitly covered this usage. | ||
| NotFound | In that case, maybe the include directory is a better place | 20:52 | |
| japhb | NotFound: I thought of that ... but it's not intended to be included by anything other than OpenGL.pir, and then just to make OpenGL.pbc. | ||
| My understanding was that include/ was for stuff that random PIR code may want, like macro definitions. | 20:53 | ||
| NotFound | japhb: I think that this opengl thing needs a better schema. If I understand the current situation, OpenGL libraries are selected at parrot build time. But people installing a prebuilt package might not have that, or have another, | 20:55 | |
| dalek | rrot: r38700 | NotFound++ | trunk (2 files): [library] generate YAML pbcs and use it instead of his .pir |
20:57 | |
| japhb | NotFound: no disagreement. There are two sides to the rationale for the current situation, practical and technical: The practical bits are thus: 1) I was frustrated by lack of progress from others who promised to do the OpenGL library for Parrot, so I JFDI, with admittedly limited Parrot knowledge at the time, 2) Some other projects that may well force a major rewrite haven't to my knowledge completed yet (like new NCI or NCI JIT system), 3) I hav | 21:05 | |
| en't had tuits to rewrite just for purity's sake, though I recognize it could use some work. The more technical side is as follows: 1) If I do it based on runtime system instead of build system, there is quite possibly very significant time and space cost, 2) I'm not even sure how to accomplish runtime GetProcAddr() type code with the current NCI system, 3) we would need to import the official OpenGL header files into Parrot's repo, including all | |||
| the variants for different versions of GLUT and proprietary extensions, and I don't understand the licensing implications (though I remember Allison wanting to avoid license contamination of any kind). | |||
| NotFound | Maybe we need to develop a method to do things of that type at module install time. | 21:07 | |
| But there is the problem of the need of the header files, usually people have just the library files, not the headers. | 21:08 | ||
| japhb | NotFound: Well, I could rip all of the parrot-build-time stuff out into a separate script, so you could do './install-OpenGL' after building parrot, and then we could generalize that for curses, Postgres, and so on ... | 21:09 | |
| And yes, that's definitely an issue. We would have to start including headers into our module sources. | |||
| Or alternately do as we are now, and tell distro packagers that they need to install a lot of libs and headers at build time, to make all the modules build properly, and then add the libs to the Requires: for the packages. | 21:10 | ||
| *Parrot packages | |||
| The current system is unfun for people building and installing Parrot from scratch, but should be working fine for people installing using distro packages. | 21:12 | ||
| NotFound | japhb: but the problem is that there are different OpenGL packages with different headers and ABIs, isn't it? | ||
| japhb | Perhaps we just need a better way to help people get all the build-requires installed. | ||
| NotFound: yes. | |||
| cotto | going to yapc? | 21:13 | |
| purl | See : going to yapc::na or yapc::whatever or cwest, uri, DrForr | ||
| cotto | going to yapc::na? | ||
| purl | well, going to yapc::na is hachi, hobbs, apeiron, hercynium, DrForr or dhoss | ||
| cotto | going to yapc10? | ||
| purl | going to yapc10 is kid51 or pmichaud or davidfetter | ||
| cotto | going to yapc10 is also cotto | ||
| purl | okay, cotto. | ||
| japhb | The core OpenGL and official extensions are supposed to be fully source compatible, but that doesn't apply to the other OpenGL related libraries, of which there are several even in a minimal install. | ||
| And ABI? Fuggedaboudit | 21:14 | ||
| (GLX, sure ... but that's a special case) | |||
| NotFound | With ncurses and others is a lot easy. | ||
| japhb | Yeah. Ever since about day 2 of working on the OpenGL bindings, I've considered them pretty much a boundary-testing case for Parrot NCI. | 21:15 | |
| And there are quite a few things that one should be able to do in OpenGL that just can't currently be done via the Parrot bindings ... many related to void pointers, unsigned ints, large and small data types, etc. | 21:17 | ||
|
21:19
rdice joined
|
|||
| NotFound | There are things that the current NCI can't do... and maybe that any reasonable way can't do | 21:21 | |
| dalek | rrot: r38701 | NotFound++ | trunk/tools/util/crow.pir: [tools] use Crow.pbc instad of his pir |
||
| japhb | NotFound: nodnod. Though I really, really wish I had the free time to do some major brain surgery on it ... or even to create an alternate system entirely. | 21:22 | |
| Sadly, $day_job trumps. | |||
| NotFound | I hope that after the calling conventions revisit get done some current problems may be easier to locate and get fixed. | 21:23 | |
| japhb | NotFound: nodnod. I was hoping the same. If I can convert a huge task into small bitesize pieces, I may be able to contribute more again. | 21:24 | |
| NotFound | I still need to fix the Mysql.pir module, it does not work since some time ago, don't know why | 21:25 | |
| japhb | Whatever happened with the "real C99 header parsing"? Did that bitrot? | 21:28 | |
| NotFound | Don't know | 21:30 | |
| cotto | It's still in compilers/ncigen, but I don't it's been touched in a while. | 21:31 | |
| It still passes all its tests, though. | 21:33 | ||
| NotFound | Looks like parsing real C99 is not an easy task ;) | ||
| cotto | never would have guessed that | 21:34 | |
| ;) | |||
| NotFound | I suspect some people hoped that, but dont have a list with his names ;-) | 21:35 | |
| Returning to the pir/pbc subject: optimizing by using include instead load_bytecode has less sense when load_bytecode uses pbc instead of pir, as is supposed to be done most times. | 21:37 | ||
| japhb | I wonder if the difference is even measurable at all ... | 21:38 | |
|
21:39
Whiteknight joined
|
|||
| NotFound | If some day we have pluggable pir compiler, the difference might be not neediing to load the compiler | 21:39 | |
| japhb | NotFound: Oh, I meant between loading two PBCs and loading one combined PBC. | 21:40 | |
| NotFound | Oh, in that case maybe pbc_merge is a better way | 21:41 | |
| japhb | Or more importantly N PBCs versus 1 combined PBC. In other words, does "prelinking" matter at all? | ||
| dalek | rrot: r38702 | NotFound++ | trunk/runtime/parrot/library (3 files): [cage] some more s/pir/pbc |
21:44 | |
|
21:56
dduncan joined
|
|||
| dalek | rrot: r38703 | NotFound++ | trunk (3 files): [library] generate Iter.pbc and use it instead of his .pir |
21:57 | |
|
21:59
dduncan left
|
|||
| dalek | rrot: r38704 | NotFound++ | trunk/t (4 files): [cage] some more s/pir/pbc |
22:04 | |
| rrot: r38705 | NotFound++ | trunk/t/compilers/pge (7 files): [cage] some more s/pir/pbc |
22:14 | ||
| cotto | Wasn't there a proposal to make load_bytecode "Foo/Bar" work by searching for Foo/Bar.pbc, then Foo/Bar.pir? | 22:18 | |
| Whiteknight | there was something like that, yes | 22:19 | |
| I don't remember the outcome | |||
| cotto | me neither | ||
| particle- | there was no outcome | 22:21 | |
| "yes, that's nice. we'll figure out how and what later." | |||
| seems it's later now. | 22:22 | ||
| we need to be able to tell the bytecode loader what the search order should be | |||
| pir then pasm then pbc? vice versa? other? | |||
| tunable at runtime? compiletime? etc. | 22:23 | ||
| cotto | particle-, do you know where the thread is, or should "someone" start a new one? | 22:27 | |
| particle- | it was long ago. istr the irc nick codermattie | 22:29 | |
| but not the email name... maybe mark something? | |||
| 1-2 years ago | |||
| ah, probably mark mattie. | |||
| cotto | mike mattie? | 22:31 | |
| particle- | yeah, right. | 22:36 | |
| in eastern washington state, iirc | |||
| dalek | kudo: 2b685ac | pmichaud++ | src/parser/actions.pm: Refactor subtype handling to eliminate redundant code. |
22:42 | |
| kudo: 6fc9344 | pmichaud++ | src/parser/actions.pm: Refactor implicit $_ as parameter on blocks. As a bonus, such |
|||
| kudo: 4e9e1e3 | pmichaud++ | src/parser/actions.pm: Refactor make_anon_subtype to re-use standard closure functions. |
|||
| cotto | finally found it | 22:43 | |
| groups.google.com/group/perl.perl6....d677b057ff | 22:44 | ||
| particle++ for remembering the guy's name | |||
| aka RT #41908 | 22:45 | ||
| NotFound | If you want to cimpile pir you just to need to specify .pir | ||
| In a op called load_bytecode, trying to load a bytecode file looks somwhat logical ;) | 22:46 | ||
| cotto | I'm easily attracted to shiny things that have the appearance of DTRT. | 22:48 | |
| Infinoid | yay, shiny! | 22:49 | |
| darbelo | DTST? | 22:50 | |
| NotFound | Trying to load a pir if there is no pbc looks th RT to me, but looking first for the pir doesn't | 22:51 | |
| darbelo | Do The Shiny Thing ;) | ||
| NotFound | If we do that, we can drop the pbc format and save a lot of worries ;) | 22:52 | |
| Infinoid | NSPushCandyColoredButton() | ||
| is there anything that loading pir can do which loading pbc can't? | |||
| NotFound | Execute :inmediate blocks? | 22:53 | |
| Infinoid | if :immediate blocks are intended to be run at compile-time, that seems fair | ||
| NotFound | I've converted today a lot of load_bytecode of .pir to .pbc, and looks like all works fine. | 22:54 | |
| The failures were just .pbc not been generated by the Makefile, I fixed that instead of leaving the .pir | 22:56 | ||
| In fact there were several TODO: use .pbc instead of .pir | |||
| Don't know why someone put that TODO instead of DO | 22:57 | ||
| rg | there are a number of tests skipped for the -r option, saying that lexicals are not thawed properly from pbc | 23:00 | |
| NotFound | But that is related to the .pir being tested, not library files being loaded, isn't it? | 23:04 | |
| rg | yes, i meant that in response to infinoid's question whether there are things that don't work with pbc | 23:05 | |
|
23:11
gryphon joined
23:14
gryphon_ joined,
Eevee joined
23:15
kid51 joined
|
|||
| Whiteknight | is there anybody around here who really understands the context system? | 23:17 | |
|
23:18
tetragon joined
|
|||
| rg | s/around here//? ;) | 23:18 | |
| Whiteknight | true | ||
| i thought I understood it, but I see now that it's much more complex then I thought it was | |||
| and for that matter, it's far more complicated then I think it needs to be | 23:19 | ||
| so I'm trying to figure out why it is like it is, so I don't miss something important when I kill it all | |||
| rg | the whole thing? | ||
| purl | the whole thing is confounded. | ||
| rg | purl forget the whole thing | ||
| purl | rg: I forgot whole thing | ||
| cotto | purl++ | ||
| Whiteknight | rg: Yeah, that's the plan. I'm going through there like a hurricane and turning all Parrot_Contexts into Context PMCs | 23:20 | |
|
23:20
donaldh joined
|
|||
| cotto | Whiteknight, what's the advantage of doing that? | 23:21 | |
| rg | huh? so far i'm associating mostly registers with contexts. so i don't think i'm qualified to comment ;) | 23:22 | |
| Whiteknight | cotto: Contexts get managed by the GC instead of manual refcounting, for starters | ||
| plus, there are lots of opportunities for major optimizations | |||
| rg: Contexts do store and manage registers, yes. But that's only one part of what they do | 23:23 | ||
| rg: They also store metadata about the current execution environment: current namespace PMC, current Sub PMC, current LexPad PMC, current Exception handlers list, current invocant PMC, etc | 23:24 | ||
| rg | of course. that's just what i've run into so far | ||
| oh right, exception handler list too. | |||
| but are they accessed from pir much? | 23:25 | ||
| or rather, what would be the advantage of turning them into pmcs? | 23:28 | ||
| NotFound | rg: mainly to avoid the need of manage refcounting from a lot of places | ||
| Whiteknight | right, they're managed separately from the rest of all Parrot memory | 23:37 | |
| dalek | rakudo: b06767c | jnthn++ | src/ (2 files): | 23:39 | |
| Whiteknight | well, that last statement makes it sound like Parrot is managing memory in a sane and consistent way, which it isnt | ||
| dalek | rakudo: Document our dynops and rename one of them to something less misleading. | ||
|
23:39
dalek joined
|
|||
| jonathan | lolz | 23:40 | |
| dalek canny take my commits. :-| | |||
|
23:41
bacek_ joined
|
|||
| bacek_ | morning... | 23:43 | |
| GeJ | G'd day bacek_ | 23:44 | |
| bacek_ | G'day GeJ | 23:45 | |
| darbelo | Is there an easy way to pmc_new() a dynpmc I only know by name? | 23:48 | |
| Whiteknight | darbelo | 23:49 | |
| : define easy: | |||
| (my fingers are stupid right now) | |||
| darbelo | Implementable in less than three lines of sane c. | 23:51 | |
| But my definition of sane is rather flexible ;) | |||
| NotFound | darbelo: Parrot_PMC_typenum and Parrot_PMC_new | 23:53 | |
|
23:57
gryphon joined
|
|||
| Whiteknight | darbelo: src/pmc.c:pmc_type() | 23:59 | |
| that takes a string name, and returns the type ID number | |||
| pass that to pmc_new to get a new pmc of that type | |||