Camelia, the Perl 6 bug

IRC log for #parrot, 2010-04-08

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 kurahaupo joined #parrot
00:03 davidfetter joined #parrot
00:29 tcurtis Is there a technical reason why PIR of the form "$P0 = foo()
00:29 tcurtis .return ($P0)" can't be automatically optimized to ".tailcall foo()"
00:30 Whiteknight no
00:31 darbelo The glib answer is: Yes, IMCC.
00:31 chromatic I'd rather have that as a PAST optimization.
00:32 Whiteknight +1 to PAST optimization
00:32 payload joined #parrot
00:32 payload joined #parrot
00:33 chromatic If no one takes that on for GSoC, I'll submit a Hague grant for it.
00:34 darbelo Cool.
00:34 Whiteknight chromatic, what, optimizing tailcalls in PAST?
00:35 darbelo I would expect "PAST optimization" in general.
00:35 chromatic Writing a PAST optimization layer.
00:35 Whiteknight +1
00:35 purl 1
00:36 darbelo Shame Rakudo Star is so close. I think it would really benefit from that.
00:37 chromatic If we can get constant string handling improvements in 2.3, we'll see a lot of benefit.
00:37 chromatic Mostly we need a clever algorithm/data structure pass through the branch before it's ready.
00:38 chromatic An AVL tree is still arguably the right data structure, but we need to tune our use of it severely.
00:39 chromatic If anyone's looking for an evening's worth of low-hanging but high-value work....
00:41 darbelo Speaking of low-hanging fruit, tucking _buflen into the buffer data tourned out not to be. Strings like to play dirty games with it.
00:42 chromatic I'm surprised.
00:42 chromatic Halfway.
00:43 darbelo It's probably debugable, since it looked like an issue with externally allocated data. But it will be much easier to do after bacek's branch lands.
00:44 chromatic The immutable string branch?
00:45 ash_ joined #parrot
00:45 darbelo Yeah.
00:46 sorear darbelo: R* is also pretty far
00:46 purl okay, sorear.
00:46 sorear after the first R* in late May, there will be new blessed bundle releases also called R* every N months
00:46 sorear I am not privy to the value of N
00:46 darbelo If strings are immutable, then they can't go around poking into each other's buffer's without asking first.
00:46 chromatic allison needs more convincing about immutable strings.
00:47 chromatic She thinks, in part, that it'll make writing more expensive.
00:47 chromatic (which is true, but ameliorated by the fact that reads get much cheaper, and they happen much more frequently than writes)
00:47 sorear It will.  Good thing we don't actually care that much about writing
00:48 darbelo We could also indirect through mutable buffers to speed up some operations.
00:48 Whiteknight chromatic: what's an evening's worth of low-hanging but high-value work?
00:49 chromatic Fixing the AVL tree in the constant string caching branch.
00:49 sorear At some point I'd like to try and implement type inference in NQP
00:50 Coke $P14 = "Capture[0x1ace630]"()
00:50 Coke ... that looks wrong. =-)
00:58 abqar joined #parrot
01:04 Mokurai joined #parrot
01:05 Mokurai1 joined #parrot
01:12 dalek partcl-nqp: 867850c | Coke++ | src/Partcl/commands/ (2 files):
01:12 dalek partcl-nqp: eliminate _Tcl::string_trim , it duplicates the helper function for [string trim]
01:12 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/867850c742fd4ec90fd6041d06b1f4f71cec5aa5
01:21 leprevost joined #parrot
01:29 Mokurai1 joined #parrot
01:30 Mokurai joined #parrot
01:38 leprevost joined #parrot
01:54 Andy joined #parrot
01:57 dalek parrot: r45438 | petdance++ | trunk/src/key.c:
01:57 dalek parrot: removed unused var
01:57 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45438/
02:03 kyle_l5l joined #parrot
02:30 dalek parrot: r45439 | petdance++ | trunk/src/pmc.c:
02:30 dalek parrot: removed unused arg from Parrot_pmc_reuse_noinit
02:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45439/
02:46 eternaleye joined #parrot
02:47 dalek parrot: r45440 | petdance++ | trunk/include/parrot/pmc.h:
02:47 dalek parrot: re-headerizerd
02:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45440/
02:54 janus joined #parrot
03:20 dalek parrot: r45441 | petdance++ | trunk/src/pmc.c:
03:20 dalek parrot: reducing number of exits out of functions
03:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45441/
03:29 sorear (what, no comments on the concept of NQP type system?)
03:56 Mokurai2 joined #parrot
04:15 cotto It's a nice idea, but part of the idea of nqp is that it's mostly a subset of perl 6.
04:15 cotto I can't say I'd mind some better compile-time checks
04:15 cotto though
04:17 sorear cotto: I am very speculatively thinking that less wrapper PMCs and more $S and $I variables will mean less garbage while running NQP-rx parsers, which could be a win on a par with immutable strings for bootstrap performance.
04:18 sorear *Rakudo/etc bootstrap
04:18 sorear Alternatively, it could be nearly useless.
04:19 cotto My impression was that the lack of non-PMC lexicals was the blocker for anything like that.
04:21 sorear $I0 works fine?
04:21 sorear or are you talking about find_lex
04:21 snarkyboojum joined #parrot
04:22 * sorear thinks NQP doesn't actually need to use Parrot lexicals, since it's such a static language
04:23 cotto "$I0" works fine, but it's still a PMC internally.
04:23 kurahaupo !?
04:23 cotto in nqp
04:25 nopaste "cotto" at 71.231.102.30 pasted "%I0 is a pmc in nqp" (16 lines) at http://nopaste.snit.ch/20202
04:25 sorear IREG seems to exist
04:25 sorear NQP is not FORTRAN
04:26 sorear NQP values are all PMCs
04:26 cotto yeah
04:26 sorear I would fix it in a Not Quite Perl6 way - my int $x := 1
04:26 sorear as opposed to selecting on the first name character
04:26 cotto That could be an improvement.
04:27 cotto and compatible with perl 6
05:06 Mokurai1 joined #parrot
05:07 eternaleye joined #parrot
05:14 snarkyboojum_ joined #parrot
05:16 dalek plparrot: 7e1353d | dukeleto++ | plparrot.c:
05:16 dalek plparrot: Correct pushing floats onto func_args
05:16 dalek plparrot: review: http://github.com/leto/plparrot/commit/7​e1353dce323653c63121b281920388239e9be54
05:16 dalek plparrot: 113e58a | dukeleto++ | plparrot.c:
05:16 dalek plparrot: Refactor conversion of PG datatypes into Parrot datatypes into the plparrot_push_pgdatatype_pmc function
05:16 dalek plparrot: review: http://github.com/leto/plparrot/commit/1​13e58a210998542436edf4a51bce861a0121d0f
05:47 dalek parrot: r45442 | petdance++ | trunk (3 files):
05:47 dalek parrot: Hid all the macro logic behind the new ->valid_macro method
05:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45442/
05:47 dalek parrot: r45443 | petdance++ | trunk (2 files):
05:47 dalek parrot: removed redundant copy of extract_function_declarations
05:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45443/
06:00 payload joined #parrot
06:02 uniejo joined #parrot
06:04 dalek parrot: r45444 | petdance++ | trunk (2 files):
06:04 dalek parrot: removed redundant extract_function_declarations and updated the one in Parrot::Headerizer
06:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45444/
06:04 dalek parrot: r45445 | petdance++ | trunk (2 files):
06:04 dalek parrot: encapsualted all the warnings in the Headerizer object, and set them via ->squawk method
06:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45445/
06:04 dalek parrot: r45446 | petdance++ | trunk/tools/build/headerizer.pl:
06:04 dalek parrot: removed unused hash %opt
06:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45446/
06:09 dalek TT #1545 closed by petdance++: Properly split the headerizer
06:09 dalek TT #1545: http://trac.parrot.org/parrot/ticket/1545
06:12 snarkyboojum joined #parrot
06:23 Mokurai1 joined #parrot
06:25 Austin joined #parrot
06:27 Austin joined #parrot
06:31 Mokurai joined #parrot
06:36 dalek parrot: r45447 | petdance++ | trunk/tools/dev/nci_thunk_gen.pir:
06:36 dalek parrot: quiet a ton of unused warnings and do some consting
06:36 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45447/
06:41 pjcj joined #parrot
07:03 dukeleto what is the best way to see if a ResizablePMCArray is empty from C?
07:03 sorear VTABLE_elements
07:03 purl VTABLE_elements is failing likely because mro is null
07:04 sorear or VTABLE_get_bool
07:06 dukeleto sorear++
07:22 GeJ clock?
07:22 purl GeJ: LAX: Thu 12:22am PDT / CHI: Thu 2:22am CDT / NYC: Thu 3:22am EDT / LON: Thu 8:22am BST / BER: Thu 9:22am CEST / IND: Thu 12:52pm IST / TOK: Thu 4:22pm JST / SYD: Thu 5:22pm EST /
07:27 yjh joined #parrot
07:36 fperrad joined #parrot
07:37 yjh joined #parrot
07:39 AndyA joined #parrot
07:39 dalek plparrot: 17bdd73 | dukeleto++ | plparrot.c:
07:39 dalek plparrot: Correct function signature for Parrot_ext_call and refactor a bit
07:39 dalek plparrot: The sig for Parrot_ext_call should be Pf->P, which returns a PMC, not Pf->
07:39 dalek plparrot: which returns nothing. Also, refactor create_* functions so that the global
07:39 dalek plparrot: interpreter does not have to be passed in.
07:39 dalek plparrot: review: http://github.com/leto/plparrot/commit/1​7bdd738d05cb383025b95e8e83d547a3cdd7b29
07:39 dalek plparrot: b6ffc8c | dukeleto++ | plparrot.c:
07:39 dalek plparrot: Fix signature of Parrot_ext_call and actually get PIR sub return values
07:39 dalek plparrot: review: http://github.com/leto/plparrot/commit/b​6ffc8c81ad372517f06f66f2d1128c912528896
07:48 fperrad joined #parrot
07:50 payload joined #parrot
08:00 payload joined #parrot
08:11 payload joined #parrot
08:26 sorear it appears that the return value of get_pmc_keyed is supposed to be an lvalue
08:26 sorear although I can't keep all these layers of indirection straight in my head
08:26 Austin Heh
08:26 Austin I thought the return value of get_pmc_... should be a pmc, no?
08:26 sorear yes
08:26 sorear but pmcs can be lvalueish or rvalueish
08:27 sorear my_pmc_thingie = array[12]
08:27 sorear my_pmc_thingie = 5
08:27 sorear if array is a RPA, it's just been modified in place
08:27 sorear but if array was a RIA, it hasn't been
08:28 sorear it's all extremely confusing
08:28 sorear and I have no idea what the right semantics for any operation are
08:28 Austin Is this from perl, or from pir?
08:28 sorear RIA get_pmc_ returns a duplicate of the stored value
08:28 sorear pir
08:28 Austin Ahh
08:28 sorear RPA get_pmc_ returns an alias of the stored value
08:28 sorear which is correct?
08:28 Austin You're getting confused by an irritating "feature" of pir
08:29 Austin In any case where there is an "operation" on the rhs of an = in pir, the = is really syntactic sugar for a 3-part opcode:
08:29 sorear if Perl is going to be implemented on Parrot ever, then it needs to be able to do lvalue gets
08:29 sorear \$array[12]
08:29 Austin my_pmc = array[12]
08:29 sorear $$ref = 42;
08:30 Austin is really "get_pmc_keyed_int my_pmc, array, 12"
08:30 sorear but if $array could be either RIA or RPA, then it seems this is unimplementable
08:31 sorear Austin: cute syntax, but it tells me nothing about how get_pmc_keyed_int is supposed to be used
08:31 Austin On the other hand, in a case where = is the only visible op, then you are looking at an "intelligent" system that maps = to either "bind" (aka set) or "assign"
08:31 riffraff joined #parrot
08:31 sorear half of parrot treats PMCs as containers, the other half treats them as reference values
08:33 sorear this would be much simpler if the Integer PMC was immutable
08:33 Austin The upshot is that $P0 = $P1 is a pointer copy, while $P0 = 5 is really sugar for set_integer $P0, 5
08:34 sorear yes
08:34 Austin For myself, I'd prefer a different syntax. But it's too late for that.
08:34 sorear it seems that right now, if you get_pmc_, you need to always clone afterward
08:35 sorear since if you're accessing a RPA it might only be an alias and could be changed out from under you at any time
08:35 sorear and if you want to do an lvalue, you need to make a wrapper object
08:35 sorear and you should always clone before set_pmc, because it might bind internally
08:36 sorear unless I'm hopelessly confused
08:36 sorear which I am
08:36 Austin :-$
08:36 sorear the upshot of this is that I'm writing PMCs and it appears any combination of semantics is valid for PMCs
08:37 Austin You probably need a "reference" pmc.
08:37 sorear (am I coming acrosss as complaining?)
08:37 Austin You could fake it with a FPA[1], but ...
08:37 sorear What does a reference PMC do
08:38 Austin Actually, this is pretty normal. Most people make a lot more noise, or just quietly walk away.
08:38 Austin A reference PMC would enable you to do \\\\\\\$foo, or whatever.
08:38 Austin Sorry.
08:38 Austin A Reference PMC ...
08:38 sorear What I /want/ is a formal denotational semantics for PASM
08:38 Austin Heh
08:38 Austin Sure.
08:39 * moritz wants a ponie
08:39 Austin Email me a copy when you get it.
08:39 Austin Moritz, are you on windows?
08:39 sorear when I look at Parrot interfaces, PMC* can be an object, or a container
08:39 sorear it's like I'm looking at machine code and I don't know if a word is an integer or an address
08:40 sorear and... different PMCs implement the same function with different interpretations of the arguments
08:40 Austin Yeah, that's a little irksome..
08:40 moritz Austin: only for $work - my whole dev setup is linux
08:40 Austin Hmm.. I have you in my mind as knowledgeable about Parrot/win.
08:41 Austin Bummer.
08:41 moritz Austin: nope... try jonathan, particle or ... dunno :-)
08:41 Austin Sure
08:42 JimmyZ joined #parrot
08:42 sorear jnthn is definitely a Parrot/win person
08:43 sorear Austin: It's a little irksome for you, who already have Parrot enlightenment
08:43 sorear I have no coherent mental model of what "PMC *" means
08:43 Austin Yeah, but I don't have to deal with very many PMC types, so it's only a little irksome.
08:43 sorear and I've spent two days completely stalled on Blizkost because of this
08:43 Austin PMC* means "object handle"
08:44 sorear which basically boil down to "to what extent should the return value of get_pmc_keyed be lvalueish?"
08:45 Austin What are you calling get pmc keyed on?
08:45 sorear Perl5 HASH references
08:45 Austin So the key is a string?
08:45 Austin (Or does p5 do object hashing now?)
08:45 sorear AAAAA
08:45 sorear don't.  go.  there.
08:46 Austin Sorry. "String PMC"
08:46 sorear p5 does object hashing too, but only for tied hashes, and my brain will explode if you make me think about that
08:46 sorear it's hard enough just contemplating a returned PMC*
08:46 sorear now you want me to think about an argument!!!
08:50 eternaleye joined #parrot
08:56 eternaleye joined #parrot
09:01 clinton joined #parrot
09:16 AndyA joined #parrot
09:21 sorear so, uh, help?
09:21 sorear under what circumstances should get_pmc_keyed return an lvalue?
11:21 lucian joined #parrot
11:26 aukjan joined #parrot
12:05 bluescreen joined #parrot
12:08 bluescreen joined #parrot
12:13 whiteknight joined #parrot
12:15 bacek Good morning, Mr. Whitworth :)
12:24 preflex joined #parrot
12:31 Coke http://brad.livejournal.com/2409049.html
12:31 Coke (how google eats open source developers, and how to help people contribute to your project.)
12:34 preflex joined #parrot
12:41 tetragon joined #parrot
12:44 whiteknight good morning, #parrot
12:56 kthakore whiteknight: morning
12:56 whiteknight good morning kthakore
12:56 kthakore whiteknight: or should I say 'squawk!'
12:58 atrodo joined #parrot
12:58 kthakore I guess not
12:58 whiteknight :)
12:58 kthakore whiteknight: so for the lame ness
12:59 whiteknight lots of GSoC proposals! That makes me happy
12:59 kthakore whiteknight: yup
13:00 kthakore whiteknight: who new perl hackers wanted to do game stuff
13:00 kthakore whiteknight: I see 7 apps related to games
13:00 kthakore :)
13:00 kthakore makes me happy
13:00 atrodo I wish GSoC was around when I was in school
13:02 Andy joined #parrot
13:04 smash joined #parrot
13:04 smash hello everyone
13:04 whiteknight good morning smash
13:04 whiteknight dukeleto: ping
13:05 hudnix joined #parrot
13:09 whiteknight looks like TPF has 17 proposals total so far. By my count, 6 of those target Parrot specifically, and 1 more targetting Rakudo which could have some benefit to Parrot as well
13:09 whiteknight so that's quite a nice haul
13:10 whiteknight as for how many slots we get, and how many of these proposals for Parrot get accepted, that's a different story entirely
13:11 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33064), fulltest) at r45447 - Ubuntu 10.04 beta amd64 (gcc with --optimize)
13:11 moritz in the last two years we got about $slots == .8 * $appplications, but I guess in both cases there was a good deal of luck involved
13:12 moritz in particular I've heard from other organizations that their factors were much smaller
13:13 PerlJam also haven't there been 2 rounds of slot allocation?  The initial allocation and then when there are "extra" slots from other orgs, they redistribute them
13:15 moritz yes, but the second round usually changes not much
13:15 moritz +/- 1 slot usually
13:15 particle we had 16 apps last year, ~15 good enough, and 6 slots
13:16 particle er, 26 apps last year
13:16 particle proposals, applications, whatever. gosh, i'm tired.
13:17 moritz that many?
13:18 moritz wow, my memory must have tricked me
13:20 kthakore particle: yes I es
13:20 kthakore particle: tired
13:20 Mokurai joined #parrot
13:20 kthakore particle: wow how did you choose out of 26 for 6 slots?
13:22 particle the first pass makes sure the proposals meet our criteria, all fields filled out with enough detail, etc
13:22 particle we determine how many mentors we have, and how many projects we can take on
13:23 particle (last year, we had 44 prospective mentors, and enough to handle 6 for any sub-project (bricolage, p5, p6, parrot))
13:23 moritz and then, we vote
13:23 particle then, all prospective mentors vote
13:24 particle ewilhelm created an app that makes sure that mentors vote according to the rules we set up
13:24 particle only a certain amount of votes total per mentor, only +1, 0, -1 votes allowed per application
13:25 particle then there is a subjective look at the proposals:
13:25 moritz I think most mentors are not yet aware of these rules :-)
13:25 particle of those ranked lowest, who are likely to succeed?
13:26 particle this is usually done by the org admins, and subproject experts
13:26 Coke petdance - what is wrong with "fail early" to exit a function?
13:26 Coke er, also Andy.
13:26 ruoso joined #parrot
13:26 particle after that, we submit a request for the amount of slots
13:27 particle and we wait.
13:27 Coke msg andy - r45441 - what's wrong with "fail early" to exit a function?
13:27 purl Message for andy stored.
13:32 atrodo joined #parrot
13:33 * PerlJam wishes the stupid socghop app weren't as stupid.
13:34 PerlJam I want to sort by rank, so let's see ...  1,10,11,12,2,3 ...   yeah, that's perfect.
13:34 PerlJam :(
13:34 mikehh rakudo (6b54693 builds on parrot r45447 - make test PASS, spectest_smolder (pugs r30336 -> #33035) FAIL - Ubuntu 10.04 beta amd64 (gcc with --optimize)
13:34 mikehh rakudo - t/spec/S06-multi/syntax.rakudo - Failed tests:  21-22
13:34 mikehh rakudo - t/spec/S05-mass/properties-general.rakudo - TODO passed:   4-6, 11-13, 544-546, 550
13:34 Coke someone just complained about that. have we filed a bug y et?
13:35 * PerlJam has no idea how to file a bug on that
13:35 * moritz submitted a bug report
13:36 Coke moritz++
13:36 PerlJam moritz++ indeed
13:36 mikehh the rakudo smolder test is #33065
13:39 moritz turns out it was a dupe: http://code.google.com/p/soc/issues/detail?id=847
13:39 moritz it seems fixed, but the fix is not yet deployed
13:46 payload joined #parrot
13:51 GodFather joined #parrot
13:55 atrodo_ joined #parrot
13:58 patspam joined #parrot
14:10 ascent_ joined #parrot
14:12 Coke just had someone in #perl6 ask about TT#827.
14:23 Andy joined #parrot
14:26 * Coke wonders why And<TAB> hits AndyA first.
14:26 Coke Andy: hio.
14:26 Andy hey Coke
14:31 Andy I wanna find more attributes!
14:35 bubaflub joined #parrot
14:36 integral joined #parrot
14:41 theory joined #parrot
14:49 dalek parrot: r45448 | petdance++ | trunk/src/global_setup.c:
14:49 dalek parrot: removed unused variable
14:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45448/
14:49 dalek parrot: r45449 | petdance++ | trunk/config/auto/warnings.pm:
14:49 dalek parrot: Add new flags for cage mode under ICC
14:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45449/
14:56 Andy Just discovered how to turn on the cranky warnings in ICC.  Lots of goodness there.
15:02 lucian joined #parrot
15:05 dalek parrot: r45450 | petdance++ | trunk/src/runcore/main.c:
15:05 dalek parrot: Comment out code only used with computed GOTO
15:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45450/
15:17 payload left #parrot
15:31 cotto_work joined #parrot
15:54 dalek parrot: r45451 | petdance++ | trunk (2 files):
15:54 dalek parrot: marking functions with annotations
15:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45451/
16:00 davidfetter joined #parrot
16:00 Maddingue joined #parrot
16:11 theory joined #parrot
16:21 senf_statt_oel joined #parrot
16:24 payload joined #parrot
16:33 jan joined #parrot
16:44 ash_ joined #parrot
16:45 dalek rakudo: 6b54693 | (Ingy dot Net)++ | src/Perl6/Module/Locator.pm:
16:45 dalek rakudo: Patched rakudo to look for .pm6 modules.
16:45 dalek rakudo: Per the plan devised by Larry and Jonathan.
16:45 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
16:45 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​b54693398c22f657f5d6c924164e1b1144aaeaa
17:11 cotto_work http://www.fourmilab.ch/documents/apostrophe/
17:16 ash_ i like http://theoatmeal.com/comics/apostrophe
17:31 ash_ joined #parrot
17:36 whiteknight joined #parrot
17:40 cotto_work morning whiteknight
17:40 whiteknight hello cotto_work
17:50 joeri joined #parrot
17:57 doubi joined #parrot
18:06 Coke parrotsketch?
18:06 purl rumour has it parrotsketch is a status meeting for parrot core committers held every Tuesday at 20:30 UTC in #parrotsketch
18:13 Coke whiteknight: someone on #perl6 was asking after the option to limit the amount of memory used by parrot.
18:14 Coke (just to bump that up ever so slightly on your priority list.)
18:14 whiteknight Coke: okay, will look at it soonish
18:14 petdance joined #parrot
18:15 Coke danke.
18:18 Coke joined #parrot
18:24 senf_statt_oel left #parrot
18:25 mikehh joined #parrot
18:32 chromatic joined #parrot
18:43 chromatic http://ccl.clozure.com/manual/chapter16.4.html
18:49 PerlJam chromatic: that's the GC algorithm you're going to implement next?  :)
18:50 chromatic I don't see the word volunteer anywhere!
18:50 darbelo A compacting collector? I thought parrot was morally oposed to those?
18:50 PerlJam Actually .... where's a gsoc student when you want one?
19:05 ash_ joined #parrot
19:07 dalek winxed: r442 | julian.notfound++ | trunk/examples/packfile.winxed:
19:07 dalek winxed: print offsets in hexa in pirado disassemblies
19:07 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=442
19:07 chromatic Coke, Andy, I'm curious about r45441 as well.
19:07 Andy ?
19:08 Andy you mean http://trac.parrot.org/parrot/changeset/45451/ ?
19:08 Andy oh, I see
19:09 Andy OK, what are you curious about?
19:10 chromatic Why?
19:10 Andy Why what?
19:11 chromatic Why did you make that change?
19:11 Andy "reducing number of exits out of functions"
19:11 chromatic Pretend I'm not a third grader.  Why is reducing the number of exits out of functions useful?
19:11 Coke I think the readability of "fail early" trumps that.
19:12 Andy If what you're really saying is "I don't think that was useful", then just say that.
19:12 chromatic I can't tell why it's useful, that's why I'm asking why you did it.
19:12 Coke there's a difference between "I don't think that's useful" and "why do you think that's useful".
19:13 Andy Because I think having fewer, ideally one, exits from a function is generally safer.
19:13 Andy Is this a bizarre, unheard of concept?
19:13 Andy Have you never heard of that before?
19:13 Coke safer how?
19:13 chromatic Like I said, pretend I know a little bit about C and have some programming experience.
19:13 Coke (I'm not trying to be a jerk.)
19:13 Andy It sounds like you're fucking wth me to make a point.
19:13 Coke me? no.
19:13 chromatic I'm asking you a sincere, honest question.
19:14 Coke sounds like you're overly defensive.
19:14 Andy OK, I apologize then.
19:14 Andy Because usually "Please explain to me why you did this" is the prelude to "I'm now going to tell you why you're full of shit."
19:14 dalek parrot: r45452 | mikehh++ | trunk/src/runcore/main.c:
19:14 dalek parrot: fix codetest failure - Correctly indented preprocessor directives
19:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45452/
19:15 chromatic I hope that's not the case on #parrot at least.
19:15 Andy Fair enough.
19:15 moritz so how would you ask why somebody did something as an honest question?
19:15 PerlJam Never on #parrot that I've ever seen
19:15 PerlJam moritz: less tersely  :)
19:16 Andy In general, I try to keep a single exit point from a function, almost as reflex.
19:16 Andy http://www.c2.com/cgi/wiki?SingleFunctionExitPoint
19:16 Austin The 45451 that I see is "marking functions with annotations" ...?
19:17 Andy Austin: no, wrong one.
19:17 Andy I poisted the wrong link
19:17 Austin Oh
19:17 Andy Plus, in this case, what we're really saying is "If we have to change it, here's what you do."
19:17 Andy I see "return pmc" x2 as DRY.
19:18 Andy Austin: http://trac.parrot.org/parrot/changeset/45441/
19:18 chromatic I don't know; if guard clauses violate DRY, that seems very, very DRY.
19:19 Andy Well, you say "guard" and I don't think that's right.
19:19 Andy Should it actually be an error if we ask for a change in type if it's already that type?
19:19 Coke I can definitely see the appeal if you're duplicating more than a return statement.
19:19 Andy Sould that if actually be an assert()?
19:20 chromatic In a dynamic language, I think that'd be harder to work around the assert (and that, only if you're using a debug build) than making this an early return no op.
19:21 chromatic You'd effectively move the "are these the same types?" checks to every place which calls this function, rather than within the function.
19:21 Andy Again, not sure of the intent.
19:21 Andy We're not really guarding against anything.
19:23 Austin Anyone know how to access a *program* environment from within a *dll* in windows?
19:23 Coke http://www.c2.com/cgi/wiki?GuardClause seems to indicate that these are also used as 'checks for trivial cases'.
19:23 Andy I'm really not up for a debate.
19:24 Andy I explained.
19:24 Coke Andy: harsh.
19:24 Andy Why?
19:24 Andy I'm not interested in debating.  I'm just not.
19:24 Andy If you think it should be changed back, then let's deal with that.
19:25 Coke I think it's more readable the other way, yes.
19:25 Andy I'm not pissed that you want to debate.  I just don't want to take part in it. :-)
19:25 chromatic I don't particularly care about this one.  I think it's easier to read the other way too, but it's not sufficiently more readable that I want to debate it either.
19:25 * PerlJam would have written it the other way too
19:25 Andy I have nothing invested in it.
19:25 chromatic I'd rather find out if you're likely to refactor other functions this way, and if so I think it's a matter of coding style to discuss.
19:26 smash joined #parrot
19:26 Andy Depends on the amount of DRY involved.
19:26 smash hello everyone
19:26 cotto_work hi smash
19:27 chromatic Well if "return pmc" is sufficient to trigger your DRY reflexes, there are a lot of potential candidates.
19:27 tewk I prefer the early exit.
19:28 Andy If I promise not to do it again, can we stop talking about it?
19:28 chromatic For everyone preferring the early exit, is this because you see it as a guard clause?
19:28 Andy "return pmc" is inadequate for DRY.  Got it.
19:28 Andy I defer.
19:29 mikehh BTW I am getting hundreds of warnings of the form:
19:29 mikehh src/nci/extra_thunks.c:78: warning: ignoring return value of ‘PMC* Parrot_pcc_build_call_from​_c_args(parrot_interp_t*, PMC*, const char*, ...)’, declared with attribute warn_unused_result
19:30 Andy any other functions besides that?
19:30 mikehh which I did not get in my last build at r45447
19:30 Andy i'm working on it mikehh
19:30 tewk dynamic type checks at the beginning of a function are really contract checks, returning early is the C equivalent of throwing an exception because the contract was violated.
19:30 Andy there's no disagreement, tewk
19:32 Andy mikehh: You getting problems with anything beside Parrot_pcc_build_call_from_c_args ?
19:32 tewk single return in such cases makes me think the contract is part of the semantics of the function, not just a pre condition, thats why I like early exit.
19:32 tewk Andy++ for cleanup and C safety
19:33 mikehh Andy: Yes mostly nci related
19:33 Andy ok, what other functions?
19:33 Andy what are you buildling that causes these warnings?
19:33 mikehh make corevm/make world
19:34 Andy specific target in make world I can focus on?
19:34 mikehh fulltest PASSes though - it's just warnings
19:34 mikehh let me go through the log
19:36 Andy I'm wondering what you built that threw all those warnings, such that I'm not building it and therefore seeing them as well
19:38 PerlJam mikehh: did you do a "make realclean" prior to your build?
19:38 cotto_work src/extra_nci_thunks.c generates many warnings
19:39 Andy when did you last update, cotto_work >
19:39 chromatic On a quick skim, it almost looks like removing that function call from several NCI thunks would work just fine.
19:39 cotto_work just now
19:39 purl Now!?  I'm not even close to ready!
19:39 cotto_work core_thunks too
19:40 Andy mikehh: svn up and those warnings should disappear
19:40 Andy cotto_work: Do a make realclean
19:40 cotto_work that's after reconfig, which does realclean
19:41 Andy and you get a bunch of warnings in nci_thunks?  What warning specif?
19:42 chromatic Okay, wait.
19:42 Andy for?
19:42 purl for fun.
19:42 chromatic Parrot_pcc_build_call_from_c_args() shouldn't be ignorable.
19:42 Andy it's ignored all the time.
19:43 cotto_work nm.  seems to be happy now
19:43 chromatic It's dead code in those cases.
19:43 Andy ok
19:43 cotto_work not necessarily correct, but happy
19:43 Andy so it's building a call that we're just throwing away?
19:43 chromatic I'm 95% certain of that.
19:43 Andy and the real problem is that we're calling Parrot_pcc_build_call_from_c_args for now reason?
19:43 chromatic Yes.
19:43 Andy well awesome.
19:44 chromatic Yeah, the warning found dead code.  That's very good.
19:44 cotto_work warnings++
19:44 darbelo (dead code)--
19:44 Andy ok, so I'll go reverse the warning AGAIN
19:45 chromatic Thanks.
19:45 Andy glad to get shit done. :-)
19:46 chromatic You could always argue about something or other on p5p.  That looks like a peculiar type of fun.
19:46 Andy I'd rather not.
19:46 Andy If you haven't noticed, I'm not one for arguing for enjoyment.
19:46 chromatic I've known you too long to believe that.
19:47 dalek parrot: r45453 | petdance++ | trunk (2 files):
19:47 dalek parrot: Parrot_pcc_build_call_from_c_args is actually ignorable
19:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45453/
19:47 Andy Believe it.
19:47 Andy I don't argue for fun.
19:47 Andy I'm the anti-arguer.
19:47 Andy Which is why I didn't want to get into the early return debate.
19:48 Coke oh, I had meant to complain - why do we have "#if 0" in parrot? can't we just rip all that out?
19:48 Andy Coke: I've been pulling it out where I see it.
19:48 Coke I guess complain is the wrong word.
19:48 Andy No, i don't think so.  #if 0 sucks. :-)
19:49 Andy We have version control to take care fothat.
19:49 chromatic Yes, please delete it.
19:49 Coke whee. danke.
19:49 Andy Related, I am giving a talk in Columbia, SC in a week on what kids don't know coming out of college
19:49 Andy kids = programming
19:50 darbelo We also have #if DEFINE_THAT_DOES_NOT_EXIT_ANYMORE in a few places.
19:50 Andy darbelo: seems an easy fix
19:50 cotto_work Yeah.  Change it to 0.
19:50 mikehh Andy: that seems to have cleared up most of the warnings
19:50 cotto_work ;)
19:50 darbelo I've ripped out the ones I've seen.
19:50 Andy mikehh: They're coming back next commit. :-)
19:50 doubi 'evening all. I'm working on a GSoC application (for porting ctypes to perl) and it was suggested that I ask in here if anyone knows much about C/Invoke as compared to other FFI libraries?
19:51 darbelo But the could be more.
19:51 PerlJam Andy: will the talk be recorded or transcribed in some way?
19:51 Andy PerlJam: Dunno
19:51 Andy I'll have the slides up on slideshare
19:52 PerlJam Andy: I've some some student workers who are going to graduate soon who could use another voice other than mine telling them all the things they don't know  :)
19:52 PerlJam s/some/got/
19:52 Andy I'm oing to put up my mindmap for it
19:52 Andy and I welcome input.
19:53 Andy #1 on the list: Build systems.
19:53 chromatic msg sorear If you find the Parrot development ethos "appalling", this is the place to discuss it.
19:53 purl Message for sorear stored.
19:53 Andy #2: version control
19:53 purl i think version control is like backups.  You advise your customers to do it.
19:53 Andy chromatic: What was that in response to?
19:53 chromatic Non bug reports not filed here.
19:53 Andy so, bitching?
19:54 chromatic I'm not going to categorize it as anything other than "I can't fix bugs no one reports."
19:56 Andy http://petdance.com/random/mindmap.png
19:58 Andy Rough order of presentation is down the left side, then down the right side
19:58 Andy and I have to say, I rather like freemind.
19:58 Austin Heh
19:58 Andy freemind is mind-mapping software at http://freemind.sourceforge.net/
19:58 Austin I'm laughing at the part in the middle...
19:59 Austin "Day 1"
19:59 Andy which?
19:59 purl which is bad because it means that a role can generate different methods for different classes
19:59 Andy I don't get the funny.
19:59 Austin How long is this talk supposed to be?
19:59 mikehh oh forgot to report
19:59 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33071), fulltest) at r45452 - Ubuntu 10.04 beta amd64 (g++ with --optimize)
19:59 Andy Austin: an hour
20:00 PerlJam Andy: Neat.  I've been trying to get a "software craftsmanship" course offered locally that would cover everything on the left but Business.  Unfortunately the local profs seem to think there's adequate coverage of these topics (while I have 5 very-bright students near the top of their class who had no clue about most of these things)
20:00 Andy I origiinally framed it around telling students what they're missing, but the real target is the educators.
20:01 Andy http://posscon.org/april-16th-day/
20:01 Andy 11:30am
20:01 PerlJam Andy: 2 of the students recently went on job interviews and told me that the things they've learned here figured prominently in the interview.
20:01 Andy Where is "here"?
20:01 purl hmmm... "here" is where?   There are -4 stores EVERYWHERE in Taiwan
20:02 PerlJam Andy: Corpus Christi TX, Texas A&M University Corpus christi
20:02 chromatic I wish schools had a software craftsmanship class.
20:02 dukeleto Andy: the book "Apprenticeship Patterns" from O'reilly would probably interest you.
20:02 PerlJam Andy: (I work at a research institute on the campus)
20:02 Andy dukeleto: Written by fellow Chicagoan Dave Hoover, as I recall.
20:03 Andy Yeha, he took our standing Perl Mongers meetings and started a Polyglot Programmers group
20:03 theory joined #parrot
20:04 Andy I dont' even care about it from a craftsman point of view.
20:04 Andy I would just love it if, for example, they gave out assignments like "You ahve to do project X.  Your one deliverable to me at dd/mm hh:mm is a URL to your repo that I can check out and build with setup.sh"
20:05 Andy Or
20:05 Andy "Here is a steaming shitpile of code.  Add feature X to it."
20:05 PerlJam heh.
20:05 Andy Because THAT is what the student will be doing on dayone.
20:05 chromatic Al Aho's compilers class does something like that.  I was jealous.
20:05 PerlJam yep
20:05 Andy Not starting on green field development.
20:05 Andy "Yeah, uh, we're between projects, so, uh.... go look at ticket #2112 and fix it."
20:05 dalek parrot: r45454 | petdance++ | trunk (2 files):
20:05 dalek parrot: In fact, Parrot_pcc_build_call_from_c_args should NOT be ignored. If it is called without saving the return value, then it is dead code. The warning is a flag that we need to change that dead code.
20:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45454/
20:06 Austin That's probably the way to sell it to professors.
20:06 Andy chromatic: Are you getting the many errors at src/extra_nci_thunks.c ?
20:06 PerlJam A good class would be how to turn "steaming shitpile" into "nice, clean, refactored" code.
20:06 Andy s/error/warning/
20:06 chromatic I'm building and checking now, Andy.
20:06 Andy That's why I'm giving this talk. :-)
20:07 Austin They've already got a pile of code that they've been working on for a while - and because they're academics, it's crappy code almost by definition.
20:07 chromatic Andy, I am.
20:07 Andy chromatic: Good!
20:07 Austin So the assignment would be "deliver to me a patch for an open ticket, or an update to the ticket that explains why it can't be patched, for my steaming pile of phd research"
20:08 Austin They'd love you.
20:08 Andy I'm just here to be the voice of the working world.
20:08 Austin How'd you get involved with that?
20:09 Andy One of the organizers saw me at OSCON last year, asked me to talk
20:09 Andy 'cause Saturday is a 2-hour resume + interviewing talk http://posscon.org/april-17th-day/
20:09 dalek rakudo: 8681735 | smashz++ |  (2 files):
20:09 dalek rakudo: Implement getc funcion in IO, add getc.t to spectest.data
20:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​6817357bcfbdab19475c675247f58af28a558e7
20:11 Austin Were you talking about the same stuff at oscon?
20:15 Andy just job hunting
20:27 bluescreen joined #parrot
20:29 Andy I'm interested in what is being done with the headerizer.
20:29 Andy Wondering who was working on splitting it out.
20:29 Andy Even if he/she caused me pain in the process. :-)
20:29 Coke I'd check with blame, but that sounds like the sort of cleanup kid51 does.
20:30 Coke your pain sounds familiar enough I nearly looked for a ticket to see if I already complained about it.
20:30 Andy it was just incomplete refactoring.
20:31 Coke In fact I did.
20:31 Coke http://trac.parrot.org/parrot/ticket/532
20:31 Andy Donde?
20:31 purl Donde is where, not why
20:31 Andy ALSO
20:31 Andy can you look at RTs # 39085 and #39917 and either reject them or migrate
20:31 Andy I have had that as a todo in my task list FOREVER
20:31 Andy it's from you
20:32 Coke parrot doesn't have any rts any more.
20:32 Andy That's what I figured.
20:32 Coke those are now: https://trac.parrot.org/parrot/ticket/1291
20:33 Coke ... and an RT error.
20:33 Andy oh, good, so I already didit!
20:33 Andy yay me!
20:34 Andy I think my next big thing will be consting the ops.
20:38 darbelo Consting the PMCs might be worthwhile too.
20:39 dalek parrot: r45455 | chromatic++ | trunk/lib/Parrot/Pmc2c/PCCMETHOD.pm:
20:39 dalek parrot: [lib] Removed a warning message about ignoring the return value of
20:39 dalek parrot: Parrot_pcc_build_call_from_c_args() from METHODs in PMCs.
20:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45455/
20:39 dalek parrot: r45456 | chromatic++ | trunk/tools/dev/nci_thunk_gen.pir:
20:39 dalek parrot: [NCI] Removed a warning about ignoring the return
20:39 dalek parrot: value of Parrot_pcc_build_call_from_c_args() from NCI thunks.
20:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45456/
20:39 dalek parrot: r45457 | chromatic++ | trunk/src/nci/core_thunks.c:
20:39 dalek parrot: [NCI] Removed a warning about ignoring the return
20:39 dalek parrot: value of Parrot_pcc_build_call_from_c_args() from NCI thunks.
20:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45457/
20:39 dalek parrot: r45458 | chromatic++ | trunk/tools/dev/nci_thunk_gen.pir:
20:39 dalek parrot: [NCI] Removed a warning about ignoring the return
20:39 dalek parrot: value of Parrot_pcc_build_call_from_c_args() from NCI thunks.  This one works.
20:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45458/
20:39 dalek parrot: r45459 | chromatic++ | trunk/src/nci/core_thunks.c:
20:39 dalek parrot: [NCI] Regenerated core NCI thunks to avoid warnings.
20:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45459/
20:40 chromatic Summary: it's not dead code, but it's a confusing API.
20:40 Andy darbelo: I would like to if we could consistently, but unless we change the typedefs of the function pointers, it's worthless.
20:42 Andy It doesn't matter if the function is a const, because the caller has to know it's feeding stuff into const.
20:44 Andy There's a LOT I would like to const, but all these dispatch tables make that pretty undoable.
20:44 ttbot Parrot trunk/ r45459 MSWin32-x86-multi-thread make error http://tt.taptinder.org/file/cmdout/255713.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
20:47 Coke oooh, someone broke the build!
20:48 darbelo B-b-b-buildbreaker!
20:49 Coke chromatic, looks like either 45457 or 45458.
20:49 Coke inder-tt1/client-data/Parrot-trunk​-temp/src/nci/core_thunks.c:1274: undefined reference to `_imp__Parrot_str_new_constant'
20:50 cotto_work So if the return value of Parrot_pcc_build_call_from_c_args in those nci thunks was ignored, why wasn't stuff exploding?
20:50 Andy couldn't be me, I've never broken a build in my life.
20:50 Andy <cough>
20:50 Coke Andy: ^_O
20:50 Andy cotto_work: Because they were called unnecessarily, I assume.
20:50 Andy It was just extra work getting done.
21:02 chromatic No, they're necessary.  The API doesn't make it obvious.
21:02 chromatic Those calls *set* return values in an existing CallContext.
21:03 darbelo Misleading, evil, functions.
21:04 chromatic Yeah, we should probably break them into two separate functions.
21:04 chromatic allison might not like that though; she really wanted to unify the paths.
21:07 darbelo The returning is just another call thing?
21:08 chromatic Yeah, that's the nice thing about CPS.
21:08 chromatic The problem is, the C API doesn't make that obvious.
21:08 chromatic If you ignore the CallContext created when you're making a call, that's a problem.
21:08 darbelo So, C needs continuations ;)
21:08 Andy If they're setting return values as a side effect, then why is it not ok to ignore the reutrn values?
21:09 chromatic If you ignore the CallContext returned when you're invoking a return continuation with the CallContext you're passing in (which is the same one which you get returned), it's not a problem.
21:09 Andy what is nci anyway?
21:09 purl nci is Native Call Interface or the National Cancer Institute, a part of the NIH or national cancer institute
21:09 darbelo Andy: Sometimes it's ok, sometimes it's not!
21:09 chromatic NCI lets you call functions in shared libraries from Parrot.
21:09 Andy src/nci/*.c are not getting headerized.
21:10 Andy Soon they will be.
21:11 chromatic A Parrot_pcc_build_return_from_c_args() which returns nothing would clear all of this up.
21:12 dalek parrot: r45460 | chromatic++ | trunk/src/nci/core_thunks.c:
21:12 dalek parrot: [NCI] Removed a spurious, build-breaking #define
21:12 dalek parrot: introduced in r45457.
21:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45460/
21:12 Whiteknight joined #parrot
21:13 darbelo Hi, Whiteknight.
21:13 Whiteknight hello darbelo
21:28 cotto_work Wow.  fperrad sure seems to like writing pir.
21:28 dalek parrot: r45461 | fperrad++ | trunk (7 files):
21:28 dalek parrot: [library] add a TAP parser
21:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45461/
21:29 darbelo Fortunately, he also seems to be quite good at it.
21:30 cotto_work Sure.  I'm just curious why he didn't use nqp to write a parser.
21:30 cotto_work That's one of nqp's strong points.
21:31 PerlJam he really likes PIR :)
21:32 darbelo I think dukeleto had tried to write a TAP parser in nqp and found it horrybly slow.
21:32 darbelo (The parser, not NQP)
21:34 cotto_work That's surprising.  I thought it was a very simple language.
21:35 Andy Does pir support includes?
21:35 cotto_work yes
21:35 cotto_work .include "foo.pir"
21:35 Andy I'm trying to figure where Parrot_nci_load_core_thunks is getting created
21:36 darbelo But they're dumb text-replacement ones.
21:42 cotto_work tools/dev/mk_nci_thunks.pl
21:42 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33072), fulltest) at r45460 - Ubuntu 10.04 beta amd64 (gcc with --optimize)
21:44 dalek parrot: r45462 | petdance++ | trunk (2 files):
21:44 dalek parrot: headerizing src/nci/api.c. There are two other functions in include/parrot/nci.h that have redundant declarations
21:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45462/
22:01 dalek parrot: r45463 | petdance++ | trunk/tools/dev/nci_thunk_gen.pir:
22:01 dalek parrot: consting
22:01 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45463/
22:13 snarkyboojum joined #parrot
22:17 plobsing joined #parrot
22:18 plobsing hi #parrot
22:18 Coke why are we adding a tap parser to parrot?
22:19 * Andy is looking at cppcheck http://sourceforge.net/apps/mediawik​i/cppcheck/index.php?title=Main_Page
22:20 Andy In Perl, every program will expand until it is able to parse TAP.
22:21 Coke I thought the plan was to reduce our runtime/library and push that into plumage.
22:22 Andy I don't know, I'm just making funnies.
22:22 Andy plumage?
22:22 purl plumage is the future Parrot module ecosystem.  It will include tools to search metadata, handle dependencies, install modules, and so forth. The repository is at http://gitorious.org/parrot-plumage/parrot-plumage and the design docs are at https://trac.parrot.org/pa​rrot/wiki/ModuleEcosystem
22:22 Coke also, I wonder how this is supposed to relate to tapir.
22:23 arnsholt joined #parrot
22:26 darbelo Coke: Ask fperrad. My guess is that it's for distutils.
22:27 Coke I guess I'd like to see some discussion on list or in a ticket before changing the library.
22:28 Coke (or after.)
22:30 darbelo You are just in time for after ;)
22:34 dalek parrot: r45464 | petdance++ | trunk/tools/dev/nci_thunk_gen.pir:
22:34 dalek parrot: Removed declarations in source file that are redundant to the header file
22:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45464/
22:34 dalek parrot: r45465 | petdance++ | trunk/include/parrot/nci.h:
22:35 dalek parrot: move non-headerized functions up top so we can see they are not headerized
22:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45465/
22:38 cotto_work Coke: you can ping fperrad
22:44 snarkyboojum left #parrot
23:07 dalek parrot: r45466 | petdance++ | trunk/src/pmc/lexinfo.pmc:
23:07 dalek parrot: Removed unused attrs var. Consted some lexicals.
23:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45466/
23:09 darbelo The keys in config_lib.pasm definitely need some review.
23:10 darbelo "HAS_OPENGL" vs "has_opengl"
23:11 darbelo include/parrot/compiler.h
23:12 darbelo Eh, the last line was a mis-paste.
23:13 japhb darbelo: the opengl detection sets several redundant flags mostly because (at the time, at least) *other* detection steps did the same.  It was cargo-culted, because I had no idea why other steps did that.
23:13 chromatic The more we cut from that file, the faster Parrot will start.
23:14 japhb I have no objection to man walking on the moon.
23:14 darbelo japhb: Oh, I'm not singling you out at all, there's plenty of cruft in there to go around ;)
23:14 japhb :-)
23:15 darbelo There's also what apears to be a lot of redundant definitions of integer types.
23:16 theory joined #parrot
23:16 darbelo And I'm pretty sure all of the _provisional keys aren't supposed to be there at all.
23:20 Whiteknight are there any .NET coders around here?
23:21 arnsholt I know a bit about .Net
23:21 darbelo I am within five meter of one ;)
23:23 nopaste "whiteknight" at 68.46.29.192 pasted "Parrot running in C#" (36 lines) at http://nopaste.snit.ch/20218
23:23 Whiteknight take a look at that nopaste. It works in mono on my machine
23:24 dalek parrot: r45467 | petdance++ | trunk/src/pmc_freeze.c:
23:24 dalek parrot: consting
23:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45467/
23:24 dalek parrot: r45468 | petdance++ | trunk/src/pmc/unmanagedstruct.pmc:
23:24 dalek parrot: removed unused return value from calc_offsets. Consted locals.
23:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45468/
23:24 darbelo Whiteknight++
23:24 Whiteknight It's not exactly pretty, but could be cleaned up a little bit
23:26 darbelo A C# wrapper of our embed/extend API could be nice to have.
23:26 kid51 joined #parrot
23:26 Whiteknight darbelo: I was thinking that exact thing
23:27 japhb Whiteknight++ indeed
23:31 * darbelo wonders about runtimes within runtimes.
23:32 japhb If m.c. escher was a modern computer scientist ....
23:33 cotto_work cool project a co-worker is working on to make OSS suck less on Windows: http://arst.ch/iaa
23:35 darbelo Package management for windows? I'm already scared.
23:40 dalek parrot: r45469 | plobsing++ | trunk/src/nci/api.c:
23:40 dalek parrot: build_call_func will actually never return null
23:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45469/
23:46 tetragon joined #parrot
23:46 ruoso joined #parrot
23:47 darbelo Though, from reading the comments, the guy doing it seems to have put some serious thought into doing it right...
23:49 * darbelo chuckels at "Being an open source developer at Microsoft is kindof like being a preacher in Vegas"
23:52 kid51 cotto_work:  Are those developers in contact with the Strawberry Perl folks?

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

Parrot | source cross referenced