Camelia, the Perl 6 bug

IRC log for #parrot, 2009-05-11

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:09 tetragon joined #parrot
00:13 bacek_ joined #parrot
00:29 japhb_ joined #parrot
00:45 Whiteknight joined #parrot
02:41 janus joined #parrot
03:06 darbelo Is dalek alive?
03:11 Infinoid dunno, it isn't a terribly interactive bot
03:12 Infinoid its channel log is up to date, so I guess so
03:16 darbelo Did he stop tracking parrot.org blogs then?
03:16 dalek website: darbelo++ | Singletons: On their use and abuse.
03:16 dalek website: http://www.parrot.org/content/singleto​ns-how-create-them-and-way-abuse-them.
03:16 * Infinoid whistles innocently
03:18 Infinoid I didn't touch it, honest :)
03:19 darbelo Probably the parrot.org rss was lagging, assuming I believe you ;)
03:20 Infinoid darbelo++ # keeping dalek honest
03:23 Austin_Hastings joined #parrot
03:23 dalek tracwiki: v19 | allison++ | ChrootSetup
03:23 dalek tracwiki: https://trac.parrot.org/parrot/wiki/C​hrootSetup?version=19&action=diff
03:23 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.
03:25 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:26 darbelo left #parrot
03:26 darbelo joined #parrot
03:26 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:27 Infinoid I mean, there isn't much code behind it, but it's still not something you should have to do by hand
03:28 Infinoid 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:30 darbelo I don't think 'singleton' can be inherited, really. I just means "there is only one instance (per interpreter)".
03:31 darbelo The whole *_pointer() thing looks to me like an implementation detail that got leaked out.
03:31 Infinoid agreed.
03:31 Infinoid It's probably just a case of "had to put it somewhere"
03:31 darbelo left #parrot
03:31 darbelo joined #parrot
03:32 Infinoid but since those vtables are used for different things in other pmcs, it does cause confusion
03:34 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
03:34 Infinoid I was used to using it for C-level structures the PMC was wrapping, which is why I was confused
03:35 Infinoid 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.
03:36 darbelo The fact that all the other ways to do it work is a just a happy coincidence.
03:37 * Infinoid likes to optimize for happiness
03:37 cotto but there's still too much coincidence
03:38 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:39 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.
03:40 Infinoid So don't do that. :)
03:41 cotto that'd probably be less intuitive ;)
03:41 darbelo Infinoid,  Why not? Parrot let's you :)
03:42 darbelo "Oh, look it compiled. I must be doing it right, then!"
03:42 Infinoid "SHIP IT!"
03:42 cotto by ship
03:43 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 Infinoid I heard a talk once given by Rusty Russell, a linux kernel guy, about how he rates APIs.
03:43 cotto I will, but I won't bring a present
03:44 Infinoid There are APIs that are impossible to use wrongly.  They're good, but extremely rare
03:44 Infinoid compiler errors are almost as good, warnings are almost (again) as good
03:44 Austin_Hastings left #parrot
03:45 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 Infinoid then there are interfaces that are misleading, and then wrong by default, and then impossible to use correctly
03:45 Infinoid This singleton thing isn't great, but I can still imagine worse. :)
03:46 cotto http://www.pointy-stick.com/blog/2​008/01/09/api-design-rusty-levels/
03:47 Infinoid it was one of his talks at OLS I heard
03:47 Infinoid He's worth listening to.
03:47 cotto canada, eh?
03:48 darbelo Right now we are at 9, maybe 7. patching pmc2c would make it a 2, maybe 1.
03:49 Infinoid "common convention" only means "common for singletons", so 7 is pushing it
03:50 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"
03:51 Infinoid I think your 9 rating is accurate
03:51 darbelo Not a 6, then.
03:54 darbelo 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:55 Infinoid with pmc2c defining the right stuff internally, we can make it a 2
03:56 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?
03:56 cotto I want to see a couple examples of "impossible to use incorrectly" interfaces.
03:57 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?
03:57 Infinoid Oh, sorry, his bad one
03:57 Infinoid 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
03:58 Infinoid returning a void is a way of saying it can't fail, despite the fact that it can fail.
04:00 Infinoid 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();
04:00 Infinoid dwim();
04:00 iblechbot joined #parrot
04:00 cotto the only function you'll ever need
04:00 cotto ever
04:01 Infinoid it would even debug itself
04:02 darbelo It can't debug itself it it is bug-free to begin with.
04:03 dalek parrot: r38682 | allison++ | trunk/ports/ubuntu (2 files):
04:03 dalek parrot: [ubuntu] Updating packaging files, preparing for inclusion in karmic.
04:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38682/
04:03 Infinoid darbelo: That's the hard part :)
04:03 cotto we just need to find someone competent enough to implement it.
04:03 Infinoid I've got self-evolving AI, but the evolution process isn't exactly fast
04:04 darbelo skynet()
04:05 Infinoid http://xkcd.com/534/
04:08 darbelo If decnum-dynpmcs work out, parrot can top that.
04:10 darbelo thisAlgorithmBecomingSkynetCost = "+Infinity"
04:11 Infinoid I'm not sure how to implement the algorithm_can_become_skynet() function, either.
04:11 Infinoid I suppose if I can depend on it developing time travel, I can wire a callback from the future
04:13 Infinoid "make test" would take a while tho
04:14 darbelo make test_yourself_and_call_me_when_you_are_done
04:15 darbelo 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.
04:16 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:17 Infinoid gotta wonder about race conditions tho.  Might need to match up the process ID
04:19 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 #parrot
04:20 Infinoid hmm.  speaking of working, my javascript is failing to work in IE
04:26 darbelo Just noticed, did Ubuntu go alphabetically-ordered for their "Adjective Animal" release names?
04:26 cotto yup
04:27 cotto there's even a wiki page listing possibilities
04:29 darbelo They should have thought of that before releasing the Warty Warthog if you ask me.
04:29 darbelo Alphabetical order doesn't strike me as something you can add afterwards.
04:35 darbelo Apparently "10 / Infinity = 0E-6176" when using decnums.
04:35 cotto sounds ok, if not exactly canonical
04:36 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?
04:37 darbelo Yup, but we aren't using it yet.
04:39 darbelo But after division it's supposed to be canonical anyway.
04:41 cotto Mmmm. Bugs.
04:45 darbelo Even with a call to decQuadCanonical right before converting it to string it gives the same result.
04:46 darbelo It looks like it doesn't know that it shouln't print Exxxx for 0
04:48 dalek parrot: r38683 | petdance++ | trunk/src/pmc/object.pmc:
04:48 dalek parrot: removed an unnecessary elements count, and consted a bunch of pointers
04:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38683/
04:49 cotto facepalm
04:49 purl http://jalopnik.com/5101931/cap​tion-this-rick-and-ron-edition
04:50 darbelo Huh?
04:53 darbelo cotto, what prompted the joining of your palm an face?
04:56 cotto that neither division nor the canonicalization function canonicalize that number
04:58 darbelo Ah. I was thinking that but it came right after the commit message, made me doubt it for a minute.
04:59 cotto Heh.  I didn't realize that.
04:59 cotto I have no problem with petdance's commit.
05:00 darbelo Just confirmed it, decQuadToString puts exponents on zeros. h8
05:01 cotto I need sleeps.  Happy wrestling with decNumber.
05:01 darbelo Oh, don't worry. I'm punting this one :)
05:02 darbelo I still have work on the other half of the global-context decnum.
05:07 dalek decnum-dynpmcs: r29 | darbelo++ | trunk/build/src/pmc/Makefile.in:
05:07 dalek decnum-dynpmcs: Remove duplicated make targets, didn't notice they were there before.
05:07 dalek decnum-dynpmcs: review: http://code.google.com/p/decn​um-dynpmcs/source/detail?r=29
05:08 Theory joined #parrot
05:20 TonyC joined #parrot
05:54 cxreg joined #parrot
06:30 uniejo joined #parrot
06:45 Infinoid cotto: heh.  http://ozlabs.org/~rusty/o​ls-2003-keynote/img39.html  (the rant started at http://ozlabs.org/~rusty/ol​s-2003-keynote/img28.html)
08:23 bacek_ Parrot to kill off 1000 Australian jobs
08:23 bacek_ http://www.optuszoo.com.au/article/news/​news_latest/news_latest_ndm/7663204/parr​ot-to-kill-off-1000-australian-jobs.html
08:23 bacek_ O wait...
08:23 bacek_ :)
08:23 bacek_ EDIFFERENTPARROT
08:43 cognominal jonathan, in your blog your write "I want it's keys". Should a French teach you proper English?
08:44 cognominal jonathan++  # nice stuff as usual
08:45 moritz url?
08:46 cognominal http://use.perl.org/~JonathanWor​thington/journal/38949?from=rss
08:47 jonathan cognominal: Je ne parle pas l'anglais! ;-)
08:48 jonathan cognominal: Fixed, thanks! :-)
08:48 cognominal there are other typos
08:48 jonathan Fixed two others too. :-)
08:49 cognominal jonathan++
08:50 cognominal jonathan, have you been invited in the conference we do in autumn?
08:50 jonathan cognominal: Don't think so...when in autumn?
08:51 jonathan If it's October or November I can probably come.
08:51 bacek_ It's already autumn.
08:51 jonathan EWRONGHEMISPHERE
08:51 bacek_ Ah. Ok...
08:51 bacek_ :)
08:52 * bacek_ decommutes to home
08:52 cognominal jonathan, I am asking the people in charge
08:53 jonathan cognominal: OK. In September I plan to head to YAPC::Asia and then bum around in Japan and South Korea. :-)
08:53 jonathan But Oct/Nov I have nothing planned yet.
08:55 cognominal "La conférence OSDC.fr se tiendra bien les 2 et 3 octobre 2009."
08:55 cognominal That will be conference about dynamic languages
08:55 eiro_ joined #parrot
08:56 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
08:56 cognominal I don't know if scala is dynamic
08:56 cognominal too bad
08:58 cognominal jonathan, we are trying hard to ignore some php guy who want to be in the speakers
10:41 donaldh joined #parrot
11:21 donaldh joined #parrot
11:23 masak joined #parrot
11:26 dalek parrot: r38684 | cotto++ | trunk/t/pmc/ro.t:
11:26 dalek parrot: [t] perl->pir conversion of ro PMC test, patch courtesy of bobw++
11:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38684/
11:38 bacek oh hi
11:38 bacek good evening
11:46 eternaleye joined #parrot
12:02 DietCoke joined #parrot
12:02 Coke .
12:13 bacek ...
12:13 bacek 3. Profit!
12:14 dalek parrot: r38685 | bacek++ | branches/pmc_pct/compilers/pmcc/src/parser (2 files):
12:14 dalek parrot: Improve parsing of parameters in MACRO calls
12:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38685/
12:39 rg1 joined #parrot
12:56 riffraff joined #parrot
13:00 gryphon joined #parrot
13:12 Whiteknight joined #parrot
13:13 sFish joined #parrot
13:14 sFish i'm a newer! i'm happy to come here
13:15 sFish do anybody hear me?
13:16 Infinoid hi sFish
13:16 cognominal joined #parrot
13:19 Coke Any rakudo people have any input on http://news.perlfoundation.org/2009/0​5/2009q2_grant_proposal_perl_6_p.html ?
13:19 Coke shlomi?
13:19 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 http://xrl.us/vs8s) or banned or at http://xrl.us/shlomi or kicked off London.pm twice or at http://xrl.us/shlomisdream or banned.
13:19 Coke nice, purl. :P
13:20 masak Coke: I have some input.
13:21 masak Coke: I've been on the verge of writing it as a comment a few times now.
13:22 Coke "I am a voting member of the grants committee and your feedback will help me."
13:22 masak :)
13:22 masak I don't know Herbert Breunung. as far as I know, he's not in #perl6.
13:23 masak what I'm feeling is that we don't need more places where Perl 6 documentation is written.
13:23 masak we already have a problem with people finding outdated courses, wikis and pages
13:24 masak I would much rather see energy being put into any of the existing documentation repositories.
13:26 Coke all good feedback. Are you going to add that to the proposal feedback? =-)
13:27 masak I will, now.
13:27 Coke masak++
13:28 sFish left #parrot
13:28 Infinoid purl, herbert breunung is lichtkind
13:28 purl OK, Infinoid.
13:28 sFish joined #parrot
13:29 Coke Infinoid++
13:30 donaldh left #parrot
13:30 masak ok. lichtkind was on #perl6 7 months ago.
13:31 Infinoid yeah, looks pretty active last year.  http://irclog.perlgeek.de/search.pl?ch​annel=perl6&nick=lichtkind&q=
13:31 masak I'll retract all my comments about 'frequenting the #perl6 channel', then.
13:32 masak but I'll add something about this lacking some grounding in community discussion.
13:32 masak documentation efforts are fine, but they need to be a bit more consensus-based, IMO.
13:35 masak there, commented.
13:35 donaldh joined #parrot
13:35 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:38 PerlJam Infinoid: not that I know of.
13:38 masak Infinoid: http://perlgeek.de/blog-en/perl-5-to-6/
13:38 masak Infinoid: reputed to be really good.
13:38 masak (authored by moritz++)
13:39 Infinoid oh, nice.  masak++
13:39 masak it's the Perl6-from-the-ground-up documentation that is missing right now.
13:39 masak I'm hoping the wikibooks book will help cover that.
13:40 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 Infinoid Larry's languages aren't exactly minimal, it seems :)
13:40 moritz more importantly, Perl 5 has good from-the-ground-up books
13:43 masak and whereas Perl 5 keeps changing gradually too, the changes aren't as drastic as those in Perl 6.
13:44 masak on busy days, the latter feels more like a good game of Nomic.
13:51 Infinoid hmm, Parrot revision r38679 required (currently r0)
13:51 Infinoid rakudo doesn't like my git checkout of parrot
13:51 moritz Infinoid: rakudo executes parrot_config
13:52 moritz 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
13:53 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
13:55 Infinoid parrot doesn't report the svn revision, rakudo just didn't care until now
13:55 moritz yes, right
13:58 Infinoid is there a magic --these-are-not-the-droids-youre-looking-for flag I can use? :)
13:59 dalek parrot: r38686 | Infinoid++ | trunk/compilers/imcc/imcc.y:
13:59 dalek parrot: [cage] Fix some trailing whitespace in IMCC.  Apply edits from "make headerizer".
13:59 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38686/
13:59 moritz Infinoid: no, but I guess you can submit an easy patch
14:00 PacoLinux joined #parrot
14:00 he_ joined #parrot
14:02 Infinoid I'll fix up Parrot::Revision
14:07 ruoso joined #parrot
14:18 gryphon joined #parrot
14:24 Infinoid Parrot r38687 builds rakudo HEAD again.
14:26 dalek parrot: r38687 | Infinoid++ | trunk/lib/Parrot/Revision.pm:
14:26 dalek parrot: [config] Determine revision correctly in git-svn checkouts (and git-only clones of those, like mine).
14:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38687/
14:29 particle1 joined #parrot
14:32 tewk masak: PERL6INC=~/srcs/perl6libs/http-daemon/lib/ bin/run-nibbler
14:32 tewk Can't find ./HTTP/Daemon in @INC
14:33 masak tewk: PERL6LIB
14:33 tewk duh
14:33 tewk masak++
14:33 masak tewk: and html-daemon might work, but the one I've been using is the one in web.
14:34 masak ...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
14:34 tewk didn't run out of the box, so I started down this path
14:34 masak tewk: wow, peaople actually use proto.
14:34 masak tewk: no, you still have to set PERL6LIB manually in some cases.
14:35 masak 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
14:35 masak the latter.
14:36 masak internally, proto handles that by checking dependencies.
14:37 tewk so nibbler runs on a random port?
14:38 tewk nevermind, I'm alreaddy using 8888
14:39 masak not random, just hard-coded.
14:44 Andy joined #parrot
15:14 gryphon joined #parrot
15:20 donaldh joined #parrot
15:24 parrot-poke joined #parrot
15:27 jonathan Hmm...it's not possible to use CONST_STRING in a dynop?
15:29 Coke ISTR chromatic fixed that for dynpmcs, anyway.
15:30 jonathan Yeah, I know it works in dynpmcs.
15:30 jonathan It's not a huge deal. I'm not writing a performance critical op; string_from_literal will do.
15:38 particle- enter a ticket, anyway
15:40 jonathan particle-: good point, will do
15:46 jonathan parrotbug?
15:46 purl parrotbug is mailto:parrotbug@parrotcode.org or http://svn.perl.org/parrot/​trunk/docs/submissions.pod or see also "rakudobug" or needs to be converted to trac
15:51 davidfetter joined #parrot
15:52 Coke parrotbug should just be removed.
15:52 jonathan wtf, I'm supposed to submit through the web interface now?
15:52 Coke (if we're not going to try to post anything on your behalf anyway)
15:52 Coke jonathan: yes.
15:53 jonathan .oO( purl, parrotbug is f**king useless now)
15:53 Coke email2trac installation was never completed, sfaik.
15:55 jonathan #659
15:58 dalek rakudo: 526bf42 | pmichaud++ | docs/spectest-progress.csv:
15:58 dalek rakudo: spectest-progress.csv update: 387 files, 11180 passing, 0 failing
15:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​26bf427a060cb34616c5a3732b7b51eb54f18b0
16:17 iblechbot joined #parrot
16:29 Theory joined #parrot
16:46 Ademan joined #parrot
16:56 dalek parrot: r38688 | allison++ | trunk/ports/ubuntu (2 files):
16:56 dalek parrot: [ubuntu] Karmic also uses standards version 3.8.1.
16:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38688/
16:59 register joined #parrot
16:59 jhorwitz joined #parrot
17:13 Ademan joined #parrot
17:18 NotFound joined #parrot
17:18 NotFound hi
17:23 dalek parrot: r38689 | NotFound++ | trunk (22 files):
17:23 dalek parrot: [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 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38689/
17:36 dalek parrot: r38690 | NotFound++ | trunk/t/compilers/pct (2 files):
17:36 dalek parrot: [cage] drop load_bytecode "library/" prefix in pct tests
17:36 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38690/
17:39 jderque joined #parrot
17:43 dalek parrot: r38691 | NotFound++ | trunk/t (4 files):
17:43 dalek parrot: [cage] drop load_bytecode "library/" prefix in all remaining tests
17:43 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38691/
17:45 jderque left #parrot
17:46 jderque joined #parrot
17:53 dalek parrot: r38692 | NotFound++ | trunk/examples/library/ncurses_life.pir:
17:53 dalek parrot: [cage] fix example ncurses_life
17:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38692/
17:55 frodwith joined #parrot
17:57 mikehh joined #parrot
18:07 burmas joined #parrot
18:11 dalek tracwiki: v20 | allison++ | ChrootSetup
18:11 dalek tracwiki: https://trac.parrot.org/parrot/wiki/C​hrootSetup?version=20&action=diff
18:29 japhb joined #parrot
18:36 burmas joined #parrot
18:40 Coke particle: ping.
18:47 dalek parrot: r38693 | NotFound++ | trunk (24 files):
18:47 dalek parrot: [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 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38693/
18:58 particle- coke: pong
19:03 Coke particle-: I recall you were looking into localization for parrot. if so, did you end up with a plan?
19:04 burmas left #parrot
19:06 darbelo joined #parrot
19:09 particle- partially
19:09 particle- i got mired in other things, never got back to it
19:09 particle- iirc gettext library detection is working
19:10 particle- did a mini test on various oses
19:10 particle- got fallback working for when gettext isn't installed
19:11 particle- i think what's left is:
19:11 Coke .. don't tell me. write a ticket. =-)
19:11 NotFound particle-: Have you thinked about possible interactions between gettext and CONST_STRING ?
19:12 particle- notfound, that's on the "what's left" list :)
19:12 particle- coke: ok, i'll write a ticket when i have a chance
19:12 particle- tight deadline today
19:12 NotFound At least a note like "Don't do that until we have a plan" may be good ;)
19:14 tewk joined #parrot
19:16 fperrad joined #parrot
19:18 fperrad left #parrot
19:19 fperrad joined #parrot
19:20 donaldh joined #parrot
19:26 fperrad left #parrot
19:29 Whiteknight joined #parrot
19:31 dalek parrot: r38694 | NotFound++ | trunk (3 files):
19:31 dalek parrot: [library] generate pcore.pbc and use it instead of his .pir
19:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38694/
19:31 Whiteknight pmichaud: ping
19:39 pmichaud Whiteknight: pong
19:39 Whiteknight hi pmichaud.
19:40 Whiteknight I'm heading down to TX on wed/thurs for work, and wondered whereabouts you live
19:40 pmichaud Plano.  Just north of Dallas.
19:40 Whiteknight oh, darn. We're going to be in Houston
19:40 pmichaud My condolences.
19:40 Whiteknight that's what everybody says!
19:41 pmichaud Ever been to Houston?  ;-)
19:41 Whiteknight nope
19:41 jonathan I had to connect in its airport once. <shudder>
19:41 Whiteknight oh great, so this is going to be a really fun trip
19:41 pmichaud jonathan: I assume you mean Bush Intercontinental Airport?  (Houston has two airports)
19:42 jonathan pmichaud: I can't remember, this was a few years back...
19:42 pmichaud Probably, if you were flying anything but Southwest.
19:42 NotFound The other is Witney Houston?
19:42 jonathan Continental. Flew in from London, connected in Houston, out to Tucson.
19:42 pmichaud The other is Houston Hobby airport.
19:42 PerlJam (Houston Hooby)++  servicing the locals just fine
19:43 PerlJam er, s/Hoo/Hob/
19:43 pmichaud On Continental you undoubtedly went through Bush Intercontinental -- that's one of their major hubs.
19:43 jonathan Most probably.
19:43 pmichaud I've done the Houston-London flight many times :-)
19:43 pmichaud But almost always on KLM.
19:43 Coke (houston) yeha.
19:43 pmichaud Or British Airways.
19:43 purl rumour has it british airways is only charging 850
19:43 jonathan purl, british airways is also losing your luggage
19:43 purl okay, jonathan.
19:43 jonathan purl, british airways is also screwing up terminal 5
19:43 purl okay, jonathan.
19:43 pmichaud purl, british airways is also losing your luggage for only 850
19:43 purl okay, pmichaud.
19:44 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.
19:44 dalek parrot: r38695 | NotFound++ | trunk (6 files):
19:44 dalek parrot: [library] generate TclLibrary.pbc and use it instead of his .pir, and some more s/pir/pbc
19:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38695/
19:44 Coke (while on public property on the other side of the street.)
19:44 pmichaud Whiteknight: what part of Houston will you be at... do you know?
19:45 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?
19:46 Whiteknight no idea
19:46 Coke ... actually, unless it's the doubletree, I won't know. Houston is a beeeeg city.
19:46 pmichaud Heh.  "Yours is a very bad hotel"
19:46 Coke if you have an address, i can probably point you at something reasonably close that is yummy or fun.
19:46 Whiteknight we may be sleeping on the floor somewhere for all i know
19:47 pmichaud (http://www.snopes.com/busi​ness/consumer/badhotel.asp   for those who aren't familiar with the Houston Doubletree :-)
19:48 Coke I remember that story. Thankfully my company paid for the several weeks I spent there while apartment hunting. =-)
19:51 dalek parrot: r38696 | NotFound++ | trunk/t/library (3 files):
19:51 dalek parrot: [cage] some more s/pir/pbc
19:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38696/
19:52 Coke ah. I actually stayed at the OTHER doubletree houston. (probably one of dozens)
19:53 jonathan (doubletree) LOL!
19:55 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 pmichaud (although I've not tried Houston's buses)
19:55 pmichaud s/reservations/recommendations/
19:56 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?
19:56 pmichaud cotto: yapc::na?
19:56 purl it has been said that yapc::na is going back to Pittsburgh for 2009
19:56 cotto pmichaud, yes
19:57 pmichaud I think the hackathon is after yapc::na
19:57 pmichaud before yapc::na is the parrot virtual machine workshop
19:57 pmichaud I don't know how much of a "hackathon" it is.
19:57 pmichaud (there are other workshops pre-yapc as well)
19:57 cotto ok.  I'll just leave an extra day, and if it happens, it happens.
19:57 pmichaud I'm planning to be there on Thursday for hacking, yes.
19:59 Coke houston's bus system is quite nice, IME.
20:01 dalek parrot: r38697 | NotFound++ | trunk (3 files):
20:01 dalek parrot: [library] generate Range.pbc and use it instead of his .pir
20:01 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38697/
20:04 dalek parrot: r38698 | NotFound++ | trunk/t/library/getopt_obj.t:
20:04 dalek parrot: [cage] some more s/pir/pbc
20:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38698/
20:08 dalek tracwiki: v21 | allison++ | ChrootSetup
20:08 dalek tracwiki: https://trac.parrot.org/parrot/wiki/C​hrootSetup?version=21&amp;action=diff
20:11 dalek parrot: r38699 | NotFound++ | trunk/t/library (3 files):
20:11 dalek parrot: [cage] some more s/pir/pbc
20:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38699/
20:38 japhb NotFound: ping
20:39 NotFound japhb: pong
20:39 japhb NotFound: regarding r38693 -- the use of 'include' instead of 'load_bytecode' for OpenGL_funcs.pir was intentional.  :-)
20:40 NotFound japhb: Why?
20:41 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:42 japhb Also, I'm assuming that deleting 'library/' everywhere is because Parrot's loader got more intelligent about default paths?
20:42 gryphon joined #parrot
20:43 Coke purl, owner?
20:43 purl rumour has it owner is hachi, see also #purl
20:43 NotFound japhb: in a discussion in tha list allison stated that the intention is to deprecate that usage
20:43 japhb ah, cool.
20:44 japhb Was that discussion today?
20:44 * japhb wonders how he missed it ...
20:44 Coke no.
20:44 japhb hmm
20:44 NotFound japhb: is an old thread, I've writen on it today
20:45 NotFound In the mailing list, not here
20:45 Coke the thread notfound is referring to is just about killing library/
20:45 japhb OK.  I'll have to check that I've got all the mailing lists still, once I'm at that computer.
20:45 Coke japhb: it's "parrot-dev"
20:45 japhb Coke: nodnod
20:45 Coke parrot-dev?
20:45 purl parrot-dev is mailto:parrot-dev@lists.parrot.org or http://lists.parrot.org/ma​ilman/listinfo/parrot-dev
20:46 silug joined #parrot
20:47 NotFound I don't think including a pir file is a good idea... even if a lot of languages currently do it.
20:48 davidfetter yapc10?
20:48 davidfetter hrm
20:48 davidfetter yapc?
20:48 japhb NotFound: out of curiosity, why?  Assuming, as is the case with OpenGL, that one could never be used without the other?
20:49 NotFound japhb: because of .HLL directives, for example.
20:49 japhb NotFound: the action-at-a-distance issue?
20:49 NotFound And if one will never be used without the other, why don't just include the text in the file?
20:50 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.
20:51 NotFound 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.
20:52 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.
20:53 japhb My understanding was that include/ was for stuff that random PIR code may want, like macro definitions.
20:55 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:57 dalek parrot: r38700 | NotFound++ | trunk (2 files):
20:57 dalek parrot: [library] generate YAML pbcs and use it instead of his .pir
20:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38700/
21:05 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 japhb 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
21:05 japhb 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).
21:07 NotFound Maybe we need to develop a method to do things of that type at module install time.
21:08 NotFound But there is the problem of the need of the header files, usually people have just the library files, not the headers.
21:09 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 japhb And yes, that's definitely an issue.  We would have to start including headers into our module sources.
21:10 japhb 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 japhb *Parrot packages
21:12 japhb 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?
21:12 japhb Perhaps we just need a better way to help people get all the build-requires installed.
21:12 japhb NotFound: yes.
21:13 cotto going to yapc?
21:13 purl See : going to yapc::na or yapc::whatever or cwest, uri, DrForr
21:13 cotto going to yapc::na?
21:13 purl well, going to yapc::na is hachi, hobbs, apeiron, hercynium, DrForr or dhoss
21:13 cotto going to yapc10?
21:13 purl going to yapc10 is kid51 or pmichaud or davidfetter
21:13 cotto going to yapc10 is also cotto
21:13 purl okay, cotto.
21:13 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.
21:14 japhb And ABI?  Fuggedaboudit
21:14 japhb (GLX, sure ... but that's a special case)
21:14 NotFound With ncurses and others is a lot easy.
21:15 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:17 japhb 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:19 rdice joined #parrot
21:21 NotFound There are things that the current NCI can't do... and maybe that any reasonable way can't do
21:21 dalek parrot: r38701 | NotFound++ | trunk/tools/util/crow.pir:
21:21 dalek parrot: [tools] use Crow.pbc instad of his pir
21:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38701/
21:22 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 japhb Sadly, $day_job trumps.
21:23 NotFound I hope that after the calling conventions revisit get done some current problems may be easier to locate and get fixed.
21:24 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:25 NotFound I still need to fix the Mysql.pir module, it does not work since some time ago, don't know why
21:28 japhb Whatever happened with the "real C99 header parsing"?  Did that bitrot?
21:30 NotFound Don't know
21:31 cotto It's still in compilers/ncigen, but I don't it's been touched in a while.
21:33 cotto It still passes all its tests, though.
21:33 NotFound Looks like parsing real C99 is not an easy task ;)
21:34 cotto never would have guessed that
21:34 cotto ;)
21:35 NotFound I suspect some people hoped that, but dont have a list with his names ;-)
21:37 NotFound 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:38 japhb I wonder if the difference is even measurable at all ...
21:39 Whiteknight joined #parrot
21:39 NotFound If some day we have pluggable pir compiler, the difference might be not neediing to load the compiler
21:40 japhb NotFound: Oh, I meant between loading two PBCs and loading one combined PBC.
21:41 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?
21:44 dalek parrot: r38702 | NotFound++ | trunk/runtime/parrot/library (3 files):
21:44 dalek parrot: [cage] some more s/pir/pbc
21:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38702/
21:56 dduncan joined #parrot
21:57 dalek parrot: r38703 | NotFound++ | trunk (3 files):
21:57 dalek parrot: [library] generate Iter.pbc and use it instead of his .pir
21:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38703/
21:59 dduncan left #parrot
22:04 dalek parrot: r38704 | NotFound++ | trunk/t (4 files):
22:04 dalek parrot: [cage] some more s/pir/pbc
22:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38704/
22:14 dalek parrot: r38705 | NotFound++ | trunk/t/compilers/pge (7 files):
22:14 dalek parrot: [cage] some more s/pir/pbc
22:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38705/
22:18 cotto Wasn't there a proposal to make load_bytecode "Foo/Bar" work by searching for Foo/Bar.pbc, then Foo/Bar.pir?
22:19 Whiteknight there was something like that, yes
22:19 Whiteknight I don't remember the outcome
22:19 cotto me neither
22:21 particle- there was no outcome
22:21 particle- "yes, that's nice.  we'll figure out how and what later."
22:22 particle- seems it's later now.
22:22 particle- we need to be able to tell the bytecode loader what the search order should be
22:22 particle- pir then pasm then pbc? vice versa? other?
22:23 particle- tunable at runtime? compiletime? etc.
22:27 cotto particle-, do you know where the thread is, or should "someone" start a new one?
22:29 particle- it was long ago.  istr the irc nick codermattie
22:29 particle- but not the email name... maybe mark something?
22:29 particle- 1-2 years ago
22:29 particle- ah, probably mark mattie.
22:31 cotto mike mattie?
22:36 particle- yeah, right.
22:36 particle- in eastern washington state, iirc
22:42 dalek rakudo: 2b685ac | pmichaud++ | src/parser/actions.pm:
22:42 dalek rakudo: Refactor subtype handling to eliminate redundant code.
22:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​b685ac6e214e96c1d0c883af3db7f1cd573f0a5
22:42 dalek rakudo: 6fc9344 | pmichaud++ | src/parser/actions.pm:
22:42 dalek rakudo: Refactor implicit $_ as parameter on blocks.  As a bonus, such
22:42 dalek rakudo: blocks now properly respond to .signature (where they didn't before).
22:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​fc93444f6bd44b634a3f71ebf2c505d88900d09
22:42 dalek rakudo: 4e9e1e3 | pmichaud++ | src/parser/actions.pm:
22:42 dalek rakudo: Refactor make_anon_subtype to re-use standard closure functions.
22:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​e9e1e33894f0d118901bba0b2cfc8f908e2c82b
22:43 cotto finally found it
22:44 cotto http://groups.google.com/group/perl.perl6.int​ernals/browse_thread/thread/9c4fafd677b057ff
22:44 cotto particle++ for remembering the guy's name
22:45 cotto aka RT #41908
22:45 NotFound If you want to cimpile pir you just to need to specify .pir
22:46 NotFound In a op called load_bytecode, trying to load a bytecode file looks somwhat logical ;)
22:48 cotto I'm easily attracted to shiny things that have the appearance of DTRT.
22:49 Infinoid yay, shiny!
22:50 darbelo DTST?
22:51 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 ;)
22:52 NotFound If we do that, we can drop the pbc format and save a lot of worries ;)
22:52 Infinoid NSPushCandyColoredButton()
22:52 Infinoid is there anything that loading pir can do which loading pbc can't?
22:53 NotFound Execute :inmediate blocks?
22:53 Infinoid if :immediate blocks are intended to be run at compile-time, that seems fair
22:54 NotFound I've converted today a lot of load_bytecode of .pir to .pbc, and looks like all works fine.
22:56 NotFound The failures were just .pbc not been generated by the Makefile, I fixed that instead of leaving the .pir
22:56 NotFound In fact there were several TODO: use .pbc instead of .pir
22:57 NotFound Don't know why someone put that TODO instead of DO
23:00 rg there are a number of tests skipped for the -r option, saying that lexicals are not thawed properly from pbc
23:04 NotFound But that is related to the .pir being tested, not library files being loaded, isn't it?
23:05 rg yes, i meant that in response to infinoid's question whether there are things that don't work with pbc
23:11 gryphon joined #parrot
23:14 gryphon_ joined #parrot
23:14 Eevee joined #parrot
23:15 kid51 joined #parrot
23:17 Whiteknight is there anybody around here who really understands the context system?
23:18 tetragon joined #parrot
23:18 rg s/around here//? ;)
23:18 Whiteknight true
23:18 Whiteknight i thought I understood it, but I see now that it's much more complex then I thought it was
23:19 Whiteknight and for that matter, it's far more complicated then I think it needs to be
23:19 Whiteknight 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
23:19 rg the whole thing?
23:19 purl the whole thing is confounded.
23:19 rg purl forget the whole thing
23:19 purl rg: I forgot whole thing
23:19 cotto purl++
23:20 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 donaldh joined #parrot
23:21 cotto Whiteknight, what's the advantage of doing that?
23:22 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
23:22 Whiteknight plus, there are lots of opportunities for major optimizations
23:23 Whiteknight rg: Contexts do store and manage registers, yes. But that's only one part of what they do
23:24 Whiteknight 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
23:24 rg oh right, exception handler list too.
23:25 rg but are they accessed from pir much?
23:28 rg 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
23:37 Whiteknight right, they're managed separately from the rest of all Parrot memory
23:39 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
23:39 dalek rakudo: Document our dynops and rename one of them to something less misleading.
23:39 dalek joined #parrot
23:40 jonathan lolz
23:40 jonathan dalek canny take my commits. :-|
23:41 bacek_ joined #parrot
23:43 bacek_ morning...
23:44 GeJ G'd day bacek_
23:45 bacek_ G'day GeJ
23:48 darbelo Is there an easy way to pmc_new() a dynpmc I only know by name?
23:49 Whiteknight darbelo
23:49 Whiteknight : define easy:
23:49 Whiteknight (my fingers are stupid right now)
23:51 darbelo Implementable in less than three lines of sane c.
23:51 darbelo But my definition of sane is rather flexible  ;)
23:53 NotFound darbelo: Parrot_PMC_typenum and Parrot_PMC_new
23:57 gryphon joined #parrot
23:59 Whiteknight darbelo: src/pmc.c:pmc_type()
23:59 Whiteknight that takes a string name, and returns the type ID number
23:59 Whiteknight pass that to pmc_new to get a new pmc of that type

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

Parrot | source cross referenced