Camelia, the Perl 6 bug

IRC log for #parrot, 2010-03-29

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 bacek joined #parrot
00:08 dngor_ joined #parrot
00:16 Whiteknight chromatic: My two best options for #1497 are to have a method on the Class PMC, or to return the cache using inspect_str on Object
00:23 dukeleto joined #parrot
00:29 dukeleto what is the actual difference betweeen Parrot_str_new and Parrot_new_string?
00:29 dukeleto should one or the other be used by embedders?
00:31 tcurtis joined #parrot
00:31 dukeleto seems like Parrot_new_string is for embedders. is that correct?
00:36 allison joined #parrot
00:39 dukeleto allison: i just made some great progress! postgres is passing function arguments to PIR subroutines and PIR subs can return values to postgres!
00:39 allison dukeleto: excellent!
00:39 * purl plays air guitar
00:40 dukeleto allison: i have it working for strings. now to make it work for other datatypes...
00:41 Whiteknight alison: If you have a moment, could you take a look at TT #1497? There are several ways to fix it, looking for the best one
00:42 Whiteknight s/alison/allison/
00:43 allison Whiteknight: sure
00:44 Whiteknight thanks
00:45 Whiteknight a method on Class, or inspect
00:46 Whiteknight -str on Object
00:46 allison Whiteknight: since the point of caching is to speed things up, and checking for the override is expensive, I'd rather expose features to clear and disable the cache from PIR, than move the check for a cached method after the check for a PIR override
00:47 Whiteknight thats what I was thinking
00:47 Whiteknight so what's the preferred interface?
00:48 allison it doesn't have to be highly accessible, since cache clearing and disabling are rare features
00:48 allison perhaps add two methods to Class PMC?
00:48 Whiteknight ok. Will do.
00:48 allison (it doesn't have to be fast either, again because rare)
00:48 Whiteknight thanks
00:57 abqar joined #parrot
01:00 Austin_away joined #parrot
01:06 dalek parrot: r45260 | jkeenan++ | trunk/t/pmc/threads.t:
01:07 dalek parrot: Delete superseded comment per TT #1249.
01:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45260/
01:07 dalek parrot: r45261 | whiteknight++ | trunk (5 files):
01:07 dalek parrot: [TT #1473] refactor does in default and PMCProxy. PMCProxy no longer attempts to instantiaie a delegate object for this operation. Resolves TT #1473
01:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45261/
01:08 dalek TT #1249 closed by jkeenan++: t/pmc/threads.t:  Thread types tests need rework
01:08 dalek TT #1249: http://trac.parrot.org/parrot/ticket/1249
01:08 dalek TT #1473 closed by whiteknight++: Handle PMC type is broken
01:08 dalek TT #1473: http://trac.parrot.org/parrot/ticket/1473
01:14 Whiteknight Austin: ping
01:14 Austin ?
01:15 Whiteknight Austin: I've got a patch together for TT #1497, can you put together a test case?
01:15 Austin Probably
01:15 Austin What did you have in mind?
01:15 Whiteknight awesome. I also just fixed TT #1473 for you too
01:16 Whiteknight I don't care, anything that shows what you were trying to do but were unable
01:17 Austin Okay.
01:18 Whiteknight The patch adds methods clear_method_cache and get_method_cache methods to the Class PMC
01:20 Whiteknight I'll write up some general-use tests for those methods, I just need a test that shows what you described, their use with respect to vtable overrides
01:21 Austin I'm working on it now.
01:21 Whiteknight w00t. Austin++
01:23 Whiteknight once this is in, two of your #1 priority tickets will be fixed
01:24 nopaste "Austin" at 68.37.47.32 pasted "Testcase for TT#1497" (33 lines) at http://nopaste.snit.ch/20125
01:25 Austin Woot. Whiteknight++
01:25 Whiteknight okay, I'll translate to PIR and post it. Thanks!
01:26 Austin You're a bugfixing machine, dude. I appreciate it.
01:26 Whiteknight The P6metaclass ticket is absolutely out of my league
01:26 Austin Which one is that?
01:26 Austin 1492?
01:26 Whiteknight TT #1520
01:26 dalek plparrot: 3efcde9 | (Joshua Tolley)++ | plparrot.c:
01:26 dalek plparrot: Start trying to fill PMC with function arguments.
01:26 dalek plparrot: Current limitations include:
01:26 dalek plparrot: * It assumes for now that all arguments are strings. This can cause segfaults
01:26 dalek plparrot:   when arguments aren't strings
01:26 dalek plparrot: * The functions to push onto the PMC array aren't linked in, and aren't
01:26 dalek plparrot:   declared
01:26 dalek plparrot: * Incidentally, the compilation routine still doesn't throw an error when asked
01:26 dalek plparrot:   to compile code with syntax errors
01:26 dalek plparrot: review: http://github.com/leto/plparrot/commit/3​efcde9cbe8c112a752db94f3529282262ced1a8
01:26 dalek plparrot: 342ac54 | dukeleto++ | plparrot.c:
01:26 dalek plparrot: include extend_vtable.h
01:26 dalek plparrot: review: http://github.com/leto/plparrot/commit/3​42ac5493709ef2f3f99d9d956113593472e999d
01:26 dalek plparrot: d069a8d | dukeleto++ |  (2 files):
01:26 dalek plparrot: Use the correct function to push strings onto a PMC
01:26 dalek plparrot: This causes Postgres to go boom:
01:26 dalek plparrot: TRAP: FailedAssertion("!((((varattrib_1b_e *) (attre))->va_len_1be) == sizeof(toast_pointer) + 2)", File: "tuptoaster.c", Line: 1369)
01:26 dalek plparrot: Full BT:
01:26 dalek plparrot:     #0  0x00002b424a1cf265 in raise () from /lib64/libc.so.6
01:26 dalek plparrot:     #1  0x00002b424a1d0d10 in abort () from /lib64/libc.so.6
01:26 dalek plparrot:     #2  0x00000000006cc96d in ExceptionalCondition (conditionName=<value optimized out>, errorType=<value optimized out>, fileName=<value optimized out>,
01:26 dalek plparrot:         lineNumber=<value optimized out>) at assert.c:57
01:27 dalek plparrot:     #3  0x0000000000471a32 in toast_fetch_datum (attr=<value optimized out>) at tuptoaster.c:1369
01:27 dalek plparrot:     #4  0x00000000004725fa in heap_tuple_untoast_attr (attr=0x723b900) at tuptoaster.c:133
01:27 dalek plparrot:     #5  0x000000000068ee66 in textcat (fcinfo=0x7fff36771200) at varlena.c:570
01:27 dalek plparrot:     #6  0x00000000005608a2 in ExecMakeFunctionResult (fcache=0x76b9360, econtext=0x75b8e70, isNull=0x7fff36771a20 "\027", isDone=0x7fff36771684)
01:27 dalek plparrot:         at execQual.c:1827
01:27 dalek plparrot:     #7  0x000000000055d5fc in ExecEvalFuncArgs (fcinfo=0x7fff367716e0, argList=<value optimized out>, econtext=0x75b8e70) at execQual.c:1358
01:27 dalek plparrot:     #8  0x0000000000560701 in ExecMakeFunctionResult (fcache=0x76b8b48, econtext=0x75b8e70, isNull=0x7fff36771f00 "\020?l\a", isDone=0x7fff36771b64)
01:27 dalek plparrot:         at execQual.c:1605
01:27 dalek plparrot:     #9  0x000000000055d5fc in ExecEvalFuncArgs (fcinfo=0x7fff36771bc0, argList=<value optimized out>, econtext=0x75b8e70) at execQual.c:1358
01:27 dalek plparrot:     #10 0x0000000000560701 in ExecMakeFunctionResult (fcache=0x76b8330, econtext=0x75b8e70, isNull=0x7fff367723e0 "", isDone=0x7fff36772044) at execQual.c:1605
01:27 dalek plparrot:     #11 0x000000000055d5fc in ExecEvalFuncArgs (fcinfo=0x7fff367720a0, argList=<value optimized out>, econtext=0x75b8e70) at execQual.c:1358
01:27 dalek plparrot:     #12 0x0000000000560701 in ExecMakeFunctionResult (fcache=0x76b7b18, econtext=0x75b8e70, isNull=0x7fff367728c0 "", isDone=0x7fff36772524) at execQual.c:1605
01:27 dalek plparrot:     #13 0x000000000055d5fc in ExecEvalFuncArgs (fcinfo=0x7fff36772580, argList=<value optimized out>, econtext=0x75b8e70) at execQual.c:1358
01:27 dalek plparrot:     #14 0x0000000000560701 in ExecMakeFunctionResult (fcache=0x76b7300, econtext=0x75b8e70, isNull=0x7fff36772da0 "", isDone=0x7fff36772a04) at execQual.c:1605
01:27 dalek plparrot:     #15 0x000000000055d5fc in ExecEvalFuncArgs (fcinfo=0x7fff36772a60, argList=<value optimized out>, econtext=0x75b8e70) at execQual.c:1358
01:27 dalek plparrot:     #16 0x0000000000560701 in ExecMakeFunctionResult (fcache=0x76b6ae8, econtext=0x75b8e70, isNull=0x7fff36773281 "\206f", isDone=0x7fff36772ee4)
01:27 dalek plparrot:         at execQual.c:1605
01:27 dalek plparrot:     #17 0x000000000055d5fc in ExecEvalFuncArgs (fcinfo=0x7fff36772f40, argList=<value optimized out>, econtext=0x75b8e70) at execQual.c:1358
01:27 dalek plparrot:     #18 0x0000000000560701 in ExecMakeFunctionResult (fcache=0x76b6238, econtext=0x75b8e70, isNull=0x7fff36773761 "Ik\a", isDone=0x7fff367733c4)
01:27 dalek plparrot:         at execQual.c:1605
01:27 dalek plparrot:     #19 0x000000000055d5fc in ExecEvalFuncArgs (fcinfo=0x7fff36773420, argList=<value optimized out>, econtext=0x75b8e70) at execQual.c:1358
01:27 dalek plparrot:     #20 0x0000000000560701 in ExecMakeFunctionResult (fcache=0x76b5988, econtext=0x75b8e70, isNull=0x7fff36773c41 "", isDone=0x7fff367738a4) at execQual.c:1605
01:27 Austin Now, you see. *This* is why I ignored dalek.
01:27 dalek plparrot:     #21 0x000000000055d5fc in ExecEvalFuncArgs (fcinfo=0x7fff36773900, argList=<value optimized out>, econtext=0x75b8e70) at execQual.c:1358
01:27 dalek plparrot:     #22 0x0000000000560701 in ExecMakeFunctionResult (fcache=0x76b4f20, econtext=0x75b8e70, isNull=0x7fff36773fd0 "\001", isDone=0x0) at execQual.c:1605
01:27 dalek plparrot:     #23 0x00002b4250169827 in exec_eval_expr (estate=0x7fff36773fc0, expr=0x7656110, isNull=0x7fff36773fd0 "\001", rettype=<value optimized out>)
01:27 dalek plparrot:         at pl_exec.c:4518
01:27 dalek plparrot:     #24 0x00002b425016dcef in exec_stmts (estate=0x7fff36773fc0, stmts=<value optimized out>) at pl_exec.c:2140
01:27 dalek plparrot:     #25 0x00002b425016cbb6 in exec_stmt_block (estate=0x7fff36773fc0, block=0x76562e8) at pl_exec.c:1167
01:27 dalek plparrot:     #26 0x00002b425016f28f in plpgsql_exec_function (func=0x75d39e8, fcinfo=0x7fff36774220) at pl_exec.c:316
01:27 dalek plparrot:     #27 0x00002b4250164aa3 in plpgsql_call_handler (fcinfo=0x7fff36774220) at pl_handler.c:122
01:27 dalek plparrot:     #28 0x00000000005608a2 in ExecMakeFunctionResult (fcache=0x75e77b0, econtext=0x75e7588, isNull=0x75e8a98 "\177~\177\177\177\177\177\1778q]\a",
01:27 dalek plparrot:         isDone=0x75e8bd8) at execQual.c:1827
01:27 dalek plparrot:     #29 0x000000000055d373 in ExecProject (projInfo=<value optimized out>, isDone=0x7fff3677470c) at execQual.c:5079
01:27 dalek plparrot:     #30 0x00000000005736c3 in ExecResult (node=0x75e7470) at nodeResult.c:155
01:27 dalek plparrot:     #31 0x000000000055cd06 in ExecProcNode (node=0x75e7470) at execProcnode.c:355
01:27 dalek plparrot:     #32 0x000000000055ba25 in standard_ExecutorRun (queryDesc=0x71b29a8, direction=11963, count=0) at execMain.c:1190
01:27 dalek plparrot:     #33 0x000000000061cac6 in PortalRunSelect (portal=0x71af168, forward=<value optimized out>, count=0, dest=0x75e60f0) at pquery.c:952
01:27 dalek plparrot:     #34 0x000000000061e200 in PortalRun (portal=0x71af168, count=9223372036854775807, isTopLevel=1 '\001', dest=0x75e60f0, altdest=0x75e60f0,
01:27 dukeleto oops
01:27 dalek plparrot:         completionTag=0x7fff36774970 "") at pquery.c:796
01:27 dalek plparrot:     #35 0x000000000061a53b in exec_simple_query (query_string=0x723ee48 "select is(test_varchar(), 'cheese', 'We can return a varchar');") at postgres.c:1051
01:27 Whiteknight I AM SO HAPPY ABOUT THAT ENTIRE COMMIT MESSAGE
01:27 dukeleto sorry about that commit message
01:28 dukeleto i forgot that dalek spews entire commit messages
01:28 dukeleto dukeleto--
01:28 kid51 purl, please whip dukeleto
01:28 purl kid51: sorry...
01:28 dukeleto i even got yelled at by purl to not karma myself!
01:28 Austin See, dalel needs to /nick to the project name or something. Then I could ignore everything except for kakapo...
01:28 * dukeleto fails
01:29 dalek joined #parrot
01:29 dukeleto i think if dalek just showed the first 5 lines or so of a commit message, that would be a nice feature ::ducks::
01:30 dukeleto on the bright side, postgres can pass PIR subroutines arguments without coredumping now...
01:32 Austin Whiteknight, I was thinking about the pmcproxy problem.
01:32 Austin I think the right answer is to do away with it.
01:32 Whiteknight which problem?
01:32 purl which problem are you looking to solve by having a cluster?
01:32 Austin And I think I know how.
01:33 Austin The problem that pmcproxy doesn't work, and is a pain in the ass, and generally make about every single thing harder than it has to be...
01:33 Austin *that* problem.
01:35 Austin There's about 5 issues on the list I sent you that have pmcproxy involved somewhere, either directly or indirectly.
01:37 Austin Anyway, the problem as I see it is that PMC's are prototype objects, not classes. I think that pretty much everything needs to get on board the object/class approach.
01:37 kid51 dukeleto:  Can you comment on http://trac.parrot.org/par​rot/ticket/1504#comment:6 ?  Thanks.
01:43 allison Austin: pmcproxy was a temporary measure for backward compatibility between the old C-classes and PIR Classes
01:43 Austin Heh
01:43 allison Austin: PMC's aren't prototype objects, their classes just aren't introspectable from PIR
01:43 Austin And like all temporary measures, it has taken on a Shelley-esque life of its own...
01:44 allison Austin: and that's what PMCProxy was added to provide
01:44 allison Austin: aye
01:44 allison Austin: but, they aren't part of the official OO spec
01:45 allison Austin: and really, any technique that allows C-defined PMCs to act like PIR defined classes will do
01:45 allison Austin: (including doing away with C-defined classes entirely, which may be in the cards for Lorito)
01:46 allison Austin: we're a lot closer to doing away with PMCProxy now that we have autoattrs in C-PMCs
01:50 Andy joined #parrot
01:58 sorear allison: Is there documentation anywhere on exactly what autoattrs does?
02:00 allison sorear: not really. It's plumbing rather than surface features
02:01 allison sorear: basically, it's part of the syntax for generating C-PMCs from the mini language they're defined int
02:02 sorear I'm dealing with legacy PMC code here, and I'm not sure if autoattrs fits what I need
02:02 sorear it's not mentioned in the pmc compiler spec
02:04 allison sorear: it's a later addition
02:05 allison sorear: it needs to be added to docs/pmc2c.pod
02:14 allison sorear: just added some introductory documentation on ATTR, needs to be expanded
02:15 sorear hmm... my legacy code DOES use ATTR
02:15 sorear odd that it doesn't use auto_attrs?
02:17 allison sorear: what auto_attrs does is automatically allocate and deallocate memory for attributes declared with ATTR
02:18 allison sorear: so, if you don't have auto_attrs in the pmclass declaration line, then you need to manually allocate the memory in the init/init_pmc vtables, and manually clean it up in the destroy vtable
02:19 sorear yes, it does that
02:19 sorear I'm wondering under what conditions I can replace stuff with auto_attrs
02:19 sorear does it handle marking too?
02:21 allison if you're doing nothing fancy in the allocate and destroy, you can use auto_attrs instead
02:22 allison (that is, if you're just allocating a block of memory from the struct generated by the ATTR declarations)
02:22 jimk joined #parrot
02:23 allison sorear: there has been talk about having it do marking too, but AFAIK not done yet
02:28 dalek parrot: r45262 | allison++ | trunk/docs/pmc2c.pod:
02:28 dalek parrot: [doc] Adding some documentation on ATTR declarations in C-PMCs.
02:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45262/
02:28 kid51 joined #parrot
02:33 jimk joined #parrot
02:35 janus joined #parrot
02:39 Austin_Hastings joined #parrot
02:58 cottoo joined #parrot
03:03 Util joined #parrot
03:33 dalek parrot: r45263 | petdance++ | trunk (3 files):
03:33 dalek parrot: updated headerization
03:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45263/
04:27 bacek joined #parrot
04:35 sorear Why is Parrot on CPAN?
04:35 cotto Is it an old version?
04:36 cotto I thought we took care of all of those.
04:37 cotto allison, http://search.cpan.org/~arandal​/parrot-1.0.0/docs/running.pod
04:37 cotto Should that be there?
04:39 dalek parrot: r45264 | petdance++ | trunk/src/pmc/sub.pmc:
04:39 dalek parrot: consting
04:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45264/
04:39 Andy sorear: Is that a trick question?
04:41 sorear Andy: No
04:41 Andy OK, then the answer is: So that people can get it easily.
04:42 cotto I don't think we want them getting 1.0.0 at this point.
04:42 sorear s/people/people looking for Perl modules/
04:42 cotto unless they're weird, and then we leave them along and back away slowly
04:43 cotto s/along/alone/
04:55 dalek parrot: r45265 | petdance++ | trunk/src/string/encoding/utf8.c:
04:55 dalek parrot: localizing vars and shimming unused parms
04:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45265/
05:18 bacek joined #parrot
05:23 allison cotto: I can move it off to backpan
05:24 allison cotto: but I think there may be older versions still on CPAN
05:24 allison cotto: but yes, we pretty much don't want people installing parrot from CPAN
05:29 allison cotto: scheduled for deletion
05:29 cotto 0.0.11 is also on there
05:29 cotto thank
05:30 cotto but not yours
05:43 dalek parrot: r45266 | petdance++ | trunk/src/call/args.c:
05:44 dalek parrot: removed unused local vars
05:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45266/
05:44 dalek parrot: r45267 | petdance++ | trunk (2 files):
05:44 dalek parrot: consting and adding a PARROT_WARN_UNUSED_RESULT flag
05:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45267/
05:44 dalek parrot: r45268 | petdance++ | trunk/src/ops/cmp.ops:
05:44 dalek parrot: consting
05:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45268/
06:18 uniejo joined #parrot
06:32 dalek parrot: r45269 | cotto++ | branches/profiling_testing/ru​ntime/parrot/library/ProfTest (2 files):
06:33 dalek parrot: [profiling] make the first 6 tests pass, add optional noisy debugging output
06:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45269/
06:33 dalek parrot: r45270 | mikehh++ | trunk/src/pmc.c:
06:33 dalek parrot: fix codetest failure - unused assert macros - src/pmc.c
06:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45270/
06:57 dukeleto is there a function to dump the contents of a Parrot_PMC from C ?
07:00 cotto get_string might kinda do what you want
07:01 dukeleto cotto: was thinking of that
07:01 cotto I don't know if there's much else that'd work for an arbitrary PMC.
07:01 cotto freeze would work, but good luck reading it ;)
07:02 dukeleto cotto: so there is nothing like Data::Dumper from C?
07:03 cotto nafaik
07:04 cotto unless you want to call pir functions from c
07:04 dalek parrot: r45271 | dukeleto++ | trunk/docs/pdds/draft/pdd11_extending.pod:
07:04 dalek parrot: [PDD] Add docs for the Parrot_PMC_push_* and Parrot_PMC_pop_* functions
07:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45271/
07:04 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32891), fulltest) at r45270 - Ubuntu 9.10 amd64 (g++)
07:09 AndyA joined #parrot
07:12 dukeleto cotto: get_string and get_cstring on an aggreagte PMC seem to just coredump
07:21 dalek plparrot: 895b75c | dukeleto++ | plparrot.c:
07:21 dalek plparrot: Attempt to get a return value from Parrot_ext_call
07:21 dalek plparrot: This value then needs to be converted to a PostgreSQL data type.
07:21 dalek plparrot: review: http://github.com/leto/plparrot/commit/8​95b75c7d6ddab614ba8c70dbd5cf567227118e2
07:25 dalek blizkost: b474559 | sorear++ | src/pmc/ (3 files):
07:25 dalek blizkost: Implement binding PMCs to SVs
07:25 dalek blizkost: The implementation is somewhat evil to work around Perl 5's two pointer limit.
07:25 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​b47455920bb8eaf315696cd6fd104183c36f4e56
07:54 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32893), fulltest) at r45271 - Ubuntu 9.10 amd64 (g++ with --optimize)
07:58 fperrad joined #parrot
08:04 mikehh joined #parrot
08:15 iblechbot joined #parrot
08:19 cotto joined #parrot
08:30 AndyA joined #parrot
08:38 sorear Multiple Dispatch: No suitable candidate found for 'subtract_int', with signature 'PIP->P'
08:38 sorear sub $P27, $P26, 2
08:38 sorear what stupid little simple explanation am I overlooking here
08:39 sorear or: why is NQP passing three arguments to subtract
08:44 particle joined #parrot
08:48 payload joined #parrot
08:52 sorear somehow VTABLE_delete_keyed for AddrRegistry got overwritten with 0x80000
08:52 sorear is that a Parrot poison value?
08:57 sorear hmm...I'll bet this is just global destruction order biting me
08:59 sorear oh, I forgot to implement sub on my PMC
09:48 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32894), fulltest) at r45271 - Ubuntu 9.10 i386 (g++ with --optimize)
09:56 clinton joined #parrot
09:58 dalek blizkost: ecd16be | sorear++ |  (5 files):
09:58 dalek blizkost: CALLBACKS!
09:58 purl callbacks are sync
09:58 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​ecd16bef716034a206582fb99ed13157f545cb21
10:22 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32895), fulltest) at r45271 - Ubuntu 9.10 i386 (g++)
10:24 clinton joined #parrot
11:00 sorear Is there any safe way to call Parrot_pmc_gc_unregister from within a destroy VTABLE>
11:06 eternaleye joined #parrot
11:17 dngor joined #parrot
11:26 dngor_ joined #parrot
11:31 lucian joined #parrot
11:34 cotto_w0rk joined #parrot
11:42 dngor joined #parrot
11:55 payload joined #parrot
11:59 bluescreen joined #parrot
12:10 mikehh joined #parrot
12:13 atrodo joined #parrot
12:14 whiteknight joined #parrot
12:17 dngor joined #parrot
12:21 dalek TT #1497 closed by whiteknight++: Expose 'meth_cache' attribute of class.pmc
12:21 dalek TT #1497: http://trac.parrot.org/parrot/ticket/1497
12:22 ruoso joined #parrot
12:23 tetragon joined #parrot
12:29 dalek parrot: r45272 | whiteknight++ | trunk (2 files):
12:29 dalek parrot: add clear_method_cache and get_method_cache methods to the Class PMC. Add tests to verify their behavior. This should satisfy the request in TT #1497.
12:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45272/
12:29 dalek parrot: r45273 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
12:29 dalek parrot: [distutils] the Sun's compiler on OpenSolaris don't like #line.
12:29 dalek parrot: see �http://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=66560
12:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45273/
12:30 whiteknight purl msg Austin TT #1497 down. Remaining two #1 priorities are not doable by me right now, so I'm moving on to the twos.
12:30 purl Message for austin stored.
12:38 TiMBuS joined #parrot
12:46 Mokurai1 joined #parrot
12:59 Coke msg allison - we don't want any versions on CPAN at all? last I heard we were keeping the latest stable release there. no more?
12:59 purl Message for allison stored.
13:01 riffraff joined #parrot
13:04 Coke t/dynpmc/rational.t has bad test plan here.
13:04 Coke ran 56, planned 55.
13:07 Coke DOH
13:07 Coke nevermind.
13:08 PacoLinux joined #parrot
13:09 PerlJam joined #parrot
13:11 Coke msg dukeleto in parrot_shell, shouldn't the check to see if parrot exists include the exe extension? (looks like we check, then bail, THEN add the .exe)
13:11 purl Message for dukeleto stored.
13:12 Coke msg dukeleto - checkout Pod::Usage, which will allow you to eliminate some duplicate text.
13:12 purl Message for dukeleto stored.
13:15 atrodo Morning.  Here's an off the wall question: Does The Parrot Foundation or The Perl Foundation hold the copyright to parrot?
13:15 moritz atrodo: Parrot Foundation
13:15 purl it has been said that Parrot Foundation is so new that it probably has 0 funds.
13:16 atrodo The LICENSE still lists The Perl Foundataion
13:16 moritz atrodo: iirc the perl foundation assigned the copyright to the new PaFo when it was created
13:17 moritz moritz@trudi:~/rakudo/parrot>ack -i 'Copyright.*Parrot Foundation' | wc -l
13:17 moritz 1870
13:17 moritz moritz@trudi:~/rakudo/parrot>ack -i 'Copyright.*Perl Foundation' | wc -l
13:17 moritz 16
13:17 moritz so it seems there are some left-overs
13:18 dalek parrot: r45274 | whiteknight++ | trunk (2 files):
13:18 dalek parrot: [TT #1133] Fixed the manhattan distance calculation so that primitive types are treated as properly autoboxing, and allow the MRO of the autoboxed type to be walked. Added a test case to prove TT #1133 is satisfied, though the test is in perl and that makes whiteknight sad. This should resolve TT #1133.
13:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45274/
13:18 whiteknight purl msg Austin TT #1133 should be fixed now. Test it out.
13:18 purl Message for austin stored.
13:26 Coke note that things in ext/ are not necessarily ours.
13:26 Coke LICENSE is the copyright for the license doc itself...
13:27 dalek TT #1133 closed by whiteknight++: MMD matching does not match 'scalar' with primitive types
13:27 dalek TT #1133: http://trac.parrot.org/parrot/ticket/1133
13:27 Coke the only one I'm not sure about is the create_language script.
13:28 atrodo so "The Perl Foundation" at the top of LICENSE isn't refering to who owns copyright on the project, but who owns copyright on the LICENSE itself?
13:30 Coke yes.
13:31 atrodo So if I was to use the Artistic License in my own project, I would use the LICENSE file as is?
13:32 Coke yes.
13:32 atrodo interesting.  Thanks
13:38 Coke is distutils as smart as make when it comes to building dependencies?
13:39 Coke msg Austin please fix CREDITS in partcl-nqp. Danke.
13:39 purl Message for austin stored.
14:02 bubaflub joined #parrot
14:16 theory joined #parrot
14:19 davidfetter joined #parrot
14:24 whiteknight joined #parrot
14:26 he joined #parrot
14:31 sorear joined #parrot
14:31 ash_ joined #parrot
14:41 patspam joined #parrot
14:42 dalek parrot: r45275 | NotFound++ | trunk/src/pmc/class.pmc:
14:42 dalek parrot: Fix typo that broke C++ build
14:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45275/
15:03 TiMBuS joined #parrot
15:27 Andy joined #parrot
15:32 dalek parrot: r45276 | petdance++ | trunk/src/pmc/packfileconstanttable.pmc:
15:32 dalek parrot: consting and localizing
15:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45276/
15:32 dalek parrot: r45277 | petdance++ | trunk/src/pmc (2 files):
15:32 dalek parrot: consting
15:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45277/
15:47 Andy is there any more code out there that needs to be run thru the headerizer?
15:47 Andy Most importantly, static funcs?
15:51 particle can you ack for c files with 'static' and not 'HEADERIZER'?
15:51 Andy I can, yes.
15:51 Andy but i'm looking for human thought above what I can do on my own.
15:51 particle or, probably, from a clean svn wc, .pmc, .ops, etc
15:51 particle ah, i can't help you there....
15:53 Andy The ack you refer to is ack -lv HEADERIZER $(ack -lw static --noperl )
15:55 Andy Coward!
15:55 Andy Face your headerizer!
15:55 particle joined #parrot
15:55 davidfetter any tcl people in the house?
15:56 moritz Coke?
15:56 purl rumour has it Coke is Will Coleda <mailto:will@coleda.com> or perpetually annoyed. or magical ticket robot or (if Diet), something that turns into formaldehyde in my blood. or getting those data_json issues in Coke's build
16:04 dalek parrot: r45278 | petdance++ | trunk/lib/Parrot/Pmc2c/PMC/default.pm:
16:05 dalek parrot: consting
16:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45278/
16:05 dalek parrot: r45279 | petdance++ | trunk/src/pmc/codestring.pmc:
16:05 dalek parrot: consting and localizing
16:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45279/
16:05 dalek parrot: r45280 | petdance++ | trunk/lib/Parrot/OpTrans/C.pm:
16:05 dalek parrot: fix the way consts are written
16:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45280/
16:24 clinton joined #parrot
16:25 clinton joined #parrot
16:30 Andy Ok, what are dynpmcs?
16:30 purl dynpmcs are treated the same way as pmcs, as far as dumps go
16:31 cotto_w0rk no, dynpmcs are PMCs that can be loaded at runtime from a shared library
16:31 purl okay, cotto_w0rk.
16:31 Andy So the prob'ly oughta get headerized, too.
16:32 Coke Andy: yes.
16:32 Coke they are currently built via a recursive make rule. is that a problem for headerization?
16:32 Andy maybe
16:32 Coke (that's going away as soon as darbelo and I can manage.)
16:32 Andy is there a top-level macro for those files?
16:33 Coke macro?
16:33 purl macro is, like, not exactly equal to a BLOCK
16:33 Coke do you mean make target?
16:33 Andy $(DYNPMC_FILES)
16:33 Coke no. top level is "make dynpmc"
16:33 Andy Look at the headerizer rule and see what it passes in.
16:33 Coke so all that is controlled inside src/dynpmc/Makefile
16:33 Andy Then yes, that's a problem.
16:33 Coke ok.
16:33 Coke then I'll try to get the recursive make gone today.
16:34 Coke (more like tonight.)
16:34 Coke there's a branch if you want to add in the headerizing there.
16:34 Andy I don't.
16:35 Coke k.
16:35 Andy I just need $(DYNPMC_O_FILES) that I can add to the headerizer target
16:35 Coke ok. I'll do that as part of the mergeback of the branch.
16:36 fperrad_ joined #parrot
16:37 payload1 joined #parrot
16:38 dalek parrot: r45281 | petdance++ | trunk/src/ops/core.ops:
16:38 dalek parrot: much consting
16:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45281/
16:39 Coke (in branch right now it's DYNPMC_DIGEST_OBJS, DYNPMC_FOO_OBJS - I can add a single O_FILES for you.
16:39 allison Coke: we treat CPAN like any other distribution system (*BSD, SuSE, Fedora, Ubuntu, Debian, etc), it's not part of the Parrot release process, but if someone wants to be the CPAN release maintainer it's fine
16:40 allison Coke: so far, no CPAN releases since 1.0, so I'd say there's no clamoring demand for that distribution system
16:41 Coke i don't find it a particularly compelling distribution vector, myself.
16:41 Coke (only for Parrot::Embed)
16:41 Coke (and that doesn't need all of parrot in CPAN)
16:42 Andy you know what I'd really like?
16:42 Andy Is if all the opcode_t* were const
16:42 Coke Andy: A PONY!
16:42 Coke ... or that.
16:42 Andy because when you're executing opcodes, you're not modifying anything, right?
16:43 Coke hey, do we have any git-svn users than can update ^/branches/include_dynpmc_makefile from trunk?
16:43 Coke *that
16:43 elmex joined #parrot
16:43 payload joined #parrot
16:43 Andy Everything involved with execution of opcodes oughta be all const.  You get one opcode to start, and run.
16:44 Coke Andy: I wonder if dynops would affect that at all.
16:44 Coke (probably not. just wondering.)
16:50 dalek tracwiki: v35 | coke++ | BranchDescriptions
16:50 dalek tracwiki: rerun tools/dev/branch_status.pl
16:50 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Branc​hDescriptions?version=35&amp;action=diff
17:15 desmond joined #parrot
17:18 desmond left #parrot
17:18 desmond joined #parrot
17:19 desmond hi, I'm starting to hack on PIR, but I'm getting the "maximum recursion depth exceeded"
17:19 PerlJam desmond: don't recurse so much  :)
17:19 whiteknight desmond: nopaste your code?
17:19 cotto_work That probably means you have an infinite recursion.
17:20 desmond :)
17:20 Coke if you are legitimately hitting that (i was in partcl for a while), you can increase the interpreter's recursion limit.
17:21 Coke #  Override recursion limit
17:21 Coke $P0 = getinterp
17:21 Coke $P0.'recursion_limit'(10000)
17:21 desmond I'm not sure if I'm hitting the limit... or just going to infinity
17:21 desmond here it is http://nopaste.info/29c9f756b0.html
17:23 * PerlJam sides with infinity
17:23 cotto_work That's definitely recursive.
17:24 desmond got it
17:24 desmond set it to 10000000
17:24 desmond and that did it, thx! :)
17:24 cotto_work I didn't know that the recursion limit was configurable from pir.
17:24 Austin Not for nothing, but what is the point of that function - other than to exercise the stack pointer?
17:24 cotto_work nice touch
17:25 Coke cotto: only because I complained about it. =-)
17:25 PerlJam Coke++
17:25 Austin whiteknight++
17:25 Austin whiteknight++
17:25 whiteknight Austin: Glad you like!
17:25 Austin Whiteknight is a ticket-closing monster.
17:27 dalek parrot: r45282 | petdance++ | trunk/src/ops (4 files):
17:27 dalek parrot: consting aplenty
17:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45282/
17:27 riffraff joined #parrot
17:28 Austin Wow. My first encounter with the library system in a hell of a long time, and I discover they're completely irrelevant.
17:28 Coke Austin: ?
17:29 Austin We don't have the book you want. We don't have anything by this author, who is popular and has been putting out books for years.
17:29 Coke oh, you mean an actual library. =-)
17:30 Austin The other library has 1 copy of this new book. We can't get it for you, because it's a browsing copy and so cannot be requested.
17:30 Coke Austin: ... which was my next suggestion.
17:30 Austin Yeah.
17:30 Coke I find in our system that it takes about a month for a browsing copy to be lendable cross-library.
17:30 Austin Bottom line - I need to go ahead and buy it in hard-copy.
17:31 Coke Austin: be sure to purchase it through my amazon.com store link. =-P
17:31 Austin (I'd be more sympathetic if the book wasn't dated 2009...)
17:32 Austin "Oh, by the way, here's our search tool. It's a web search that doesn't even begin to approximate what google can do. Enjoy."
17:33 Austin The great part is that I, and everyone in the county, am paying tax money to support the county library. A *lot* of tax money, it turns out.
17:33 * treed had good experiences with the Pasadena Public Library.
17:35 Austin Man, where are the russian intellectual-property hackers when I need them...
17:35 treed in ur intellectual property, hacking them
17:36 cotto_work bacek almost fits that description.  You could ask him. ;)
17:36 Austin I wonder if there's a used bookstore out there that would trade me even, hardcopy for soft...
17:51 mikehh joined #parrot
18:02 whiteknight Austin: what book?
18:02 purl book is http://blog.jrock.us/articles/Catalyst%20Book.html or Philippe "BooK" Bruhat, aka Mr Pink or mailto:book@mongueurs.net or awesome or a dino or a black hat or a galcon player
18:12 Austin Whiteknight: Today's book is "Imager's Challenge" by L.E. Modesitt. But in general, I've got a bunch of hardcovers that I'd like to replace with the softcover versions.
18:12 whiteknight oh, okay
18:13 theory joined #parrot
18:13 Austin And now, I think it's time for lunch.
18:21 Coke note: allowing "anonymous" svn checkouts as the user "anonymous" is not really anonymous. Thank you.
18:25 contingencyplan joined #parrot
18:28 chromatic joined #parrot
18:33 Mokurai joined #parrot
18:34 Mokurai joined #parrot
18:42 slavorg joined #parrot
18:46 Coke seen darbelo?
18:46 purl darbelo was last seen on #parrot 2 days, 18 hours, 3 minutes and 49 seconds ago, saying: Austin: Shh! I'm selling stuff here.  [Mar 27 00:43:09 2010]
18:48 hercynium joined #parrot
19:01 Coke msg andy - not worth headerizer the digest-based PMCs as they are leaving the nest as soon as 2.4 is cut.
19:01 purl Message for andy stored.
19:02 Coke msg darbelo - not worth doing anything fancy with config and the dynpmcs as they are leaving the nest as soon as 2.4 is cut.
19:02 purl Message for darbelo stored.
19:02 chromatic 2.4 or 2.3?
19:03 Coke msg andy - er, as soon as 2.3 is cut.
19:03 purl Message for andy stored.
19:03 Coke msg darbelo - er, as soon as 2.3 is cut.
19:03 purl Message for darbelo stored.
19:03 Coke chromatic++
19:06 Coke chromatic: http://trac.parrot.org/parrot/ticket/898 appears to document a memory leak.
19:07 chromatic I think I reported that.
19:07 cotto_work I remember introducing that.  I should probably do something about it.
19:08 cotto_work Oh.  I own it.
19:09 Coke i figure anything with "memory leak" is probably "good for rakudo"
19:09 Coke *fixing* anything ...
19:09 chromatic That one didn't come up much though.
19:09 cotto_work It's not a big leak.
19:10 Coke chromatic: what about #978? any reason not to apply that patch?
19:11 chromatic It broke a couple of tests and I haven't spent time figuring out whether to ditch them or fix them.
19:12 Coke msg allison can you handle TT #894 ? I don't seem to have privs on trac.parrot.org/languages
19:12 purl Message for allison stored.
19:12 cotto_work coke++ for ticket trolling
19:16 dukeleto Coke: dynpmcs are leaving the nest with 2.4? is that documented somewhere? in DEPRECATED?
19:16 Andy joined #parrot
19:17 Coke dukeleto: the digest ones are, yes.
19:17 joeri joined #parrot
19:17 Coke and yes, it's in the pod.
19:17 allison joined #parrot
19:17 Coke also gdbmhash
19:17 dukeleto Coke: and also, thanks for your parrot shell comments. both are good ideas
19:17 Coke I already can't remember them! =-)
19:22 Coke would TT#827 be helpful as we try to ratchet down memory usage?
19:22 Coke (command line arg to specify maximum memory allocation)
19:23 whiteknight Coke: I can't think of a good way to do that ticket except if (mem_allocated > mem_limit) PANIC
19:23 whiteknight that is, there's no good graceful way to enforce that limit
19:24 Coke yes, you'd have to PANIC if you went over the limit... or throw an out of memory exception.
19:24 Coke I'd vote exception.
19:24 chromatic compact_pool could be less dumb if it's close to that limit.
19:24 whiteknight Can't throw an exception. xceptions are objects, require allocation, etc. If we're already over the memory limit, we can't allocate more crap
19:25 Coke whiteknight: sure you can. this is a /parrot/ limit, not a /system/ limit.
19:25 moritz whiteknight: unless the out-of-memory exception is pre-allocated for later use
19:25 whiteknight so you want essentially a soft limit?
19:25 Coke whiteknight: ... yes.
19:25 Coke basically, a vm-specific ulimit.
19:26 whiteknight Well, that's all possible I guess. I don't see a whole lot of utility there, but I won't argue
19:26 Coke chromatic: I hadn't even thought of using that information to improve allocation.
19:26 Coke whiteknight: same reason it's useful in java.
19:26 whiteknight Is it useful in Java? I don't use Java
19:26 chromatic If the GC's close to that limit, it can run more often.
19:26 moritz it can also be useful for sandboxing
19:27 chromatic Trade more time spent in the GC for less memory usage.
19:27 slavorg joined #parrot
19:27 Coke moritz: hey, can you try something in rakudo-latest for me?
19:27 Coke moritz: http://trac.parrot.org/parrot/ticket/1029
19:27 dalek TT #1291 closed by coke++: update make headerizer to work with PMCs too.
19:27 dalek TT #1291: http://trac.parrot.org/parrot/ticket/1291
19:27 Coke (or does rakudo no longer use PCT's HLLCompiler in master?)
19:28 eiro_ joined #parrot
19:28 moritz Coke: will try
19:30 Coke moritz++
19:34 Tene Coke: I really have no clue what it uses.  Perl6::Compiler is declared in two different places, one inheriting from PCT::HLLCompiler, and one inheriting from nqp-rx's HLL::Compiler
19:34 moritz Coke: current rakudo even fails to build with that patch
19:35 Coke moritz: so it's still relevant. danke.
19:43 whiteknight that's a ticket I may have to look at more closely
19:43 whiteknight because it's absolutely strange
19:44 Coke tailcall is historically wonky.
19:44 Coke it is definitely not safe to use everywhere .return is.
19:44 whiteknight it's basically just an optimization, so no surprise it isn't right
19:44 whiteknight .tailcall should be made more robust
19:45 Coke chromatic: http://trac.parrot.org/parrot/ticket/1483 looks like something you might be interested in.
19:45 Coke (I think it might be my fault that's a patch and not already just applied.)
19:48 Andy Coke: Thank you for closing that ticket.
19:48 Coke Andy: np
19:49 Coke Andy: I'm getting a LOT more warnings on the build today.
19:49 Andy Are you? Where?
19:49 Andy I haven't noticed anything myself.
19:50 Coke http://feather.perl6.nl/~coke/wf
19:50 Andy oh, that's bad
19:50 Coke Revision: 45282
19:51 Coke /* got is never < 0, but C's type system can't tell */
19:51 Coke ... apparently it can!
19:51 Coke s/type/warning/
19:51 Coke parrot glut?
19:51 Coke glut?
19:51 purl well, glut is http://www.opengl.org/resources/libraries/ or http://en.wikipedia.org/wi​ki/OpenGL_Utility_Toolkit
19:54 Coke I think http://trac.parrot.org/parrot/wiki/BuildWarnings has some others that are probably very out of date.
19:55 Andy Coke, fixing 'em.  Premature consting.  Don't know how I missed the warnings.
19:55 dalek tracwiki: v9 | coke++ | BuildWarnings
19:55 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Bu​ildWarnings?version=9&amp;action=diff
19:55 Andy Actualy, i do.  Many many other "unused CUR_CTX" warnings
19:59 Coke do you have more warnings enabled than the default?
20:02 allison joined #parrot
20:04 japhb Coke, what were you wanting to know about GLUT?
20:04 japhb (I got highlighted for an OpenGL-related term)
20:05 bluescreen joined #parrot
20:06 Andy Coke: I just always build with --cage\
20:09 dalek parrot: r45283 | fperrad++ | trunk/lib/Parrot/Pmc2c/Library.pm:
20:09 dalek parrot: [pmc2c] fix generation for filename with path
20:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45283/
20:09 dalek parrot: r45284 | fperrad++ | trunk/lib/Parrot/Pmc2c (2 files):
20:09 dalek parrot: [pmc2c] on Windows, generate #line with slash instead of backslash
20:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45284/
20:09 dalek parrot: r45285 | fperrad++ | trunk/runtime/parrot/library/distutils.pir:
20:09 dalek parrot: [distutils] previous commits in Pmc2c allow to build PMC with change directory
20:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45285/
20:09 dalek parrot: r45286 | petdance++ | trunk/src/ops (2 files):
20:09 dalek parrot: remove some premature consts
20:09 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45286/
20:14 Coke japhb: glut warnings on latest build for me.
20:14 Coke http://feather.perl6.nl/~coke/wf //glut
20:17 japhb Not sure that it's even the right thing to fight that warning.  The point of a wrapper library is to wrap the entire API, even the deprecated bits.  Letting the user *know* that the API is deprecated on that platform actually seems like a proper action, so IMHO the warning should stand.
20:23 Coke I'm assuming that the right fix would be to use whatever the non-deprecated method is.
20:24 japhb Coke: We're not using the method ... we're just providing it.  glut_callbacks.c is just a file that wraps the GLUT callback system into Parrot-friendly terms.
20:25 japhb 'glutWMCloseFunc' means "Here's a function pointer to callback when the WMClose event occurs in GLUT"
20:25 japhb Apparently WMClose is deprecated on OS X.
20:26 Coke japhb: ok. I'm saying perhaps it should be a little smarter than that.
20:27 Coke I don't use GLUT anyway. just trying to keep it warnings clean.
20:27 japhb Unfortunately, the GLUT callbacks system does not work within the tiny bounds of Parrot's current NCI callback support.  glut_callbacks.c is a giant hack.
20:27 japhb Sure, I understand that.
20:27 japhb It's just that this is a warning that the user might actually find useful.  It's not a pointless warning caused by C sucking.
20:28 japhb Just because the function is deprecated doesn't mean the NCI lib shouldn't provide it ... it's up to the API user whether to ignore the deprecation or not.
20:28 japhb Anyway, the short story is "please let that warning remain".  :-)
20:29 Andy that glut is smaller now, of course
20:29 japhb ur?
20:29 purl japhb: q[merlyn]'s Unix Review columns, at http://www.stonehenge.com/merlyn/UnixReview/ or just a hop skip and a jump away from babylonia or short for URog or a lame way to say you're or Updating a public calendar automatically (Jul 07); Export behavior, not data (May 07); The Replacements (Mar 07); Show me your references (Jan 07); Formatting reports with Template Toolkit (Nov 06) or rong
20:38 jan joined #parrot
21:01 GeJ Good morning everyone
21:02 cotto_work hi GeJ
21:05 Whiteknight joined #parrot
21:08 tcurtis joined #parrot
21:08 payload joined #parrot
21:14 dalek parrot: r45287 | chromatic++ | trunk/src/pmc.c:
21:14 dalek parrot: [src] Made Parrot_pmc_new_init_int() return instantiated PMC when creating a
21:14 dalek parrot: new PIR object.  This needs tests, but it prevents awkward crashes and removes
21:14 dalek parrot: a compiler warning.
21:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45287/
21:31 mikehh joined #parrot
21:36 ash_ joined #parrot
22:02 Austin Buenos tardes, #Parrot
22:09 payload joined #parrot
22:20 lucian joined #parrot
22:29 cotto_work interesting idea: instead of forbidding TODO comments in code, require that they be attached to a name, i.e. #TODO(cotto) add more awesome to the frobulator
22:30 chromatic A name or a ticket numbe.
22:30 chromatic number
22:33 cotto_work Hmmm.  We appear to have 530 TODOs.  It must be XXX that generates codingstd noise.
22:34 lucian joined #parrot
22:35 cotto_work Ah.  it's only for C files.
22:35 cotto_work not sure why, but there it is
22:37 lucian joined #parrot
22:39 snarkyboojum joined #parrot
23:09 tcurtis chromatic: Am I correct in understanding your message on parrot-dev as indicating a desire for both keeping COW strings and adding immutable strings?
23:09 tetragon joined #parrot
23:10 chromatic Yes, tcurtis.
23:12 ruoso joined #parrot
23:13 cotto_work That'll be way easier than replacing the entire string subsystem in-place
23:13 cotto_work </obvious>
23:13 sorear I'm not so sure having a single type with heterogenous semantics will be "easy"
23:14 chromatic I don't understand why people think they're not complementary.
23:14 sorear COW and mutable are semantically identical; switching to immutable requires changing callers
23:15 Whiteknight yay! Got an email from a prospective gsoc student interested in immutable strings
23:16 chromatic With immutable strings, you can keep the cheapness of COW and get rid of the write.
23:16 chromatic You keep the benefits of sharing buffers and header/buffer separation.
23:18 tcurtis Should string operations on a given type return the same type of string? Your example of a immutable string substring being COW made me wonder if you'd want both a Parrot_str_substring_immutable and a Parrot_str_substring_COW?
23:19 chromatic They're not really different types internally.
23:20 sorear IMMUTABLE_STRING ** is semantically equivalent to COW_STRING *
23:21 chromatic Think of it this way, tcurtis.  We remove all in-place string modification from the system.  We keep the separation of string headers and string contents.  Multiple string headers can point to the same string contents.
23:22 chromatic A string header has a pointer to string contents, encoding information, and length information.
23:22 chromatic A string contents has a buffer of memory and a reference count.
23:24 chromatic We get rid of the write part of COW, but we keep the rest.
23:24 Whiteknight ...so they're CO strings
23:25 chromatic Nuggets, in fact.
23:25 particle so, they're strings with three ends
23:25 particle or maybe four.
23:26 Whiteknight Actually, I've gotten emails from 2 students tonight interested in this project
23:27 Whiteknight (more students)++
23:28 dalek parrot: r45288 | petdance++ | trunk/src/pmc (2 files):
23:28 dalek parrot: more headerization and consting
23:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45288/
23:28 dalek parrot: r45289 | petdance++ | trunk/src/pmc/imageio.pmc:
23:28 dalek parrot: more headerization
23:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45289/
23:29 Whiteknight If half the students who have contacted me put in good applications and get accepted, It will be a bumper year
23:29 cotto_work put them all in a locked room with a pile of bricks
23:29 chromatic Who, the Nuggets or the students?
23:29 cotto_work how many have you seen?  any we don't know about yet?
23:30 Whiteknight cotto_work: I've talked to about 8 more students than have written to the list
23:30 cotto_work wow
23:30 Whiteknight my first advice is always to send an intro to the list, however
23:31 cotto_work sure
23:34 tcurtis chromatic, I thought you were saying to keep COW strings with in-place modification but also add immutable strings. Thanks for clarifying.
23:35 chromatic You're welcome.
23:36 Whiteknight tcurtis++
23:40 tcurtis I've been lurking #parrot for the last few days and I've noticed a lot of messages including some person's nickname postfixed with ++. Why is that?
23:41 Austin karma tcurtis
23:41 purl tcurtis has karma of 1
23:41 Austin tcurtis++
23:41 Austin karma tcurtis
23:41 purl tcurtis has karma of 2
23:41 Austin karma whiteknight
23:41 purl whiteknight has karma of 1926
23:41 Whiteknight shooting for the big two-oh-oh-oh!
23:42 Austin We can't pay you, but you can exchange karma for features you want added to parrot.
23:42 Whiteknight tcurtis: you do something good, you get a karma point
23:42 Austin Or a t-shirt.
23:42 purl rumour has it a t-shirt is somewhat less secure or for sale at http://www.cafeshops.com/parrotstuff1/
23:42 Austin Or donuts.
23:42 Austin I'm not sure what the exchange rate is.
23:42 Whiteknight I havent gotten any donuts
23:42 Austin I think it's somehow related to avogadro's number.
23:43 cotto_work You get the first one at 10000
23:43 Austin plus the current prime rate.
23:43 Austin Seriously, whiteknight. There's a wiki...
23:43 Whiteknight shit. I'm going to have to start making commits one character at a time
23:43 cotto_work PaFo will take care of it.
23:43 Whiteknight karmaleo
23:43 tcurtis Austin++ Whiteknight++ thanks for the explanation, including the demonstration, the serious explanation, and what I assume is humor.
23:43 Whiteknight karma leo
23:43 purl leo has karma of 1886
23:43 cotto_work karma chromatic
23:43 purl chromatic has karma of 2694
23:43 Austin Humor?
23:43 purl Humor is learned or spelt humour or moist or in flavours, using a bit of it far enough of #Perl's current wavelength may return problems to you or critical to being a master
23:44 Whiteknight I thoght leo had much more
23:44 Austin Boy, donuts is no laughing matter...
23:44 cotto_work karma donuts
23:44 purl donuts has karma of 26
23:44 dalek parrot: r45290 | petdance++ | trunk/src/pmc (2 files):
23:44 dalek parrot: more consting and headerizing
23:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45290/
23:44 Whiteknight karma petdance
23:44 purl petdance has karma of 1257
23:44 Whiteknight karma kid51
23:44 purl kid51 has karma of 114
23:45 Whiteknight karma james keenan
23:45 purl james keenan has neutral karma
23:45 Whiteknight karma chip
23:45 purl chip has karma of 1199
23:45 Whiteknight I cant remember who, but somebody had a karma of almost 8 grand
23:46 Austin http://msgboard.snopes.com/ph​otos/signs/graphics/kern.jpg
23:47 Whiteknight nice
23:47 darbelo karma purl
23:47 purl purl has karma of 8914
23:47 cotto_work I'm not going to mess with Kern.
23:47 Whiteknight purl--
23:47 purl Whiteknight: huh?
23:47 Whiteknight karma purl
23:47 purl purl has karma of 8914
23:48 darbelo <purl-->
23:48 Whiteknight (purl)--
23:48 Whiteknight karma purl
23:48 purl purl has karma of 8913
23:48 bacek joined #parrot
23:48 Whiteknight well, one of those worked
23:48 darbelo Selective hearing helps keep your karma up.
23:48 bacek aloha
23:48 cotto_work yours
23:48 bacek karma C
23:48 purl c has karma of 8488
23:48 cotto_work hola bacek
23:49 Whiteknight stupid c++. cheater
23:49 treed c--
23:49 darbelo c+=1
23:51 bacek karma bacek
23:51 purl bacek has karma of 2150
23:51 bacek hollei schitt...
23:51 bacek When I passed 2k?
23:52 Austin bacek--
23:52 darbelo One of your big branch dcommits I't guess...
23:52 Austin You'll pass 2k in about 10 minutes
23:52 Austin bacek--
23:52 Austin bacek--
23:52 Austin bacek--
23:52 cotto_work If you like, talk to particle and he can have PaFo send you a fifth of a donut.
23:52 Austin :)
23:53 chromatic I saw a maple bar with sprinkles yesterday in the sore.  $0.50.  I didn't buy it.
23:53 bacek what 'bout BEER?
23:53 cotto_work If I ever see you, I'll buy you a beer.
23:54 chromatic I saw that too, and wine.
23:54 Austin But probably not for $0.50
23:54 chromatic $3.99 or something.
23:54 Austin Although, maybe in Portland...
23:57 Whiteknight bacek: You ever come to the states, You'll get many beers
23:58 bacek Heh. Which part of states?
23:58 Whiteknight any part. We're all over

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

Parrot | source cross referenced