Camelia, the Perl 6 bug

IRC log for #parrot, 2010-06-18

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:18 dalek parrot: r47677 | whiteknight++ | trunk/src/gc/gc_private.h:
00:18 dalek parrot: [gc] small stylistic nit
00:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47677/
00:21 bacek_at_work whiteknight, wrong file for "stylistic nit". It should be in gc_massacre branch, not trunk!
00:21 whiteknight whatever, it was a change I made last night, and it would take as much effort today to revert it as to just commit it
00:24 jnthn Out of random curiosity, last night I tried to reduce GC overhead and memory usage by switching the RPA in Object used for attribute storage to be a C array of PMCs. The patch worked (apart from one test fail that could be fixed), but actually made Grammar.pm and Actions.pm builds take *more* memory. I can't figure out why - it looks like it's leaking, but I don't have time anytime soon to look at it more.
00:24 jnthn http://gist.github.com/443011 is the patch, if anyone should want to play with it.
00:24 whiteknight jnthn: might just do that. more memory usage is certainly counterintuitive
00:25 jnthn whiteknight: Yeah. I feared that destroy where I free the C array may not have been being called, but I shoved a breakpoint in there and sure enough, it was.
00:26 jnthn I noticed oo.c now also pokes into the object and class PMCs - I'm sure they used to be fairly encapsulated (I mean, they played with each other, but outside stuff used the VTABLE interface.)
00:26 whiteknight oo.c and object.pmc have never been encapsulated
00:27 jnthn For clone in this case. Not sure why that wasn't left in the VTABLE clone method instead.
00:27 whiteknight their like siblings who got married
00:27 whiteknight they're*
00:27 jnthn I'm pretty sure - though may be wrong - that the whole clone implementation for object used to be in object.
00:27 jnthn er, in the object PMC that is.
00:28 whiteknight it was never that way as far back as I remember, but you would remember further back than I would
00:29 jnthn Anyway, no biggie - at least that's the only other place that pokes at ->attrib_store
00:29 jnthn (outside of the PMCs)
00:30 jnthn Anyway, if anyone can spot my fail that's causing leaks or excessive allocation, I'd be curious to know.
00:30 whiteknight I would really love it if object.pmc were better encapsulated, but I don't think it will happen any time soon
00:30 jnthn And yes, the patch is a bit messy - I was just seeing what kind of decrease I could get. A negative one, alas...
00:32 jnthn Thing is, parse trees and PAST trees and POST trees are just a mass of objects, so I'd have expected some kind of a win.
00:33 whiteknight there is definitely win to be had, we just have to coax it out
00:35 dalek parrot: r47678 | whiteknight++ | failed to fetch changeset:
00:35 dalek parrot: [ns_func_cleanup] merge the ns_func_cleanup branch. Renames a bunch of functions in global.c (which is now namespace.c)
00:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47678/
00:39 tcurtis jnthn: I don't think changing the implementation of attributes will affect the memory usage of PAST or POST much. PCT::Node is a subclass of Capture. I don't think they have any actual attributes.
00:42 jnthn tcurtis: PIR subclasses of PMCs still would thus allocate an RPA to hold the PMC object's attribute data.
00:42 jnthn So we'd save a GC-able per node.
00:42 kid51 joined #parrot
00:44 kthakore darbelo: ready for the excuses
00:46 Coke no, bug the /release manager/ about the docs. not coke.
00:47 tcurtis jnthn: Ah. I didn't realize the Capture hash and array attributes would be stored in an RPA.
00:47 Coke dukeleto: note that DEPRECATED.pod points people to the wiki page where they should be entering this stuff.
00:47 kthakore what is the parrot-dev mailing list again?
00:47 Coke parrot-dev?
00:47 purl hmmm... parrot-dev is mailto:parrot-dev@lists.parrot.org or http://lists.parrot.org/ma​ilman/listinfo/parrot-dev
00:48 whiteknight jnthn: I am putting together a patch for rakudo in a fork. Who would I talk to about getting that pulled into rakudo master when it's ready?
00:50 kthakore Coke: well that would have been smart
00:50 Coke whiteknight: rt.perl.org/rt3
00:51 whiteknight Coke: ?
00:51 Coke ... which is where patches to rakudo go?
00:51 dalek parrot: r47679 | coke++ | branches/html_cleanup (9 files):
00:51 dalek parrot: Begin to remap layout of generated html using a simple json layout
00:51 dalek parrot: (intended to replace config-in-code of Parrot::Docs::Section::*)
00:51 dalek parrot: (pick JSON as we might eventually do this with parrot.)
00:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47679/
00:52 whiteknight oh, so no direct pulls, only patches on rt?
00:53 Coke they were just discussing how pmichaud at least does not particularly care for pull requests.
00:53 whiteknight bah
00:53 Coke certainly you can fork to do the work, but patch is preferred.
00:54 Coke (you can always make the request and hope someone grabs it. =-)
00:54 * Coke asks for vague feedback on his json files.
00:54 whiteknight maybe they just need to give me a commit bit. Save everybody the effort
00:54 Coke (the plan is to use those to figure out what to generate for .html instead of the to-me-convoluted Parrot::Doc objects.
00:55 cotto_work Coke, looks like it's json.
00:55 cotto_work Is that vague enough?
00:55 Coke cotto_work: 'tis, in fact. I even ran it through a tidier to validate it before commiting. :P
00:57 Tene whiteknight: you can also just put the git info in a ticket, for pulling with git
00:57 Tene whiteknight: which is what I'd prefer, personally.
00:58 tcurtis Coke: http://trac.parrot.org/parrot/browser/branches/h​tml_cleanup/docs/index/developer.json?rev=47679 should the "title" of this be "Opcodes"?
00:58 jnthn whiteknight: As @other have noted, patches are the preferred way at the moment.
00:58 jnthn Well
00:58 jnthn Not preferred by all evidently. ;-)
00:59 whiteknight jnthn: okay, well I just committed the fix to my rakudo repo. So I can do whatever is needed now.
00:59 whiteknight http://github.com/Whiteknight/rakudo/commi​t/3d3418f08ff2d53821d8904a0994679f454a17d2
00:59 whiteknight so tell me what you want me to do with it
01:00 jnthn Please send in a RT with either a link to that URL or a patch saying it's needed for Rakudo to build on latest Parrot.
01:00 jnthn Somebody will apply it probably in pretty short order.
01:00 whiteknight 'salright
01:00 jnthn As for me, it's 3am so I'm gonna sleep. :-)
01:00 jnthn o/
01:01 Coke tcurtis: danke, fixed!
01:02 whiteknight holy crap, how do you create a ticket on rt?
01:03 whiteknight I can't remember, and I don't see any links here that look like "submit a damn ticket"
01:04 whiteknight ...fuggedaboutit. I'm not spending more time and effort trying to submit the patch as it took to create it.
01:05 Tene whiteknight: I've always used the mail alias...
01:05 Tene purl: rakudobug?
01:05 purl it has been said that rakudobug is mailto:rakudobug@perl.org
01:05 Tene yeah, that
01:05 purl Sure, that.
01:08 abqar joined #parrot
01:08 dalek parrot: r47680 | coke++ | branches/html_cleanup/docs/index/developer.json:
01:08 dalek parrot: Cut and pasto. tcurtis++ for the fix.
01:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47680/
01:11 whiteknight Coke: which should I be patching, partcl or partcl-nqp?
01:14 Coke whiteknight: both
01:15 Coke you want a commit bit?
01:15 whiteknight I won't use it beyond this fix
01:16 eternaleye joined #parrot
01:17 dukeleto Coke: key word is "should" i guess
01:22 kthakore cotto_work: darbelo sent ... now lets just hope ppl don't hate me
01:25 whiteknight Coke: first pull request sent
01:26 whiteknight ..and partcl-nqp builds fine with no fixes
01:26 whiteknight my work here is done
01:29 whiteknight kthakore: no hating!
01:30 whiteknight kthakore: it's good criticism. A deprecation notice did go out, but it was maybe not very well worded
01:32 kthakore whiteknight: itisnotmyfault ... wahhhhh sorry
01:32 kthakore whiteknight: cotto_work made me do it
01:32 tcurtis whiteknight: The relevant deprecation notice was that "Parts or all of: bit.ops, debug.ops, io.ops, math.ops, obscure.ops, set.ops (the obscure and rarely used parts), sys.ops." would be moved to dynops. http://trac.parrot.org/parrot/changeset/37443
01:32 whiteknight kthakore: no worries. Emails are good. I'm putting together a nice reply
01:32 whiteknight yes, it was a bad notice
01:32 kthakore tcurtis: that makes .... no sense to me sorry
01:32 whiteknight and a symptom of a bigger problem that we should fix
01:33 kthakore tcurtis: all it looked to me ( the end user ) was brackets are needed now ... like what?
01:33 kthakore tcurtis: I am noob I know but ... just my pov
01:34 cotto_work looks like this is one of those mssages that outlook will choose to show me when it's good and ready.
01:34 kthakore cotto_work: hah
01:35 cotto_work I'll probably get the original after whiteknight's reply.
01:36 kthakore cotto_work: it prolly went to the spam as it has the word critism in it
01:37 tetragon joined #parrot
01:38 Coke whiteknight: applied.
01:38 purl rumour has it applied is useful
01:38 tcurtis kthakore: Actually, I think the fix is to add some .loadlib directives to your PIR. Some of the formerly core ops were moved to dynops that you need to load to use. I don't do much PIR so I don't know exactly what dynoplibs you need to load.
01:38 Coke and fwiw, I had no problems with the fork queue.
01:40 tcurtis kthakore: The error messages you're getting are because IMCC is seeing an identifier it doesn't recognize as an op(because it's now a dynop and the appropriate dynoplib hasn't been loaded) and assuming it's a sub call and being confused when it doesn't see any parentheses.
01:40 kthakore tcurtis: see I never doubted there was a valid reason for all this
01:41 kthakore but ... tcurtis a change this drastic in 5 months ... it is like building on sand
01:42 kthakore tcurtis: do you really expect people to come back and update their libraries over and over again if you guys are changing stuff so quickly?
01:44 cotto_work I think the problem will be lessened if we can point at a wiki page and say "you'll need to make these changes to your code when moving between x.y and x.y+3 ."
01:45 Coke which was the point of the Deprecations page, btw.
01:45 cotto_work but nobody's using it, so we're clearly doing it wrong
01:46 cotto_work That page needs better organization too.
01:46 Coke yup. I certainly feel kthakore's pain, see my previous rants about partcl.
01:47 kthakore cotto_work: not to mention the docs ...
01:47 kthakore which should be updated no?
01:49 tcurtis kthakore: I don't think that the way that this change was handled was best. Especially not the extremely broad deprecation notice or the lack of updates to the docs on the website to reflect the change.
01:50 tcurtis It appears that the docs built by "make html" have been updated, though.
01:50 cotto_work on the plus side, it's a good call to action
01:51 * kthakore hugs Coke. I feel ya buddy.
01:55 sorear I didn't realize end users were supposed to use PIR
01:55 cotto_work I love having a todo list on the wiki
01:55 * cotto_work goes away
01:57 whiteknight email sent
02:02 kthakore whiteknight: thanks it makes sense
02:02 kthakore sorear: well that is what SDL was in on the trunk
02:02 kthakore sorear: should I use something else?
02:02 whiteknight kthakore: we cant make everybody happy, but w should try harder
02:02 kthakore sorear: this uses NCI btw
02:03 kthakore whiteknight: no I get it but I am glad depreceation will be address
02:04 kthakore whiteknight: I actually did see the IMCC deprec ... but it never translated to brackets around printerr for me
02:04 kthakore whiteknight: I guess I am still fairly new at PIR
02:04 kthakore whiteknight: it just the shock of 'ok I fixed broken thing. Let put it down and come back. WTH it is more broken now. Who put the turd in the punchbowl?'
02:05 kthakore whiteknight: I would have raged but you guys are nice :)
02:05 dalek tracwiki: v24 | cotto++ | CottoTasklist
02:05 dalek tracwiki: add release signing and deprecation process updates
02:05 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Cot​toTasklist?version=24&action=diff
02:05 whiteknight we have earning and improving to do across the board: technical ad soial
02:06 whiteknight social*
02:08 TiMBuS joined #parrot
02:10 kid51 codingstd failure in trunk:  c_function_docs.t:  6 functions in src/namespace.c
02:10 kid51 whiteknight:  Is that from your merge?
02:11 whiteknight might be, but that test didn't fail locally pre-commit
02:12 nopaste "kid51" at 192.168.1.3 pasted "[codingstd] c_function_docs.t fails on src/namespace.c" (69 lines) at http://nopaste.snit.ch/21356
02:14 sorear kthakore: for the record, brackets won't work
02:14 sorear kthakore: or shouldn't, anyways.  the code will compile with them but it should crash at runtime
02:15 kthakore sorear: well I gave up before it got to tests
02:16 plobsing joined #parrot
02:16 mikehh kid51: was working on it
02:17 kid51 thanks
02:17 * kid51 must sleep and go to yapc
02:20 sorear kthakore: printerr "Foo" is an operator, printerr("Foo") is a call to a sub named "printerr"
02:20 sorear the two are entirely different
02:22 kthakore sorear: oh that makes sense
02:42 janus joined #parrot
02:42 kthakore sorear: the error was this btw error:imcc:syntax error, unexpected STRINGC, expecting '(' ('
02:44 kthakore sorear: so you can understand my confusion
02:46 dalek parrot: r47681 | mikehh++ | trunk/src/namespace.c:
02:46 dalek parrot: fix codetest failure - pod requires a maximum line length of 78 chars
02:46 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47681/
02:50 sorear kthakore: Hating IMCC is a popular pastime around here.
02:51 kthakore sorear: well I am just joining so ... sorry?
02:57 dalek rakudo: 28aaf32 | (Solomon Foster)++ | src/core/operators.pm:
02:57 dalek rakudo: If the generating Block in the series operator returns something undefined, the
02:57 dalek rakudo: series terminates.
02:57 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​8aaf32ca3855d151f0744a48e635ad9db185ec1
03:03 sorear kthakore: what are you apologizing for?
03:17 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34465), fulltest) at r47681 - Ubuntu 10.04 amd64 (gcc)
03:19 dalek parrot: r47682 | coke++ | branches/html_cleanup/docs/index (7 files):
03:19 dalek parrot: type was always group, no need to specify it.
03:19 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47682/
03:22 kthakore sorear: I am canadian .... we apologize by default
03:32 snarkyboojum joined #parrot
03:59 LoganLK joined #parrot
04:03 Coke did someone mention to kthakore that he needs " .loadlib('io_ops') " to fix his bug?
04:03 Coke ala http://github.com/partcl/partcl/commit/9​37f31f7c409e87767a419781ddb2826a009e5bd
04:04 * Coke makes some more vague progress on replacing 'make html'
04:05 sorear If that wasn't the first think kthakore saw in the deprecation docs, we have failed.  Horribly.
04:09 dalek parrot: r47683 | coke++ | branches/html_cleanup/docs/index/pdds.json:
04:09 dalek parrot: Use glob syntax instead of something zsh like.
04:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47683/
04:09 dalek parrot: r47684 | coke++ | branches/html_cleanup (1 files):
04:09 dalek parrot: Add first cut at 'make html' replacement.
04:09 dalek parrot: - parse JSON files.
04:09 dalek parrot:   - expand all source/exclude directives.
04:09 dalek parrot:   - handle intra-page sections.
04:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47684/
04:10 tcurtis Coke: I think there were some non IO ops he was having trouble with. He mentioned "cmod", there may have been others.
04:10 sorear Have we gotten dynops to at least stop segfaulting yet?
04:11 snarkyboojum joined #parrot
04:14 plobsing sorear: I'm trying to with the dynop_mapping branch
04:16 plobsing but I'm not sure my approach (your approach really) will be able to handle big compilation units well (eg: rakudo)
04:17 plobsing keeping the ops around in internal form to renumber them at the end could be costly
04:19 plobsing suggestions to address that would be very welcome
04:21 sorear I addressed that at the very beginning
04:21 sorear there's a tradeoff here
04:21 sorear I gave you 2 related versions
04:21 sorear one used 1 word per op table entry, the other 2
04:21 sorear the 2 word version had the advantage of not requiring renumbering at the end
04:22 sorear because you can assign a number to an op as soon as you need a number for the op
04:22 plobsing oic. I only recalled the 1 word per op version.
04:22 sorear the cost of doing this is that it's not possible to guarantee all ops from the same oplib are contiguous, which means an extra word per op in the descriptor table
04:23 snarkyboojum joined #parrot
04:23 plobsing I'm not even sure the renumbering variant is feasible due to various features (eg: :immediate, :outer, etc...), which is why I haven't made much progress.
04:25 plobsing I'll try the 2 word/op variant. Hopefully it will go better.
04:59 dalek rakudo: 0b83903 | util++ |  (13 files):
04:59 dalek rakudo: Fixed various typos in comments and error messages.
04:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​b839037be4c41984d354394afe8127b86ef3dae
04:59 dalek rakudo: 712cba4 | util++ | src/core/operators.pm:
04:59 dalek rakudo: Merge branch 'master' of github.com:rakudo/rakudo
04:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​12cba424bdb571e3f8b427cbb18fb67141ef9ce
05:08 tewk joined #parrot
05:31 dalek parrot: r47685 | plobsing++ | branches/dynop_mapping (3 files):
05:31 dalek parrot: make room for optable index for 2-word-per-op bytecode mapping for dynops
05:31 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47685/
05:44 preflex joined #parrot
05:52 parthm joined #parrot
06:19 mats joined #parrot
06:22 parthm left #parrot
06:40 eternaleye joined #parrot
06:44 LoganLK joined #parrot
06:45 fperrad joined #parrot
06:51 fperrad_ joined #parrot
06:54 dalek rakudo: 717459e | moritz++ | src/core/Pair.pm:
06:54 dalek rakudo: Pair.invert
06:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​17459efdad0abb857c55e2096fc954af1b9acff
07:01 snarkyboojum joined #parrot
07:01 eternaleye joined #parrot
07:09 snarkyboojum joined #parrot
07:11 dalek website: tcurtis++ | A first optimization with PAST::Pattern, in detail
07:11 dalek website: http://www.parrot.org/content/firs​t-optimization-pastpattern-detail
08:27 clinton joined #parrot
08:50 jhelwig joined #parrot
09:21 wagle_ joined #parrot
09:30 dalek rakudo: 6ec1691 | moritz++ | t/spectest.data:
09:30 dalek rakudo: run one more test file (regex interpolation)
09:30 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​ec1691ebd5dfc51936280904f4a11e3da82b671
10:13 jan joined #parrot
10:40 snarkyboojum left #parrot
10:54 cosimo joined #parrot
10:59 cosimo joined #parrot
11:08 tetragon joined #parrot
11:16 jhelwig joined #parrot
11:25 wagle joined #parrot
11:45 whiteknight joined #parrot
11:47 khairul joined #parrot
11:48 lucian joined #parrot
11:48 Essobi joined #parrot
11:52 whiteknight good morning, #parrot
12:02 whiteknight tcurtis++ # All the blogging!
12:19 dalek rakudo: efcf64d | moritz++ | docs/release_guide.pod:
12:19 dalek rakudo: mathw++ is our release manager for August 19th
12:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​fcf64d9a77acc4284a0e2ce04dec9b98d3cf170
12:26 kjeldahl joined #parrot
12:27 cognominal joined #parrot
12:28 JimmyZ joined #parrot
12:36 dalek rakudo: 3da39cf | snarkyboojum++ | tools/progress-graph.pl:
12:36 dalek rakudo: Increase the width of the spectest progress graph
12:36 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
12:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​da39cf2b3e038ffd60048e6093550da09581516
12:43 kthakore whiteknight: good morning
12:43 purl For you maybe.
12:43 kthakore cotto_work: I like that drupal idea!
12:43 whiteknight good morning kthakore
12:44 whiteknight your email seems to have generated a lot of good discussion. I'm glad about that
12:44 kthakore whiteknight: I vote for drupal like depreceation stuff
12:44 kthakore whiteknight: it is soo much less painfull
12:44 kthakore whiteknight: who is the general guy to talk about how docs are done?
12:45 whiteknight kthakore: we don't have a single "docs" guy right now. I used to do it so you can definitely talk to me abou tit
12:47 kthakore whiteknight: ok well where does a new comer (for extending parrot) go to read docs?
12:47 kthakore whiteknight: the NCI stuff is ... lacking
12:48 snarkyboojum joined #parrot
12:48 kthakore whiteknight: I mean you guys have a lot on making languages but not really for extension of parrot
12:49 whiteknight kthakore: yes, it is a weakspot for us now
12:49 whiteknight If you can put together a list of questions or docs you would like to see, we can start writing them
12:49 kthakore oh ok
12:49 kthakore whiteknight: ok
12:49 kthakore whiteknight: on my todo list for posts to do today
12:49 whiteknight excellend
12:49 kthakore d?
12:49 purl d is probably http://www.digitalmars.com/d/ or for dickgirls
12:49 * whiteknight has stupid fingers today
12:49 kthakore hehe
12:50 kthakore or butterfingers
12:57 Coke (docs guy) I am currently working on revamping the html docs, fwiw.
12:57 Coke as opposed to "finding existing docs"
12:59 kthakore oh ok
12:59 kthakore Coke: I will have some questions form a parrot extenstion point of view
13:00 Coke our docs have ... 3 problems.
13:00 Coke 1) things that put docs together are broken
13:00 moritz we?
13:00 * purl assimilates moritz into the borg
13:01 Coke 2) thigns that put docs together don't insure we're getting all the docs that are written and collating them nicely.
13:01 Coke 3) we're missing a lot of docs altogether. (or they are old)
13:01 Coke moritz: you.
13:01 Coke ?
13:01 moritz Coke: we put docs together, so we are broken
13:02 Coke I meant, for example, that 'make html' generates many 0-byte html files.
13:02 * Coke will fixup all the technical borkage so folks can just write pod.
13:10 atrodo joined #parrot
13:13 Coke I need an html templating syntax for 'make html'. what's the current perl favorite. (I just need variable expansion and nothing else, and just need a common syntax to copy.
13:13 Coke html::template? mason?
13:14 Coke text::template looks nice.
13:15 atrodo I'm a fan of template toolkit
13:18 cognominal joined #parrot
13:19 dalek rakudo: 3b87387 | pmichaud++ | docs/ROADMAP:
13:19 dalek rakudo: Update ROADMAP with new release date, completed items.
13:19 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​b87387bbe33778915d52fc8925aa78b918ffa0c
13:36 cotto . o 0 (Why am I awake this early?)
13:37 whiteknight cotto: if it was me, I would say "because the damn baby starts crying at 4am"
13:37 whiteknight but I don't know what your excuse it
13:37 whiteknight is
13:38 cotto excuse?
13:38 cotto I thought purl had something for that.
13:40 Coke (template toolkit) sold. [% foo %] it is.
13:41 PerlJam Coke++  (I like TT too :)
13:45 kthakore Coke: oh ok that makes sense
13:45 kthakore Coke: but that sucks becuase it prevents new comers from doing stuff with parrot imo
13:52 Coke kthakore: I'm not saying this is desirable.
13:52 pid joined #parrot
13:52 kthakore Coke: oh ok
13:52 Coke I am trying to fix a bit of infrastructure rot that makes it hard for people to just write docs. hopefully this will help improve things.
13:53 kthakore rot is such a pain
13:59 lucian_ joined #parrot
14:01 bubaflub joined #parrot
14:05 dalek rakudo: d2add46 | pmichaud++ | src/Perl6/Grammar.pm:
14:05 dalek rakudo: Restore #=(...) comment syntax.
14:05 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​2add46aeab983c9082ca985d64685a59d748577
14:07 patspam joined #parrot
14:32 NotFound kthakore: we need lots of questions from extensions point of view.
14:33 kthakore NotFound: oh hai
14:33 NotFound And answers, of course, but questions must come first.
14:33 kthakore NotFound: ok. Why is it show hard to configure library locations?
14:34 NotFound kthakore: What library locations? External ones for dynamic linking?
14:36 kthakore yeah
14:36 kthakore NotFound: it is done manually or only looks in certain locations
14:36 kthakore you cannot have something like ./configure --prefix
14:36 kthakore and LIB_RUNTIME
14:37 kthakore so you can control where the path is
14:37 NotFound kthakore: unless you have specific configure locations parrot doesn't look anything, the operating system uses its default way.
14:38 NotFound specific configure probes for a particular library, I mean.
14:40 NotFound kthakore: path is not enough to locate a dynamic libray in a specific location. The OS linker has its default ways to locate libs, but if you use full paths you must use full name.
14:42 NotFound And for full name you must take into account things like so.1, so.1.1 and so on, special extensions used by cygwin and others...
14:42 kthakore yeah ...
14:42 * purl doo wop doo wop // shang a langa shanga langaa
14:42 NotFound Most libraries and packages are written without any provision for runtime linking.
14:43 kthakore NotFound: so when I have SDL libs in path why can it not find them?
14:43 kthakore NotFound: yeah but NCI *is* runtime linking
14:43 NotFound kthakore: In linux?
14:43 purl hmmm... In linux is there a way to spy on a filehandle for another process and determine the 'tell' position for it... or is that syscall 'pos'... I don't remember
14:43 kthakore NotFound: yeah
14:43 kthakore NotFound: I updated parrot and had to manually change each library path in the .pir files
14:44 kthakore then I gave up
14:44 kthakore for today
14:44 purl for today is harvest day
14:44 kthakore purl: STFU
14:44 purl it has been said that STFU is DCC SEND "FURBLELOGGER" 0 0 0 or eval: join"",map uc,map$_ eq"i"?"u":$_,("fist"=~/./sg)[2,3,0,1] or "Show Them Fury Unleashed" or St. Thomas Franciscan University or shut the fuck up or subsiste sermonem statim
14:44 kthakore jeez
14:44 NotFound kthakore: linux doesn't use PATH to locate libs, you have ldconfig and, for special purposes, the environmental vars LD_RUN_PATH and LD_LIBRARY_PAH
14:44 kthakore NotFound: I did both
14:44 * kthakore cries ...
14:45 kthakore NotFound: I think I should just make a test.pir and send it to you guys in a ticket ...
14:45 NotFound kthakore: What pir files?
14:45 kthakore NotFound: SDL.pir and so on
14:46 NotFound kthakore: In the repo, or in the extern sdl project?
14:47 kthakore NotFound: http://github.com/kthakore/parrotSDL (which is from repo but as a plummage and some fixes)
14:47 NotFound kthakore: take a look at examples/nci/Xlib.pir, it does some exercises to locate libX
14:50 NotFound I see you already have something like that.
14:51 kthakore NotFound: which fails now
14:51 kthakore NotFound: well a lot does now
14:52 NotFound You may want to add 'libSDL-1.2.so', without the .0
14:52 kthakore NotFound: did that today ... no dice
14:52 kthakore NotFound: that repo is 5 months ago
14:53 kthakore NotFound: it was working back then ... not now
14:53 NotFound kthakore: is most Debian type packages the .so without numbers is provided by the -dev package.
14:53 kthakore right
14:54 NotFound IMO the prefered way is to try that one first.
14:54 kthakore but you do realize that when you search for libraries there should be a cross paltform interface
14:54 kthakore like -lsdl and parrot goes and finds .so or .dylib or .dll or .whatever
14:55 kthakore the fact that I have to do libSDL.so.0 or libSDL.so is not how it is done
14:55 NotFound kthakore: in that case you aren't who look, the OS and the linker does.
14:55 kthakore NotFound: or is parrot only going to be for linux
14:55 kthakore NotFound: right but why does it not do that right now?
14:55 kthakore how do I get the os to do it?
14:55 kthakore that is my question
14:58 NotFound kthakore: we don't have a good answer for that question. We need some reliable hand-codes solutions, and when we have it we can make parrot do it by default.
14:58 NotFound s/hand_codes/hand-coded
14:59 kthakore what do you mean by hand-coded
14:59 NotFound kthakore: pir, or whatever.
14:59 kthakore oh ok
14:59 NotFound What we currently do, but improved.
15:02 kthakore what and where do you guys do right now?
15:02 NotFound Just check a list of known names.
15:03 kthakore hah ...
15:03 kthakore NotFound: do we have a PASM regex or simple pattern checker?
15:03 NotFound And is some case, like readline and ncurses, configure has probes and they are linked during build.
15:03 kthakore yeah
15:04 sorear the shared library API on most platforms sucks for FFIs
15:04 NotFound And the libraries and packagers sucks, no one cares for runtime linking.
15:05 NotFound A lot even don't know it exists.
15:06 Coke if you want patterns, you need pge (or preferablly, nqprx)
15:06 NotFound I think we have a glob somewhere...
15:06 kthakore Coke: oh ... yeah ... that take time
15:07 kthakore Coke: and I got people questioning me for when SDL is in Perl6
15:07 kthakore NotFound: where in teh codebase right now is the run time linking list finder?
15:08 sorear whiteknight: May I recommend that Parrot adopt a consistant and precisely specified model of exactly when you can get away without locks, most probably copying the Java/Go one?
15:09 whiteknight sorear: yes, having a way to query whether a given piece of data requires locks would be a good thing
15:09 whiteknight a string, for instance, never needs a lock. Some PMCs don't always
15:09 NotFound runtime/parrot/library/osutils.pir has a 'glob' sub
15:09 dalek rakudo: 8a5f383 | pmichaud++ | docs/spectest-progress.csv:
15:09 dalek rakudo: spectest-progress.csv update: 490 files, 33443 (83.7% of 39960) pass, 4 fail
15:09 dalek rakudo: Failure summary:
15:09 dalek rakudo: S05-interpolation/regex-in-variable.rakudo 19 - Nested array match (a)
15:09 dalek rakudo: S05-interpolation/regex-in-variable.rakudo 20 - Nested array match (e)
15:09 dalek rakudo: S05-interpolation/regex-in-variable.rakudo 21 - Multiple array matching
15:09 dalek rakudo: S05-interpolation/regex-in-variable.rakudo 23 - Multiple array non-compiling
15:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​a5f383a96688bb52f39cabfeafac8d0119f10a9
15:09 kthakore NotFound: no no not glob but where is the run time searcher?
15:09 NotFound kthakore: src/library.c
15:09 Coke kthakore: I don't know what to tell you about your time frames.
15:10 kthakore NotFound: thanks
15:10 kthakore Coke: it is not my time frames
15:10 Coke if you want simple literal string matching, there's an opcode for that, I think. if you want globbing or regexps, that's where the code is.
15:10 kthakore Coke: it is just that people think perl6 SDL will be a simple matter
15:10 kthakore NotFound: is there another way to do extension beside NCI?
15:11 kthakore NotFound: like XS ?
15:11 sorear whiteknight: well, that, yeah, but I'm more talking about "when is a write in one thread guaranteed to show up in another's read"
15:11 kthakore NotFound: for parrot?
15:11 patspam joined #parrot
15:11 NotFound kthakore: custom dynpmc
15:11 Coke kthakore: yes, but what does that have to do with doing regexp matching in parrot?
15:11 whiteknight sorear: ah, okay.
15:12 whiteknight sorear: yeah, that gets tricky. With clones or message passing there is no hard guarantee, unless we call some kind of "stop the world and update everything" operation
15:12 kthakore Coke: ... ok here like this [ perl6+SDL -> parrotSDL -> NCI -> runtime libary load -> runtime library searching -> maybe use regex ]
15:12 kthakore Coke: see?
15:12 kthakore NotFound: is that more stable then NCI?
15:12 NotFound Coke: I think he means matching in filesystem paths
15:13 NotFound kthakore: as stable as you write it.
15:13 ash_ joined #parrot
15:13 sorear whiteknight: that's a mistake, IMO
15:13 Coke purl, kthakore?
15:13 purl somebody said kthakore was working on rehashing SDL_perl or making a Tetris clone in Modern Perl which shows an Example of MVC and the mediator design pattern in SDL Perl
15:13 sorear we should set rules and stick to them
15:14 whiteknight sorear: so what rules, specifically, do you recommend? The point of my post was that we didn't have any answers yet
15:14 kthakore NotFound: hah .. it is like the wild wild west
15:14 kthakore NotFound: :)
15:14 whiteknight sorear: we have lots of options, all with good and bad points
15:14 NotFound kthakore: stable in the sense that its API change less frequently, yes.
15:14 kthakore Coke: but I already did the tetris
15:15 patspam joined #parrot
15:15 sorear whiteknight: In that case, I missed your point.  As long as you agree that there should be answers, I'm ok
15:15 kthakore NotFound: awesome ... now to go learn that ... any pointers ( no I don't mean 0x0000)
15:15 NotFound kthakore: shit, that's my favourite joke X-)
15:15 whiteknight sorear: a lot of it is going to depend on the final form that the threading implementation takes
15:16 kthakore Coke: http://github.com/kthakore/TetrisPL
15:16 kthakore Coke: but basically what I meant is for perl6 SDL I need to do parrotSDL so on
15:16 whiteknight sorear: and then we need to decide if we want o use something like transactional memory, which obviates the need for most locks
15:16 ash_ i just noticed something kinda interesting about Obj-C's threading model, you can use any objective-c object as a lock, which is a kinda interesting approach since you don't have to use special objects to lock/unlock stuff
15:16 kthakore NotFound: yeah it is fairly common
15:16 whiteknight Maybe we want to provide a lock PMC type, and just let programmers decide when to use it
15:16 kthakore ash_: !!! I was looking for you!
15:16 ash_ hi?
15:16 purl leave me alone, willya!
15:17 NotFound kthakore: To write a project with dynpmc? Don't know if we have any good example other than languages.
15:17 kthakore ash_: any plans for improving the NCI loader
15:17 ash_ i saw your message on the mailing list about libSDL
15:17 kthakore ash_: yeah
15:17 Coke partcl uses dynpmcs. as does rakudo.
15:17 kthakore ash_: I wanted to know your roadmap/scope for NCI gsoc project
15:18 NotFound Coke: I think these qualifies as "languages" ;)
15:18 Coke i'm not sure writing YA pmc is the way to solve this problem, but it's certainly a known path for injecting C into your PIR.
15:18 Coke NotFound: I was just being specific.
15:18 kthakore NotFound: so SDL -> dynpmcs -> parrotSDL.pmc will not work?
15:18 Coke if the current dynload magic isn't working for you, however, I would suggest proposing your desired behavior instead of writing YA workaround.
15:19 Coke then the next person to have your problem, won't.
15:19 kthakore NotFound: will this work? SDL <-> dynpmcs <-> parrotSDL.pmc
15:19 Coke where if you roll your own, only you win.
15:19 NotFound kthakore: I will work, I just don't know any good project to borrow from.
15:19 kthakore ah ok
15:19 ash_ kthakore: http://gist.github.com/412727 most of my changes center around the mechanism for calling foriegn code and how that code gets returned
15:19 kthakore NotFound: wild wild west indeed
15:20 kthakore ash_: loadlib is for loading the .pir right? or the actualy .so
15:20 NotFound kthakore: better ask the mailing list for one
15:20 kthakore NotFound: ok
15:20 ash_ the .so
15:20 purl somebody said the .so was somalia or shared object library
15:20 kthakore ash_: have you worked on this yet?
15:21 kthakore ash_ I might switch to your branch then for parrotSDL
15:21 ash_ yep, its not done, but its under way
15:21 kthakore ash_: cool
15:21 Coke loadlib is not for loading pir.
15:21 ash_ eh, my branch doesn't build properly yet
15:21 kthakore ash_: until then I will explore dynpmc
15:21 Coke loadlib (the opcode) is for loading a C library.
15:21 * kthakore sees the light again!
15:21 ash_ but a lot of this still works with the core nci system (assuming your signature is one of the ones loaded already)
15:22 Coke NotFound: can you summarize the problem kthakore is having with "loadlib $P1, "libSDL" " ?
15:22 kthakore ash_: hah ... it used to work ... no so anymore
15:22 kthakore Coke: libSDL needs to be defined with .so or .so.0 to be found
15:23 kthakore Coke: it can't find it in LD_CONFIG_PATH
15:23 ash_ you can already do '$P0 = loadlib "libc"   $P1 = dlfunc $P0, "printf", "vt"     $P1("Hello World")  for instance
15:23 kthakore Coke: so I had to do specific name but that sucks
15:23 ash_ that works with the current NCI system
15:23 kthakore ash_: will try
15:23 NotFound Coke: AFAIK the problem is just that we don't have any way to locate libraries other than asking the OS and try some known names/locations.
15:23 kthakore Coke: ^^ that
15:23 NotFound And you can add the problem with linker scripts, too.
15:24 kthakore ash_: how will you link libffi to NCI stuff
15:24 kthakore ash_: can I do that same way with libSDL ?
15:24 ash_ by gutting the core nci pmc
15:24 ash_ well, if i get my changes working right, you won't have to
15:25 NotFound kthakore: LD_CONFIG_PATH? In what OS?
15:25 kthakore ash_: hah .... we will see ... I am skeptical with the whole NCI idea now
15:25 kthakore NotFound: Debian
15:25 ash_ you should be able to use the built in nci pmc to do all the work for you so you don't have to make any special C extensions
15:25 NotFound kthakore: try LD_LIBRARY_PATH
15:25 kthakore ash_: I want to make C extensions like XS . I can handle C
15:26 kthakore ash_: C is sane and rational and just gravy
15:26 Coke kthakore: not on my box. if I do $P1 = loadlib "libneon", I get a ParrotLibrary object.
15:26 kthakore Coke: hence my crying
15:26 NotFound ash_: You should... in some indeterminated point in the future.
15:26 Coke Can you show me a very short program that fails for you?
15:26 kthakore NotFound: fail ...
15:26 kthakore Coke: hm ok.
15:27 kthakore Coke: I have to gut SDL.pir
15:27 kthakore Coke: be back in a sec
15:27 ash_ NotFound: what do you mean? (in reference to what?)
15:27 kthakore Coke: or longer
15:27 Coke ok. without a failing test, it's hard to help people.
15:27 NotFound ash_: That we can't now de all the work with just nci.
15:27 NotFound s/de/do
15:28 Coke but since my simple example works, it's not a clear cut case of 'parrot is doing it wrong'.
15:28 ash_ got ya, yeah, thats what my GSoC is supposed to help with
15:29 NotFound ash_: BTW you can take a look at my last fix to nci, to avoid repeating the same mistake again.
15:29 kthakore Coke: yeah I know what you mean
15:29 NotFound I'm a little bored of fixing the same thing several times.
15:29 kthakore NotFound++
15:30 ash_ NotFound: was it applied to trunk? i'll find the revisions just need to know where to looks
15:30 NotFound ash_: one second...
15:30 purl one second is second is the duration of 9,192,631,770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the caesium-133 atom.
15:31 davidfetter joined #parrot
15:32 NotFound ash_: r47675
15:32 ash_ thanks
15:33 kthakore wait wat was teh fix for printerr again?
15:33 whiteknight .loadlib "io_ops", I think
15:35 kthakore ok
15:35 NotFound kthakore: better avoid using printerr, use getsderr and print to it.
15:35 NotFound getstderr
15:35 kthakore *sigh* ok
15:36 NotFound printerr may be deprecated soon.
15:36 kthakore NotFound: LMAO ... hahah
15:36 kthakore whiteknight: see? this craziness?
15:37 kthakore error:imcc:loadlib directive could not find library `io_opts'
15:37 NotFound kthakore: we are a too moving target, yes.
15:37 kthakore oops
15:37 kthakore ops no io_opts
15:37 kthakore NotFound: ok
15:37 NotFound io_oops ;)
15:37 kthakore NotFound:  hehe I knew it!
15:39 kthakore .sub main is the entry right?
15:39 ash_ a .sub marked with :main is
15:39 kthakore ash_: thanks
15:40 NotFound kthakore: .sub main is a convention, and only works if is the first sub in the file. Marking with the :main modifier is the best way.
15:40 ash_ kthakore: http://docs.parrot.org/parrot/devel​/html/docs/pdds/pdd19_pir.pod.html is a great reference
15:41 kthakore ash_: thanks
15:42 ash_ its a bit more indepth than most of the other tutorials on pir, since it is the design doc pir is based off of
15:43 whiteknight again, if you guys come up with specific things about the docs that need to change, we can change them
15:46 NotFound Rant-driven documentation X-)
15:47 ash_ whiteknight: is there a place i can look at Chandon's changes to the threading stuff
15:48 ash_ just curious
15:48 purl i think just curious is all
15:48 ash_ purl forget just curious
15:48 purl ash_: I forgot just curious
15:48 whiteknight ash_: he has a branch in the parrot repo
15:48 whiteknight gsoc_threads, I think
15:48 whiteknight or gsoc_thread
15:49 ash_ but does it have a document with his intended changes explained?
15:49 whiteknight ash_: Not besides his GSoC application, I don't think
15:49 whiteknight and some of his blog posts
15:50 kthakore Coke: ... I am so puzzeled now
15:50 kthakore Coke: I pulled it the SDL load out of the .namespace[SDL] and it works
15:51 kthakore Coke: so in my example I put .namespace
15:51 kthakore and it works
15:51 kthakore just won't work in my parrotSDL
15:51 kthakore dunno why
15:51 kthakore Coke: I call this a good point for a rewrite and lunch
15:52 theory joined #parrot
15:55 NotFound Uh... I forgot that problem with namespaces. There was a ticket for it?
15:55 * kthakore facepalms
15:55 * kthakore calls rewrite!
15:55 kthakore NO! not for parrot!
15:55 kthakore for me parrotSDL
15:55 kthakore in dynpmc
16:27 dalek parrot: r47686 | NotFound++ | trunk/t/pmc/stringhandle.t:
16:27 dalek parrot: test StringHandle is_closed method
16:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47686/
16:32 sorear parrot needs a rewrite too
16:32 sorear fred brooks said "plan to throw one away" - IMO he was being hopelessly optimistic, it's more like 6 for any project of reasonable complexity
16:32 NotFound sorear: Aren't we doing that every day?
16:32 sorear we're only on #3 or #4
16:34 ash_ out with the old, in with the new? is do we throw the new stuff out too?
16:35 atrodo Can't make an omlette without breaking some eggs, or something
16:37 Coke sorear: parrot's been cooking since 2001. I think 6 is a lowball estimate.
16:40 whiteknight Parrot has been getting much better recently, and shedding a lot of old cruft
16:41 whiteknight I don't think we need to quite be talking about a rewrite
16:41 ash_ how do you do | with stderr instead of stdout?
16:42 Coke from a shell?
16:42 ash_ yeah, in bash
16:42 Coke command_that_errors 2>&1 | more # combines err into out.
16:43 Coke you can get trickier if you need.
16:43 dalek parrot: r47687 | NotFound++ | trunk/t/pmc/stringiterator.t:
16:43 dalek parrot: add a test to cover StringIterator get_string_keyed_int
16:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47687/
16:50 ash_ thanks Coke
16:52 Tene if you want *only* stderr, cmd_foo 2>&1 >/dev/null | whatever
16:54 Andy joined #parrot
17:00 dalek parrot: r47688 | khairul++ | branches/gsoc_instrument/s​rc/dynpmc/instrument.pmc:
17:00 dalek parrot: Handle exit/exceptions thrown in inner runloops.
17:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47688/
17:00 dalek parrot: r47689 | coke++ | branches/html_cleanup/conf​ig/gen/makefiles/docs.in:
17:00 dalek parrot: Take over 'html' target with new script.
17:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47689/
17:00 dalek parrot: r47690 | coke++ | branches/html_cleanup/tool​s/docs/make_html_docs.pl:
17:00 dalek parrot: drop --silent. Require --version.
17:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47690/
17:00 Chandon joined #parrot
17:09 cotto_work good day, humans
17:09 lucian joined #parrot
17:11 kthakore cotto_work: good day, workbot
17:11 kthakore cotto_work: are you always at work?
17:12 cotto_work cotto_work is always at work
17:12 cotto_work someone may or may not actually be at this computer though.
17:13 kthakore cotto_work: hi cotto_work's boss
17:14 kthakore cotto_work: cotto_work is workign very diligently for you on that project Mike mentioned in the review meeting on tuesday last month
17:14 cotto_work yay for Friday!
17:15 kthakore cotto_work: yay for friday
17:16 kthakore cotto_work: oh btw your boss was in here earlier but I covered you man
17:16 kthakore cotto_work: *fist* bumb
17:16 kthakore bump
17:17 cotto_work I have a bot to take care of that.
17:17 cotto_work It also does most of my work.
17:18 kthakore heh
17:18 kthakore cotto_work: yeah Ih perl hooked into my outlook and sharepoint and unix environments
17:18 kthakore cotto_work: perl the duct tape of the IT work
17:19 kthakore world
17:19 cotto_work powershell is nice if you're stuck on windows, but it makes me miss perl (and really miss Rakudo)
17:21 * kthakore hugs cotto_work
17:21 kthakore powershell just don't cut it for me man
17:21 ash_ you can install perl on windows can't you?
17:21 kthakore powershell won't talk to all the environments and apps I want
17:21 kthakore ash_: yeah strawberry perl
17:22 kthakore is what I am using
17:51 chromatic joined #parrot
17:58 cotto_work anyone have thoughts on GPG signing release tarballs?
18:00 kthakore cotto_work: no ...
18:00 kthakore hi chromatic
18:00 KatrinaTheLamia joined #parrot
18:00 pmichaud joined #parrot
18:00 mattp joined #parrot
18:00 arnsholt joined #parrot
18:00 athomason joined #parrot
18:00 wagle joined #parrot
18:00 GeJ joined #parrot
18:00 chromatic joined #parrot
18:00 atrodo joined #parrot
18:00 silug joined #parrot
18:00 Myhrlin joined #parrot
18:00 baest joined #parrot
18:00 dmagnus__ joined #parrot
18:00 Maddingue joined #parrot
18:01 aloha joined #parrot
18:01 particle joined #parrot
18:01 szabgab joined #parrot
18:01 nopaste joined #parrot
18:01 jjore joined #parrot
18:05 * davidfetter waves to jjore
18:05 PerlJam joined #parrot
18:05 Essobi joined #parrot
18:06 kthakore ??
18:06 slavorgn joined #parrot
18:07 dukeleto joined #parrot
18:39 dalek parrot: r47691 | khairul++ | branches/gsoc_instrument (6 files):
18:39 dalek parrot: beginnings of updated hook callback interface.
18:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/47691/
18:41 chromatic We can't always write tests for the complete behavior of all libraries shipping with Parrot (Do you have SDL installed?  How do you take a screenshot and verify that it drew blue rectangles appropriately?), but if we'd had tests that those libraries *parsed*, we'd have been able to fix the io_ops deprecation.
18:42 kthakore chromatic: ?? I am not sure what you mean.
18:43 kthakore chromatic: you want tests for SDL in trunk?
18:43 kthakore chromatic: we have a way to take screenshots in SDL
18:43 kthakore chromatic: dump_BMP make a bmp
18:44 kthakore chromatic: we make one reference one and compare against (md5 checksum) against a test one
18:44 kthakore chromatic: SDLx::Test http://github.com/FROGGS/SDLx-Test
18:44 Tene kthakore: He's saying that despite SDL testing seeming very difficult for non-SDL people, there are simpler tests we could have added that would have caught the issue.
18:45 kthakore Tene: ah! thank you for the plain speak (no offense chromatic)
18:45 LoganLK joined #parrot
18:46 kthakore Tene: ok so you guys needs test? but before that the API for SDL needs to be done
18:47 kthakore Tene: I mean the API no the code
18:47 Tene kthakore: anything with tests (that actually get run) in the parrot repo will be updated to match deprecations that the tests catch.
18:48 kthakore Tene: cool
18:48 kthakore Tene: so I should hack in a branch?
18:48 kthakore Tene: then get it to merged into trunk?
18:48 kthakore I will plan for 2.6 then
18:48 Tene kthakore: That would be great.  We're always glad to get new tests, and it would be great to have SDL in 2.6. :)
18:49 kthakore Tene: I still would like to try my hand at dynpmc as I like the link at build time rather runtime
18:49 Tene nodnod
18:50 kthakore Tene: also I need to understand how to configure in parrot to search for libraries and skip tests if missin
18:50 Tene I have nooooooooooo idea. I haven't touched the build system.  :)
18:51 kthakore Tene: I have been googling a lot and doing grep on svn logs but it hasn't helped
18:51 kthakore Tene: ok well how to do dynpmc stuff?
18:51 kthakore like is there a SDL.parrot.c that then gets compiled some how ... ?
18:52 Tene I think you want to ask kid51 about configure stuff.  iirc, he's been the biggest contributer to configure system.
18:52 Tene I haven't worked with dynpmcs either, but I know that rakudo uses some, so you could probably look at their repo for an example.
18:52 kthakore Tene: ok
18:53 * kthakore heads futher down or up the rabbit whole. It's all realative anyway
18:53 Tene Good luck!
18:53 purl You'll need it.
18:54 kthakore Tene: hanks I think
18:54 * kthakore feels a shove as he falls down the hole
18:54 kthakore :p
18:56 cotto_work joined #parrot
18:56 somebody_ joined #parrot
19:04 szabgabx joined #parrot
19:04 somebody__ joined #parrot
19:09 chromatic Don't write dynpmcs for SDL.  That's the wrong approach.
19:09 kthakore chromatic: but but ... why
19:09 chromatic Because SDL is a procedural library and PMCs are data structures.
19:09 kthakore chromatic: dynpmcs is not like XS for parrot?
19:10 chromatic No, NCI is like XS for Parrot.
19:10 purl okay, chromatic.
19:10 kthakore chromatic: but NCI is a pain ...
19:10 chromatic Dynpmcs will be more of a pain.
19:10 kthakore ok you are the boss
19:11 chromatic I wrote PMCs for SDL in 2002/2003.
19:11 kthakore chromatic: I like binding in C though and ... no more runtime linking pains
19:11 kthakore chromatic: may I see? them
19:11 chromatic They're long gone, because that's the wrong approach.
19:11 kthakore but hasn't PMC changed since then?
19:11 chromatic Some, yes.
19:11 kthakore ok
19:12 kthakore I will keep with NCI I guess. But serious NCI support is flimsy in parrot
19:12 chromatic We'd like to fix any problems there.
19:14 kthakore chromatic: so I am the test subject for NCI or are there other sufferers?
19:14 chromatic If you have a bug that no one else has reported, you are the test subject for that bug.
19:15 kthakore chromatic: ok
19:15 kthakore but are there other constant users of NCI
19:15 chromatic Yes.
19:15 kthakore who?
19:16 chromatic Parrot itself, for one.
19:16 kthakore people doing bindings?
19:16 kthakore oh but that is not fair
19:16 kthakore I mean people who are out side of parrot's core team
19:16 kthakore obviously the core team is never going to have trouble with NCI
19:16 chromatic ha
19:16 Coke double ha.
19:16 kthakore triple ha
19:17 atrodo quad ha
19:17 kthakore so you guys are struggling with this too?
19:17 kthakore why is it so hard?
19:17 kthakore I mean I thought XS was scary
19:17 particle mod_parrot was an nci consumer, but hasn't been maintained in a while
19:17 chromatic I don't know what your problem is until you file a bug.
19:18 particle funny, i can tell you what your problem is.
19:18 kthakore particle: what?
19:18 kthakore particle: even I dunno
19:18 chromatic I'm too handsome!
19:18 particle i'm talking to chromatic.
19:18 kthakore ha
19:18 kthakore double ha
19:18 kthakore chromatic: have you seen the mario pic?
19:18 kthakore chromatic: on your ident?
19:19 chromatic No idea.
19:19 kthakore particle: well what is his problem? fill us in man
19:19 kthakore sure mr.handsome
19:19 * kthakore has no clue what chromatic looks like
19:21 somebody_ joined #parrot
19:25 cotto_work kthakore: http://trac.parrot.org/parrot/wiki/Yapc10Bof
19:27 kthakore cotto_work: what am I looking at?
19:27 atrodo Every single one of ya'll look like perl hackers
19:27 kthakore atrodo: yes
19:27 kthakore cotto_work: do you have a rockin beard?
19:28 kthakore chromatic: you are in the back in black and the beard right?
19:28 kthakore I thnk
19:28 Coke I thought he looked younger: http://www.oreillynet.com/pub/au/176
19:28 kthakore but then the guy blue is the most handsome one
19:28 kthakore Coke: no .... not handsome enough
19:29 cotto_work I'm in the blue Perl shirt
19:29 kthakore cotto_work: you win the contest!
19:29 kthakore cotto_work: :D
19:29 chromatic Oh, I forgot jhorwitz.  He's always the best looking of all of us.
19:29 kthakore cotto_work: is the most perl looking hacker of the bunch
19:29 cotto_work most fun to go to a bar with too
19:29 kthakore cotto_work: hence the most handsome
19:30 kthakore cotto_work: I bet!
19:30 kthakore grey beards mean you have level up in the bar
19:30 cotto_work (that was in response to chromatic)
19:30 kthakore well that is what my dad says
19:30 kthakore *leveled
19:30 cotto_work The d00d with the beard and the long hair is util.
19:31 kthakore *sigh* I wanted to be at YAPC ...-.-
19:31 kthakore stupid exams
19:31 Tene I wanted to be at yapc too.  didn't have exams, though.
19:34 kthakore Tene: well I had one exam. It was just really long and painful
19:34 LoganLK joined #parrot
19:47 eternaleye joined #parrot
19:59 whiteknight joined #parrot
20:00 ambs joined #parrot
20:04 Psyche^ joined #parrot
20:06 theory joined #parrot
20:20 Casan joined #parrot
20:21 bubaflub joined #parrot
20:50 dalek rakudo: df98be5 | moritz++ | src/core/List.pm:
20:50 dalek rakudo: List.hash
20:50 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​f98be56f51b0df572d48c6bb3ad4d514fdbc84d
20:55 atrodo So, since I'd like to sit in on it, can anyone tell me when this Lorito meeting at YAPC is taking place?
20:56 kthakore atrodo: right now! RUN!
20:56 kthakore atrodo: you are missing it man!
20:56 Coke no, it hasn't been scheduled.
20:56 atrodo Yep, not falling for that again kthakore :-p
20:56 kthakore atrodo: awww
20:56 Coke however, there is a parrot / rakudo /perl 6 all-the-time BOF room, so that's likely the where.
20:56 atrodo Do you know how embarssing it was the other day to show up on OSU campus to find no one?
20:58 kthakore atrodo: i am pretty sure there is a super nice stalker/predator waiting for you there
20:58 atrodo Ow shoot, now I've got to drive there AGAIN.  The wife is going to kill me when she sees how much milage i've put on the car this week
20:58 kthakore haha
20:59 chromatic pmichaud and I agreed to have a meeting on Monday night (post dinner? at dinner?) to discuss what Rakudo wants from an ideal VM.
20:59 kthakore chromatic: psst rakudo wants SDL, rakudo told me in secret
21:00 * kthakore just wants to use grammars in his games
21:01 whiteknight chromatic: I would be extremely interested to hear the results of that
21:01 chromatic I'm sure you could guess at most of their needs.
21:02 chromatic Their list probably overlaps mine by 80%.
21:02 whiteknight yeah. Assignment semantics I'm sure are towards the top of the list
21:02 whiteknight performance
21:02 purl i heard performance was not a big deal
21:02 atrodo Hundred dollar bills?
21:02 whiteknight purl, you heard wrong
21:02 purl whiteknight: sorry...
21:03 kthakore purl: go die
21:03 purl somebody said go die was boojum's favorite.
21:03 chromatic lvalue/rvalue semantics, a working metaobject system, faster attribute/method access
21:04 chromatic cheaper exception handlers, working unwind semantics
21:04 whiteknight I suspect that lvalue/rvalue semantics would improve performance significantly, with fewer stores/lookups
21:04 whiteknight unwind semantics, right. That's definitely a big one. I've been looking at the code and can't really come up with a solid way to enforce it
21:04 kthakore what are lvalue/rvalue semantics?
21:04 cotto_work That sounds like the mother of all compatibility breaks though.
21:05 chromatic Seems like it should be easy, with CPS.
21:05 kthakore all I remeber is sub atrribute :lvalue { return $_[0]->foo }
21:05 whiteknight chromatic: with CPS we could "Return" to something that wasn't the caller. So a return doesn' necessarily unwind the contexts in a linear way
21:06 whiteknight so you can't really guarantee that you are unwinding past a particular context.
21:06 chromatic a Continuation could point to all of the exception handlers or unwinders necessary to reach a particular point.
21:06 whiteknight true, that's the second option. We could add it to the continuation, or create a Sub and wrap the continuation in it
21:06 whiteknight but again, if somebody overwrites the return continuation, we lose the handlers
21:07 whiteknight or, if somebody invokes a continuation and leaves the scope but never returns, we never execute the handlers
21:08 chromatic That's why I think we need to make a list of all possible use cases, explicitly support or refuse to support them, and come up with a working design.
21:08 atrodo Could a continuation point to the instruction that it jumped from?
21:08 whiteknight chromatic: yes. A list of necessary situations and places where we can avoid them is key
21:08 whiteknight oh, exceptions too. If you throw an exception that is caught by the parent, you don't go through the normal return methods
21:09 whiteknight unless we try a tricky set of catch/rethrow
21:09 chromatic We've never made that list, so we've always piled on flying buttresses.
21:09 pmichaud ah yes, I need to schedule that Bof
21:09 whiteknight Let me draft up a wiki page right now, while it's on my mind
21:10 * pmichaud schedules the bof
21:11 pmichaud chromatic: at dinner?  post dinner?
21:11 pmichaud (i.e., do you have a preference?)
21:11 pmichaud or, do anyone else who might be attending?
21:11 chromatic No preference here.  A whiteboard might be nice.
21:12 pmichaud The schedule only shows room availability until 19h00
21:12 pmichaud so....
21:12 pmichaud lightning talks are scheduled to end at 17h00
21:12 pmichaud er, 1740
21:13 pmichaud there's a "VIP Party" listed at 18h00
21:13 chromatic Yeah, I don't know what that is.
21:14 atrodo "We really hope to honor our special guests, all those new to YAPC and new to Perl with a toast. So everyone please attend this gala event! "
21:14 chromatic Yes, but what kind of toast?
21:14 atrodo My question is, if everyone is invited, is it really a VIP party?
21:14 pmichaud I guess we're all VIPs.
21:15 pmichaud if that includes food, then I'd say we should meet after that
21:15 atrodo That's all the description has.
21:15 pmichaud if it doesn't include food, or if the food isn't worthwhile, then we meet after that at a place that has food
21:16 pmichaud so, I claim Monday 19h00
21:16 pmichaud whiteboard might be nice but I think dinner might be more important
21:16 chromatic I'll pack a couple of notepads.
21:18 pmichaud and in answer to the earlier question (what would I have on that list), my highest suggestion for Lorito or any sort of redesign would be to prioritize on an efficient object metamodel
21:19 pmichaud also, an efficient reference mechanism
21:19 pmichaud (for containers and assignment/lvalue semantics)
21:20 pmichaud for the rest of the list... attend monday or see the notes posted afterwards :)
21:21 cotto_work I'm looking forward to seeing the notes
21:24 pmichaud http://yapc2010.com/yn2010/wiki?​node=Rakudo%20and%20Lorito%20BOF
21:24 pmichaud afk for a bit -- brb
21:27 dalek tracwiki: v171 | whiteknight++ | WikiStart
21:27 dalek tracwiki: Create page to discuss unwind semantics and exit handlers
21:27 dalek tracwiki: http://trac.parrot.org/parrot/wiki/W​ikiStart?version=171&amp;action=diff
21:27 dalek tracwiki: v1 | whiteknight++ | UnwindSemantics
21:27 dalek tracwiki: +create
21:27 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Unw​indSemantics?version=1&amp;action=diff
22:00 davidfetter joined #parrot
22:01 chromatic Any YAPC attendees plan to have a car at 10:30 on Sunday night?
22:03 cotto_work chromatic, was that Piumarta and Warth paper what you had in mind for a metaobject model?
22:04 cotto_work "Open, extensible object models"
22:05 chromatic Seems as a good place to start as any.
22:21 whiteknight link?
22:21 purl link is, like, dead
22:21 whiteknight purl forget link
22:21 purl whiteknight: I forgot link
22:22 Coke chromatic: if you don't mind, I'll sit in on that meeting.
22:27 whiteknight I found that paper, but it's behind a paywall
22:32 cotto_work joined #parrot
22:33 cotto_work whiteknight: http://piumarta.com/software/cola/objmodel2.pdf
22:34 whiteknight cotto_work++ nice!
22:35 * cotto_work is proud to have resisted lmgtfy
22:35 cotto_work or lmddgtfy
22:36 whiteknight lmddgtfy?
22:37 cotto_work http://lmddgtfy.com/?q=open+ex​tensible+object+models&amp;v=
22:38 cotto_work I respect people ballsy enough to take on Google like that.
22:39 chromatic Coke, everyone is welcome.
22:39 cotto_work and it has some nice tricks to make its search results more useful
23:11 patspam1 joined #parrot
23:19 somebody_ joined #parrot
23:21 somebody__ joined #parrot
23:31 dalek rakudo: 92e914a | jonathan++ | src/Perl6/Actions.pm:
23:31 dalek rakudo: Curry *.foo at compile time now. Also add = and := to the operators that we do
23:31 dalek rakudo: not curry.
23:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​2e914adf1345e7130e9833937d0c1e45f59ff67
23:38 LoganLK joined #parrot

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

Parrot | source cross referenced