Camelia, the Perl 6 bug

IRC log for #parrot, 2010-04-12

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 hercynium joined #parrot
00:01 whiteknight on more than one occasion I've had a question, googled for it, and found th answer on a page I wrote
00:07 brooksbp_ joined #parrot
00:15 Andy joined #parrot
00:22 snarkyboojum joined #parrot
00:31 dalek rakudo: 8b256a9 | (Solomon Foster)++ | src/core/operators.pm:
00:31 dalek rakudo: Fix series operator bug in the initial elements of a series.
00:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​b256a97a46de2772f743d377fd9491839296fc2
00:39 Coke (votes on proposals) I haven't received any instructions on voting this year as we have in the past, so I haven't voted at all.
00:40 dukeleto Coke: yeah, i haven't really given instructions on voting, i guess
00:41 dukeleto whiteknight: what do you mean by HLL map FileHandle?
00:42 whiteknight dukeleto: make your own filehandle type, HLL map it so IO ops use your type instead of FileHandle, and use it to throw exceptions on all operatoins you want to restrict
00:45 dukeleto whiteknight: interesting. how do I "HLL map" something? I need this in PIR
00:55 abqar joined #parrot
00:56 Coke dukeleto: http://github.com/partcl/partcl/blo​b/master/src/class/tcllist.pir#L19
00:58 dukeleto Coke: that looks interesting, but I don't think that helps me block people from accessing the FileHandle PMC from PIR
00:59 dukeleto Coke: end users will be writing stored procedures in PIR and I need to disallow certain ops
00:59 dukeleto Coke: the method you are showing me would work for HLL's running on top of PL/Parrot, though
01:00 Austin Dukeleto: Why not just register a different class on that name?
01:02 Coke dukeleto: it was in answer to "how do I HLL map something."
01:14 nopaste "Austin" at 68.37.47.32 pasted "For DukeLeto++: Replace FileHandle with something less accomodating" (15 lines) at http://nopaste.snit.ch/20248
01:18 whiteknight dukeleto: I'm just trying to find an elegant solution to the problem, especially without adding a huge runtime cost for every op to check that it's permissable before it's executed, every time it's executed
01:19 whiteknight so we don't want to add checks to the runloop or even to the ops themselves to see if they are permissable, because that adds a huge cost to the common case
01:19 dukeleto Austin: that is an idea
01:19 whiteknight We could overwrite entries in the optable and replace them with exception-throwing stubs, but that adds huge complexity
01:19 dukeleto whiteknight: i am fine with removing/replacing ops once at PIR-compile-time
01:19 Austin As far as I can tell, if you get there first, you're done. Nobody can create a FileHandle, since the connection from string to class is made through that hash. They'd have to do it in C.
01:20 whiteknight well, that's an idea too. Add logic to IMCC to not emit certain ops
01:20 whiteknight if Ops are basically wrappers around PMCs, we can replace offending PMC types with harmless replacements
01:23 dukeleto yeah, removing ops from the actual parrot binary is probably safest
01:23 dukeleto Austin: so, I am assuming that I can do what you did there in PIR and basically override the FileHandle PMC ?
01:24 Austin Sure. NQP <= PIR.
01:24 Austin Just change the numbers in the interpreter's class hash ( [0] ) to indicate a different pmc type.
01:24 Austin Including a custom pmc-type that is a class in whatever language you want, like NQP, as shown.
01:25 Austin The funnest part would probably be to replace FileHandle with StringHandle.
01:25 Austin Or maybe permit reading but not writing..
01:25 Austin Whatever your evil little heart desires... :)
01:26 dukeleto Austin: :) . Basically I want to disable all filesystem access, but yes, much more fun/evil stuff is possible
01:27 Austin Well, there's the possibility that other PMCs might permit filesystem access.
01:27 dukeleto Austin: I will hunt them
01:27 Austin There's also the possibility that you might need to re-enable filesystem access for loading bytecodes and such.
01:27 Austin (for example, dlopen(NULL) can access parrot internal C functions)
01:27 whiteknight left #parrot
01:28 dukeleto Austin: hadn't thought of that. makes life a lot more fun
01:28 Austin Yeah, this thing isn't really designed for secure.
01:31 leprevost joined #parrot
01:35 dukeleto Austin: the sooner Parrot starts thinking about security, the easier it will be
01:35 dukeleto Austin: i wonder how PL/Perl deals with the issue of stored procedures loading libraries
01:36 Austin Probably a different approach to security.
01:36 Austin If you've got access to developing and running stored procedures, you're probably already too far in for us to worry about securing ...
01:52 nopaste "plobsing" at 69.172.106.100 pasted "stringnull spooky action at a distance" (19 lines) at http://nopaste.snit.ch/20249
01:54 snarkyboojum joined #parrot
02:03 dukeleto Austin: i hear what you are saying, but being able to sandbox resources is a big win for sysadmins and DBAs
02:13 tcurtis dukeleto: also for the subset of hosting companies that allow databases and executing code on the server but don't want to allow actual direct access to the server.
02:19 kid51 joined #parrot
02:23 kid51 msg moritz Can you try un-kicking purl?
02:23 eternaleye joined #parrot
02:24 kid51 Oops, no purl -> no message storing.
02:26 petdance joined #parrot
02:30 petdance who is peter lobsinger and does he IRC?
02:33 plobsing me and yes
02:37 petdance hey
02:38 petdance I liek what you're doing
02:38 petdance I'm hacking interpreter.h to make STRING_IS_NULL like PMC_IS_NULL
02:38 petdance and I think we will all be happy
02:39 plobsing the dual life thing is a good idea.
02:39 plobsing if you're looking to do that, you'll also want to disable src/string/api.c:323 in the same pass
02:41 plobsing s/disable/conditionally disable/
02:41 petdance yeah
02:42 petdance why do we have both str_is_null and string_is_null?
02:42 janus joined #parrot
02:43 plobsing no idea
02:43 plobsing I've been using the macro
02:43 petdance ok, working on it
02:43 petdance running a compile
02:43 petdance will commit when all is well
02:43 petdance i'm on the branch, natch.
03:02 petdance tests pass, committed
03:02 plobsing sweet.
03:02 plobsing how do I enable STRINGNULL = NULL ?
03:05 petdance turn off PARROT_CATCH_NULL
03:05 petdance oh whoops
03:05 Austin Dukeleto: I don't think you heard what I was saying. :) It was an answer to your question about how plperl does it - I was hypothesizing that they didn't worry too much about it.
03:06 dalek parrot: r45576 | petdance++ | branches/stringnull (2 files):
03:06 dalek parrot: Make the STRING_IS_NULL stuff behave like PMC_IS_NULL
03:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45576/
03:08 plobsing hmmmm... dissabling PARROT_CATCH_NULL causes some major build failures
03:08 petdance I wonder if it's actually gonna be faster to NOT be checking against STRINGNULL
03:08 petdance plobsing: Yeah, I see those, gonna work on 'em when I get home.
03:10 plobsing petdance: checking against stringnull is a possible cache miss, so conceivably not checking might be faster
03:10 petdance But also don't most processors opitmize comparisons to zero?
03:10 plobsing that too
03:11 plobsing hmmm... easy fix: define STRINGNULL same as PMCNULL for when CATCH_NULL is off.
03:12 plobsing miniparrot now builds. not so easy problem: things depend on libparrot exporting PMCNULL and STRINGNULL
03:17 plobsing problem with Null.set_pointer - you can set PMCNULL to an arbitrary value
03:22 dalek parrot: r45577 | petdance++ | branches/stringnull/include/parrot/interpreter.h:
03:22 dalek parrot: final tweaks of some macros
03:22 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45577/
03:22 dalek parrot: r45578 | plobsing++ | branches/stringnull/include/parrot/interpreter.h:
03:22 dalek parrot: define STRINGNULL when CATCH_NULL is disabled
03:22 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45578/
03:22 petdance back in 15
03:38 dalek parrot: r45579 | plobsing++ | branches/stringnull/src/interp/inter_create.c:
03:38 dalek parrot: only set PMCNULL to NULL if it is a real symbol
03:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45579/
03:39 petdance joined #parrot
03:41 petdance back
03:41 plobsing petdance: I've got most of the build issues fixed. But I'm having a tough time on Null.pmc
03:41 petdance_ joined #parrot
03:41 plobsing petdance_: I've got most of the build issues fixed. But I'm having a tough time on Null.pmc
03:42 petdance_ how are you building?
03:42 plobsing the problem is the singleton interface creates a new pmc header when get_pointer returns null - which it will do every time
03:43 plobsing with PARROT_CATCH_NULL = 0
03:46 sorear dagbrown, mendel, warewolf and kd  <-  I managed to extract a contact list from purl
03:46 plobsing then again, it doesn't really make sense to have a Null class when CATCH_NULL is false
03:49 petdance_ so does it fail the build or what?
03:49 petdance_ I'm doing a build right now
03:49 plobsing it does fail. Null.pmc attempts to assign to PMCNULL which isn't an lvalue
03:50 plobsing I'm just pondering whether having Null.pmc around makes any sense considering it is merely the backing class for PMCNULL when it isn't NULL
03:50 * plobsing segfaults his brain
03:53 petdance_ for now I think we can just #ifdef it out
03:53 petdance_ yes?
03:54 plobsing fair enough.
03:54 petdance_ doing that now
03:55 plobsing I'm just beginning to wonder if maybe HLLs need pmcnull to be a real object. Ruby, for example, has methods on nil.
03:55 cotto dukeleto, piiiiiiiiiiiiiiiiiiiiing
03:59 petdance_ bah, a segfault
04:00 sorear petdance_: null != undef
04:00 sorear plobsing: rather
04:00 sorear maybe NULL should be removed.  does any HLL actually use NULL?
04:01 sorear most HLLs 'nil' maps to Parrot Undef
04:01 petdance_ our prob is that the str_init stuff isn't getting called, I think.
04:03 plobsing petdance_: my backtrace seems to show this is realated to ARGMOD() not allowing NULL
04:03 petdance_ where?
04:03 plobsing gdb --args ./miniparrot config_lib.pasm
04:04 plobsing which is where the build failed
04:04 petdance_ but why do you think the ARGMOD is bad, and which ARGMOD?
04:04 plobsing it fails with the message 'src/io/unix.c:310: failed assertion 'filehandle'
04:05 petdance_ why would it be OK to pass NULL into that?
04:05 petdance_ oh wait, it's done wrong
04:06 plobsing yeah. I think that may be happening a lot with argument guards.
04:06 petdance_ ok hold on
04:06 petdance_ shoot, I oughta fix it on trunk
04:06 petdance_ well, wait
04:06 petdance_ you really want to wait a week to merge to trunk?
04:06 plobsing nope, not really. I think this issue is independant.
04:06 plobsing and deserves its own branch.
04:07 cotto msg dukeleto Could you take a look at my public comment in the Perl 6/DLR proposal and post whether you think it'd be fine?
04:07 cotto d'oh
04:07 petdance_ plobsing: I deal with it all the time, no need for a branch.
04:07 sorear When is the general public going to see the accepted project list?
04:09 chromatic joined #parrot
04:09 plobsing petdance_: so I'll merge this into trunk, after which it this issue can be resolved. is that ok?
04:09 petdance_ yeah
04:09 petdance_ when you merging?
04:09 petdance_ Now?
04:11 dalek parrot: r45580 | petdance++ | trunk/config/gen/makefiles/root.in:
04:11 dalek parrot: fix the way SPLINTFLAGS is built
04:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45580/
04:11 plobsing I'd like to give a chance for ppl to check their email and tell me that my ideas are wrong first. ~24 hours notice is my rule of thumb minimum.
04:12 plobsing so ~22 hours from now
04:13 petdance_ :-(
04:13 petdance_ ok, then I'm gonna merge up one of my commits.
04:17 darbelo joined #parrot
04:23 petdance_ two of 'em.
04:24 darbelo Hm, does anyone actually use the 'lint' make targets?
04:25 bacek_at_work joined #parrot
04:25 petdance_ yes
04:25 petdance_ you mean splint?
04:25 darbelo No, I meant lint, sunlint and bsdlint.
04:26 petdance_ And I would love to get the Solaris lint working.
04:26 petdance_ yes, I do.
04:26 petdance_ I created them, and would love to have them be consistently usable.
04:26 darbelo I'm on (Open)BSD and bsdlint doesn't work at all.
04:26 petdance_ ok
04:27 dalek parrot: r45581 | petdance++ | trunk/src/io/unix.c:
04:28 dalek parrot: fix the annotation for Parrot_io_fdopen_unix. consting.
04:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45581/
04:28 dalek parrot: r45582 | petdance++ | branches/stringnull (83 files):
04:28 dalek parrot: merging up some changes from trunk that Andy needs for build problems
04:28 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45582/
04:29 plobsing petdance_: you aren't Andy?
04:29 petdance_ yes
04:29 petdance_ but Andy is logged in at work
04:29 * plobsing fails at names
04:30 darbelo There's also another Andy that shows up from time to time.
04:30 petdance_ AndyA is Andy Armstrong.
04:30 petdance_ I'm the one who does ack and WWW::Mechanize and http://perlbuzz.com
04:31 darbelo I was thining of Andy Dougherty, so add a third one ;)
04:32 petdance_ oh that one yeah
04:32 plobsing ah! too many andy's!
04:32 plobsing you must battle to the death! there can be only one!
04:32 petdance_ OK, i win.
04:32 petdance_ the others lose by default
04:34 darbelo petdance_: I'm guessing bsdlint is meant to work with the FreeBSD one, right?
04:34 petdance_ yes
04:35 plobsing petdance_: r45582 merges some changes from stringnull yes? if so which commits so I don't double merge tomorrow?
04:35 petdance_ svn takes care of that for you.
04:35 darbelo Ha!
04:36 cotto good punchline
04:36 petdance_ but 45580-45581
04:36 petdance_ Has always done fine for me.
04:36 plobsing orly? That's much more pleasant than any of my experiences with svn.
04:36 darbelo petdance_: People stare at me when I say that of CVS ;)
04:37 petdance_ ok, i'm done on the stringnull branch, unless you tell me to do otherwise
04:37 plobsing nope, I think that little tangent is done
04:38 petdance_ So really, at this point, I didn't need to merge those up. :-)
04:42 plobsing petdance_: I'm curious, does consting local variables make a difference? Can't all but the most naive compilers detect the single assignment?
04:42 petdance_ "make a difference" how?
04:42 plobsing I assume consting is for performance
04:42 petdance_ No
04:42 petdance_ Safety
04:42 petdance_ Clarity
04:42 petdance_ "This is set once, it shouldnt' be modified below"
04:43 darbelo It might help the compiler a bit, but I wouldn't really count on it spped-wise.
04:44 petdance_ Not the intent at all
04:44 darbelo s/spped/speed/
04:45 petdance_ I LOVE SPLINT
04:45 dalek parrot: r45583 | petdance++ | branches/stringnull/include/parrot/gc_api.h:
04:45 dalek parrot: remove redundant declarations.  Thanks, splint!
04:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45583/
04:45 petdance_ what happens if you pass NULL to parrot_hash_destroy
04:45 plobsing same as divide by zero - universe explosion
04:46 darbelo A kitten gets devoured.
04:46 chromatic I read your code and say "That's the problem right there.  Why are you doing that?"
04:46 petdance_ Do we want parrot_hash_destroy to not accept NULL?
04:46 petdance_ the opposite of how free() sees it?
04:47 petdance_ I will make up an ARGFREE_NOTNULL macro
04:47 chromatic +1
04:47 plobsing petdance_: consistency would argue for an ARGFREE_NULLOK macro
04:48 plobsing also I like my bikesheds blue
04:48 petdance_ yes, but
04:48 petdance_ for ARGIN and ARGMOD and ARGOUT, non-null is the rule, not the exception
04:48 petdance_ the opposite of ARGFREE
04:49 plobsing maybe its observation bias, but I've seen a lot of 'if (x) free(x)'
04:49 plobsing even though its redundant
04:49 petdance_ not in parrot that I've seen
04:49 plobsing true
04:50 chromatic It's common in destroy VTABLEs.
04:55 sorear plobsing: despite being specifically allowed by C89, free(NULL) segfaults on many legacy OSes
04:55 sorear perl 5 has a Safefree macro which automates the check on bad libcs
04:56 Chandon Wait a second, free(0) is guaranteed legit in C89?
04:57 sorear only if free has been declared in the current scope
04:57 petdance_ and we specifically don't care if you free(0)
04:57 petdance_ we = Parrot
04:58 Chandon Neat. Learn something new every day.
04:58 sorear 4.10.3.2. "If ptr is a null pointer, no action occurs.  Otherwise..."
04:58 chromatic How cute, a C standard.
04:58 petdance_ you're showing your age, Chandon.
04:58 sorear from http://flash-gordon.me.uk/ansi.c.txt <- bookmark references like these
04:59 sorear the drafts are perfectly adequate for stuff like this
04:59 sorear if you're really paranoid, check both final drafts.  if it was true in 1988 and 1998, it was probably true in 1989
05:00 plobsing sorear: if your C library is that bad, you've got it coming
05:01 chromatic I am Jack's broken vendor library.
05:04 petdance_ Of course it's company policy never to, imply ownership in the event of a segfault.  Always use the indefinite article, "a segfault", never "your segfault."
05:04 sorear Is the protocol VTABLE_iter return values are expected to implement documented anywhere?
05:04 chromatic Blame must always be assigned by passive voice.
05:11 plobsing Is there a good way to get a memory buffer in parrot? I've been toying with the idea of adding an allocate method to ManagedStruct.
05:11 sorear mem_sys_alloc
05:12 plobsing sorear: from a hosted language
05:12 plobsing although I suppose you could dlfunc it
05:12 sorear er, isn't ManagedStruct a PMC?
05:13 sorear can't you just add an allocate METHOD?
05:13 plobsing why not?
05:13 plobsing PMCs can have methods
05:13 sorear right
05:13 sorear IMO it's a "good way"
05:14 plobsing that's all the confirmation I need.
05:14 sorear wooh, I'm relevant now
05:14 chromatic You shouldn't even need to go that far.
05:16 plobsing hmmm.... set_integer_native already sort of does what I want - but backwards
05:16 plobsing it expects you to know how many bytes a struct will take
05:17 plobsing I'd rather tell it the shape of my struct and then to allocate
05:17 chromatic Consider this part of the NCI system that needs some rethinking.
05:17 dalek parrot: r45584 | gerd++ | trunk (2 files):
05:17 dalek parrot: Delete the separate makefile: docs/Makefile.pdf
05:17 dalek parrot: For that the target 'pdf' in now added in the general docs-Makefile
05:17 plobsing I do. In fact the (Un)?ManagedStruct interface probably needs more work than the dlfunc interface
05:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45584/
05:18 plobsing Can I just deprecate the whole subsystem?
05:18 chromatic Not without breaking way too much.
05:23 plobsing it almost seems it would be easier to enumerate the changes i *don't* want to make to the NCI system
05:23 sorear The most important feature of an NCI system is that it work now.
05:24 plobsing it does, fsvo work
05:24 sorear After all, if we had infinite time, we'd just rewrite all the world's software in Perl 6 and make Lorito as good as gcc
05:24 sorear (or other Parrot-hosted language)
05:25 * Austin sings, "...the Scythians fell by the river Jaxartes, then Egypt fell to the Macedon king as well, and he founded the city called Alexandria!"
05:25 sorear Is there any documentation for iterators, or should I just copy what HashIterator does?
05:29 chromatic docs/book/pir/ch04_variables.pod
05:29 sorear Is there any documentation on documentation, or should I just ask here after searching docs/pdds and src/ops ?
05:31 dukeleto sorear: what do you want to know?
05:34 dalek parrot: r45585 | petdance++ | trunk (9 files):
05:34 dalek parrot: Created the new ARGFREE_NOTNULL annotation
05:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45585/
05:35 sorear dukeleto: answers to questions analagous to the one chromatic just answered, without bothering chromatic
05:36 chromatic ack -i searchterm docs/pdds
05:36 chromatic sometimes merely docs/
05:39 plobsing I mostly just 'lack searchterm' where lack = less + ack
05:39 sorear how do you combine less with ack?
05:40 petdance_ --pager flag
05:40 plobsing alias lack="ack --pager=less"
05:40 sorear hmm
05:40 sorear I wonder what's wrong with my ack install, --pager= alone doesn't work
05:40 petdance_ ack --version ?
05:41 sorear 1.90
05:41 petdance_ 1.92 is latest
05:41 petdance_ not sure that's your prob though
05:41 plobsing mine is 1.88 and it works fine
05:41 petdance_ yes, that's your prob.  1.92 fixes it
05:42 dalek plparrot: 5fea30b | dukeleto++ |  (2 files):
05:42 dalek plparrot: Update TODO and ROADMAP
05:42 dalek plparrot: review: http://github.com/leto/plparrot/commit/5​fea30b64b62d6c5a83590a26f5edd0db7ab0606
05:43 petdance_ chromatic: what is "331ing"?
05:44 chromatic Banning the use of a technology because "it doesn't provide the quality experience we expect", a la His Jobsness.
05:44 petdance_ why 331?
05:45 sorear where did chromatic use the phrase?
05:45 petdance_ http://twitter.com/chromatic_x/status/12030544038
05:46 chromatic Because of Apple's iThing SDK agreement, section 3.3.1.
05:46 petdance_ link?
05:46 chromatic http://www.taoeffect.com/blog/2010/04/​steve-jobs-response-on-section-3-3-1/
05:50 dalek parrot: r45586 | petdance++ | trunk (2 files):
05:50 dalek parrot: use the new ARGFREE_NOTNULL on default_destroy and PackFile_destroy
05:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45586/
05:54 dalek TT #1548 created by plobsing++: [DEPRECATION] new_callback_p_p_p_s
05:54 dalek TT #1548: http://trac.parrot.org/parrot/ticket/1548
05:54 petdance_ chromatic: Thanks for the pointer.  Reinforcing my not wanting an iPhone.
05:55 chromatic Yeah, I don't much want to get Steve Jobbed, myself.
06:07 uniejo joined #parrot
06:11 dalek TT #1549 created by plobsing++: [DEPRECTION] NCI for "raw" pointers
06:11 dalek TT #1549: http://trac.parrot.org/parrot/ticket/1549
06:16 dalek rakudo: 0334df6 | plobsing++ | src/binder/bind.c:
06:16 dalek rakudo: use STRINGNULL tests where appropriate in bind.c
06:16 dalek rakudo: Parrot has a symbol STRINGNULL used as a null string value, much like
06:16 dalek rakudo: PMCNULL for pmcs. In the past it didn't get a lot of use, most null
06:16 dalek rakudo: strings simply being set to NULL. I have recently created a branch in
06:16 dalek rakudo: parrot to use STRINGNULL more extensively. My changes cause problems
06:16 dalek rakudo: in C code that erroneously assumes null parrot strings are NULL, such
06:16 dalek rakudo: as rakudo's binder.c.
06:16 dalek rakudo: Closes RT #74272.
06:16 dalek rakudo: Signed-Off-By: Moritz Lenz <moritz@faui2k3.org>
06:16 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​334df67e4e041c0e1fe6941ae5d85b95e0a8af1
06:16 plobsing woot
06:19 fperrad joined #parrot
06:22 dalek parrot: r45587 | petdance++ | trunk/include/parrot/interpreter.h:
06:22 dalek parrot: properly parenthesize macro
06:22 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45587/
06:23 petdance_ holy cow, plobsing, the problems with the build were because PMC_IS_NULL was incorrect.  See -r45587
06:23 plobsing ah, the joy of macros
06:23 plobsing I saw that and wondered
06:24 plobsing but then thought, if that caused the problems I think it would, we'd have bigger issues right now
06:24 petdance_ But we never build without PARROT_CATCH_NULL
06:25 petdance_ I wonder if chromatic the benchmarker might find a speed increase with it off
06:27 snarkyboojum joined #parrot
06:28 fperrad_ joined #parrot
06:28 chromatic My instinct says no, but I'm curious.
06:42 dukeleto 'ello
06:55 dalek parrot: r45588 | gerd++ | trunk/MANIFEST:
06:55 dalek parrot: Remove also 'docs/Makefile.pdf from MANIFEST
06:55 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45588/
06:59 dalek TT #1550 created by fperrad++: lexical lost when cloning a Sub
06:59 dalek TT #1550: http://trac.parrot.org/parrot/ticket/1550
06:59 dalek TT #1551 created by plobsing++: [DEPRECATION] UnManagedStruct handling nested structure
06:59 dalek TT #1551: http://trac.parrot.org/parrot/ticket/1551
06:59 dalek TT #1552 created by plobsing++: [DEPRECTION] UnManagedStruct initializer structure
06:59 dalek TT #1552: http://trac.parrot.org/parrot/ticket/1552
06:59 dalek TT #1553 created by plobsing++: [DEPRECATION] UnManagedStruct get_integer, set_integer_native
06:59 dalek TT #1553: http://trac.parrot.org/parrot/ticket/1553
07:00 dalek TT #1554 created by plobsing++: [DEPRECATION] ManagedStruct automatic resize on shape change
07:00 dalek TT #1554: http://trac.parrot.org/parrot/ticket/1554
07:04 chromatic bacek, only 8 tests in coretest fail on the immutable string branch now.  I fixed your least favorite substr op.
07:11 szabgabx joined #parrot
07:14 brooksbp joined #parrot
07:14 dalek parrot: r45589 | plobsing++ | trunk/DEPRECATED.pod:
07:14 dalek parrot: NCI deprecations
07:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45589/
07:14 dalek parrot: r45590 | chromatic++ | branches/immutable_strings​_part1/src/ops/string.ops:
07:14 dalek parrot: [ops] Fixed substr_s_s_i_i_s op with correct (if complex) semantics.
07:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45590/
07:14 dalek parrot: r45591 | chromatic++ | branches/immutable_strings_part1/src/string/api.c:
07:14 dalek parrot: [str] Tidied code and cleaned up some warnings; no functional changes.
07:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45591/
07:14 dalek parrot: r45592 | chromatic++ | branches/immutable_strings_part1​/src/pmc/resizablepmcarray.pmc:
07:14 dalek parrot: [PMC] Optimized ResizablePMCArray's push_pmc() to avoid unnecessary allocations.
07:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45592/
07:14 dalek parrot: r45593 | plobsing++ | trunk/DEPRECATED.pod:
07:14 dalek parrot: mark NCI_FB_CB AND NCI_FB_UD as experimental
07:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45593/
07:15 iblechbot joined #parrot
07:42 aukjan joined #parrot
07:46 payload joined #parrot
07:48 AndyA joined #parrot
08:03 dalek parrot: r45594 | gerd++ | trunk/config/gen/makefiles/root.in:
08:03 dalek parrot: Add the "pdf" target also to the main makefile.
08:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45594/
08:19 lucian joined #parrot
08:41 dalek tracwiki: v3 | fperrad++ | OSInterfaceAdditions
08:41 dalek tracwiki: http://trac.parrot.org/parrot/wiki/OSInte​rfaceAdditions?version=3&amp;action=diff
08:54 dalek parrot: r45595 | mikehh++ | trunk/config/gen/makefiles/docs.in:
08:54 dalek parrot: fix codetest failure - trailing whitespace
08:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45595/
08:56 mikehh how can we get purl back - all the recent karma is not being recorded :-{
09:02 * moritz just tried /invite purl
09:07 clinton joined #parrot
09:14 Essobi joined #parrot
09:20 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33127), fulltest) at r45595 - Ubuntu 10.04 beta amd64 (g++ with --optimize)
09:25 * mikehh can /query purl but she does not seem to be recording stuff - maybe slavorg needs to do something
09:30 mst joined #parrot
09:30 mst for reference.
09:30 mst if you want to quiet bots during a meeting
09:30 mst use a /voiceall script or something
09:30 mst unvoice the bots
09:30 mst then set +m
09:31 mst this is, in the long run, much less annoying than having to run around to get your bots back :)
09:31 * mst hopes that idea saves you from hassle next time round, and bids good day
09:31 mst left #parrot
09:31 cognominal joined #parrot
09:52 purl joined #parrot
10:15 mikehh joined #parrot
10:24 bacek aloha
10:24 bacek purl, hello
10:24 purl hola, bacek.
10:24 bacek good girl
10:24 purl thanks bacek :)
10:31 bacek msg chromatic r45590 - I do want to introduce op <replace> to support pure replace semantic...
10:31 purl Message for chromatic stored.
10:54 mst joined #parrot
10:54 mst left #parrot
11:01 dalek rakudo: fd40e2a | (Martin Berends)++ | src/core/Temporal.pm:
11:01 dalek rakudo: [core/Temporal.pm] explicitly create a DefaultFormatter where implicitly was not doing  it
11:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​d40e2a17e9dacce15f4785f70992723907deda8
11:24 dalek rakudo: 077325a | (Martin Berends)++ | build/Makefile.in:
11:24 dalek rakudo: [build/Makefile.in] add Temporal.pm back in following recent spec changes
11:24 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​77325a597be80186933a84127b6c4e75a896a88
11:32 bacek msg chromatic We down to one failing test on branch - reading utf8 in chunks. Whoo-hoo! (Yes, I removed few tests)
11:32 purl Message for chromatic stored.
11:37 dalek parrot: r45596 | bacek++ | branches/immutable_strings_part1/src/io/utf8.c:
11:38 dalek parrot: Store updated string inside iterator after reading next chunk of data.
11:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45596/
11:38 dalek parrot: r45597 | bacek++ | branches/immutable_strings_part1/t/pmc/string.t:
11:38 dalek parrot: Remove test for update string inplace.
11:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45597/
11:38 dalek parrot: r45598 | bacek++ | branches/immutable_strings_part1/t/op/string.t:
11:38 dalek parrot: Remove test for update string inplace.
11:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45598/
11:38 dalek parrot: r45599 | bacek++ | branches/immutable_strings_part1/t/op/string.t:
11:38 dalek parrot: Update exception message test.
11:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45599/
11:38 dalek parrot: r45600 | bacek++ | branches/immutable_strings_part1/t/op/string.t:
11:38 dalek parrot: Remove inplace string update test.
11:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45600/
11:38 dalek parrot: r45601 | bacek++ | branches/immutable_strings_part1/t/op/string.t:
11:38 dalek parrot: Remove string inplace update tests.
11:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45601/
11:38 dalek parrot: r45602 | bacek++ | branches/immutable_strings_part1/src/string/api.c:
11:38 dalek parrot: Skip NULL strings in Parrot_str_join
11:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45602/
11:38 dalek parrot: r45603 | bacek++ | branches/immutable_strings_part1/src/string/api.c:
11:38 dalek parrot: Fix compiler warning.
11:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45603/
11:38 dalek parrot: r45604 | bacek++ | branches/immutable_strings_part1/t/op/string.t:
11:38 dalek parrot: Fix plan
11:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45604/
11:43 bacek plobsing, ping
11:43 dalek tracwiki: v3 | bacek++ | PerformanceImprovements
11:43 dalek tracwiki: Add branches for particular tasks.
11:43 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Perform​anceImprovements?version=3&amp;action=diff
11:46 bacek msg plobsing Can you also deprecate OrderedHash.push_foo methods? They are exists only to support *ManagedStruct.init
11:46 purl Message for plobsing stored.
11:52 Mokurai joined #parrot
11:54 dalek parrot: r45605 | bacek++ | branches/immutable_strings_part1 (70 files):
11:54 dalek parrot: Merge branch 'master' into str_local
11:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45605/
11:54 dalek parrot: r45606 | gerd++ | trunk/config/gen/makefiles/root.in:
11:54 dalek parrot: Changes it to that, what I think, was the original intention. I tested the changes on Windows 7 with the Visual Studio 2010 Release Candidate in a configuration as a 32 bit environment.
11:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45606/
11:59 plobsing bacek: do they really serve no other purpose? Using an ordered hash for NCI seems pretty silly considering it doesn't buy you anything over using an RPA
12:00 bacek plobsing, nope. OH.push_foo is ugly hack with auto-creating of invalid strings as keys
12:00 tetragon joined #parrot
12:02 plobsing bacek: I'd feel a little more comfortable deprecating them if they had a large "XXX: this is ugly" or something beside them, but push_foo does seem a little fishy
12:02 bacek plobsing, I can add such comments :)
12:03 plobsing why do we even have an ordered hash?
12:03 bacek msg chromatic We did it! "All tests successful"!!!
12:03 purl Message for chromatic stored.
12:04 bacek plobsing, in "core" or "in general"?
12:05 plobsing both, but mainly in core.
12:07 bacek It can be quite useful. E.g. "HLL" can store class parents in OH and iterate over it to find method overrides. (Rakudo used to have something like this but then Pm switched to List+Hash because OH was way too crappy)
12:08 bacek And HLL_info stored in OH as well (just because we want to keep order of registered HLLs)
12:09 plobsing does it matter which order HLLs were loaded in/
12:09 plobsing ?
12:10 plobsing but fair enough, I'll file it under only mostly useless for the time being
12:11 bacek I don't know about value of HLL register order. It probably has some merits.
12:11 dalek parrot: r45607 | bacek++ | branches/immutable_strings_part1/src/io/utf8.c:
12:11 dalek parrot: Update *buf after reading utf8 chunk from IO.
12:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45607/
12:11 whiteknight joined #parrot
12:12 whiteknight good morning, parrot
12:12 bacek whiteknight, good morning Mr. Whitworth :)
12:12 whiteknight and to you, Mr. Chekalkin
12:13 bacek whiteknight, 1-1 :)
12:13 whiteknight you are a worth adversary :)
12:14 whiteknight worthy*
12:15 plobsing bacek: removing push_* from OrderedHash causes some interesting deep-looking bugs in eg dynlexpad
12:15 bacek plobsing, ouch...
12:16 bacek plobsing, hmmm... I can't spot any pushes in DynLexPad.
12:21 plobsing hmmm... looks like Parrot_register_HLL / new_hll_entry push to OrderedHash
12:21 plobsing not sure if they should be though
12:24 bacek plobsing, they shouldn't. Let me check
12:25 bacek plobsing, hll.c +98
12:25 bacek looks like we have to keep OH.push...
12:27 plobsing I really don't understand what that code is doing, so I'll take your word for it
12:29 bacek OH.push creates new string key "\Xfoo" (where X == OH.keys) and save it.
12:29 bacek Just "convenient" way to add records into OH without providing real key...
12:30 plobsing and then when I do have a real key I want to use and it conflicts by chance?
12:30 plobsing lovely
12:31 bacek plobsing, yeah...
12:32 bacek \X will create single character with code X, so it's virtually impossible to get conflict here.
12:33 bacek Until you create about 30 "anonymous" entries...
12:34 dalek rakudo: 862d42c | (Martin Berends)++ | src/core/Temporal.pm:
12:34 dalek rakudo: [core/Temporal.pm] update the now() constructor with timezone and DefaultFormatter
12:34 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​62d42c7531be544498418f8aeac7d9dc4be42cd
12:44 bacek msg chromatic Rakudo epically failing during make test on branch
12:44 purl Message for chromatic stored.
12:44 bacek And with this positive note I'm going to bed
12:44 bacek Night all
13:08 iblechbot joined #parrot
13:09 dalek joined #parrot
13:27 atrodo joined #parrot
13:30 nopaste joined #parrot
13:33 mikehh joined #parrot
13:49 nopaste joined #parrot
13:49 patspam joined #parrot
14:05 ruoso joined #parrot
14:16 PacoLinux joined #parrot
14:18 aukjan joined #parrot
14:18 lucian joined #parrot
14:20 * particle is far back in scrollback-land reviewing the pvds he missed
14:22 moritz particle: when you're done, please write a summary :-)
14:23 bubaflub joined #parrot
14:24 particle feh.  i knew that was coming.
14:39 Coke I am not convinced about the change in trac usage, since we don't really have a workflow for our existing usage, but if someone is excited about it, +0 from me.
14:47 Coke msg austin - holy crap, you did failindex too when working on [string] ? I owe you a beer. =-)
14:47 purl Message for austin stored.
14:59 dalek parrot: r45608 | petdance++ | trunk (2 files):
14:59 dalek parrot: fixing annotations on functions
14:59 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45608/
14:59 * Coke tries to figure out an NQP problem.
15:00 Coke with grammars and actions.
15:00 Coke this test is failing: is [list \{ \}] {\{ \}}  {braces} {TODO NQPRX}
15:03 * Coke goes silent.
15:10 * Coke woots as he figures it out.
15:17 theory joined #parrot
15:28 lucian joined #parrot
15:31 darbelo joined #parrot
15:40 khairul joined #parrot
15:45 tcurtis joined #parrot
15:51 tetragon joined #parrot
16:18 davidfetter joined #parrot
16:40 brooksbp_ joined #parrot
17:16 cotto_work joined #parrot
17:26 chromatic joined #parrot
17:29 dalek parrot: r45609 | darbelo++ | trunk/src (2 files):
17:29 dalek parrot: Make sure we point at the of the string, which might not be the same as the start of the buffer after substring operations.
17:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45609/
17:30 cotto_work still no purl?
17:30 purl i think no i am funky or a bit shy bot
17:30 cotto_work that answers that question
18:02 Coke silence purl?
18:02 purl sorry, mother....
18:02 Coke quiet purl?
18:03 Coke quiet purl is See the IRC log for #parrot on 4/12/2010 from mst
18:05 whiteknight_ joined #parrot
18:05 darbelo quiet purl is also http://irclog.perlgeek.de/p​arrot/2010-04-12#i_2220863
18:05 purl okay, darbelo.
18:07 Coke darbelo: ... that's a better link, just replace mine.
18:09 chromatic msg bacek I have a patch to make Rakudo build against our branch, but can't find the error in a sea of debugging.  We need to fix line numbers or get someone from #perl6 to have a flash of insight.
18:09 purl Message for bacek stored.
18:09 allison does anyone know if there's a way to shrink down the twitter box on parrot.org?
18:09 allison it's ginormous
18:10 * allison wonders if it's time to take up a little more screen realestate on parrot.org, now that we have substantial content
18:12 * Coke would prefer a theme that doesn't require a fixed width of the main content.
18:12 Coke allison: you mean, height wise?
18:12 Coke (yes, that widget is very editable.)
18:13 cotto_work it'd be nice if it fit in with the color scheme too
18:13 Coke http://www.parrot.org/admin/b​uild/block/configure/block/8
18:14 Coke cotto_work: sure.
18:14 Coke let me run a color picker...
18:16 chromatic Looks like the immutable strings branch is 4.842% faster on my Rakudo benchmark.
18:16 chromatic Still a ways to go.
18:16 cotto_work Coke: http://0to255.com/
18:16 darbelo chromatic: How far do you think you can push that path?
18:17 chromatic I'd like another 2%
18:17 chromatic My estimate was 7%
18:18 chromatic Oh, but it's missing some trunk improvements, so it's a bad benchmark.  Nice.
18:19 chromatic It's going to be close to 7%, when I fix that.
18:19 darbelo So, it's ~5% vs trunk, not vs branch point?
18:19 darbelo Even better.
18:19 chromatic Yes.
18:21 Coke cotto_work: how's that?
18:22 Coke allison: I trimmed it down to last 3 tweets instead of last 4. cotto_work: I updated the color scheme a bit.
18:22 cotto_work Coke: much better.  Thanks.
18:22 Coke cotto_work: much easier now that parrot.org isn't caching everything. =-)
18:23 cotto_work Drupal caching is ... special
18:23 Coke turns out it wasn't drupal.
18:24 Coke it was <some thing that the osuosl admins had installed> to improve parrot.org - just needed some exceptions for things that weren't simple web content.
18:28 chromatic 5.608% with the optimization I was thinking of.
18:40 chromatic 9.852%
18:40 purl 0.09852
18:43 chromatic ... but we have to be a little more clever in compact_pool to make that work correctly.
18:43 chromatic We need to do that anyway, but 7% performance improvement from constant strings is well within our reach.
18:45 darbelo Nice.
18:46 chromatic msg bacek If we fix the conmpact_pool nonsense, we get a lot more performance out of our immutable strings branch.
18:46 purl Message for bacek stored.
18:49 dngor joined #parrot
18:55 cotto_work What are thoughts on an nqp-rx or pir-based pir compiler?  istr something about such a beast but don't recall if there are plans to get one working.
18:56 chromatic Eventually it would be nice.
18:56 darbelo bacek has one on github, I did some amateur nocromancy on the build system, but was unable to get it running again.
18:56 cotto_work ok.  so there's no current plan
18:57 darbelo We can plan to plan one later.
18:57 chromatic Not to my knowledge.
19:02 particle coke: that something is varnish
19:13 joeri joined #parrot
19:13 hercynium joined #parrot
19:24 darbelo ls -l
19:30 weirdo joined #parrot
19:30 ash_ joined #parrot
19:46 uniejo joined #parrot
19:50 theory joined #parrot
19:50 tewk joined #parrot
19:50 senf_statt_oel joined #parrot
19:55 bacek ~~
19:56 bacek Good morning
19:56 purl Good Morning Mr Rogers
19:56 darbelo Good morning. (fsvo morning)
19:57 bubaflub fsvo good
20:07 hudnix joined #parrot
20:13 bacek msg chromatic fixing compact_pool would be nice but it's out of scope of branch.
20:13 purl Message for chromatic stored.
20:14 chromatic It's another easy 4% performance improvement/
20:14 bacek chromatic, may be even more.
20:14 bacek But making Rakudo works is higher priority.
20:15 chromatic I removed the "If there's nothing on the free list, run the GC" code and it's a 4% improvement.
20:20 particle moritz: http://trac.parrot.org/parrot/wiki/pds-2010-04
20:21 moritz particle++
20:23 Coke (trac changes) I disagree that a separate ticket is a good thing for adding tests.
20:23 particle coke: me too, but that's just a summary, not my thoughts.
20:23 particle we should address them in parrotsketch
20:23 particle or update the wiki
20:24 Coke makes more work for the person who fixed the bug, and more work for the person writing the tests.
20:28 dalek rakudo: 9e39ecb | (Martin Berends)++ | src/core/Temporal.pm:
20:28 dalek rakudo: [core/Temporal.pm] change '_' in identifiers to '-' as per spec change about to be written by masak++, and add a parse(StrISO8601) method
20:28 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​e39ecb0f1ae363f8667f30c04ae0242ef50fea6
20:29 Andy Y'know, I'd like to think the splint target is pretty solid at this point
20:29 Andy if a bit noisy.
20:31 dalek parrot: r45610 | petdance++ | trunk/src/pmc/string.pmc:
20:31 dalek parrot: consting
20:31 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45610/
20:31 Andy Parrot_str_append makes me cry.  It oughta be something that can't fail.
20:32 chromatic Fixed on branch.
20:32 chromatic ... or at least made differently ugly.
20:32 Andy what branch
20:32 moritz there can only be one branch!
20:32 moritz probably immutable strings
20:33 chromatic Right.
20:33 Andy ok
20:35 dalek tracwiki: v1 | particle++ | pds-2010-04
20:35 dalek tracwiki: notes from the parrot developer summit meeting
20:35 dalek tracwiki: http://trac.parrot.org/parrot/wiki/p​ds-2010-04?version=1&amp;action=diff
20:37 elmex joined #parrot
20:37 Coke Andy: you had an evil plan to change split to be a compiler you specify via Configure.pl - that still on the table?
20:37 Andy sure
20:37 Andy in my CFT
20:37 Andy right now I'm just rolling in the splint slop
20:38 darbelo perl Configure.pl --cc=splint ?
20:38 Andy although I may just keep it the way it is now, because it works really nicely.
20:38 Andy darbelo: right
20:38 Andy but not sure it's worth doing
20:38 darbelo Very nice.
20:38 senf_statt_oel left #parrot
20:39 Coke Andy: there will be less incentive to bother once I put all the split targets into an .include'able makefile.
20:39 Coke (which is on MY CFT list.)
20:39 Andy there's only one target
20:39 Andy well, basically
20:47 dalek parrot: r45611 | petdance++ | trunk (2 files):
20:47 dalek parrot: str_split actualy can return null
20:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45611/
20:48 dalek parrot: r45612 | coke++ | trunk/config/gen/makefiles/root.in:
20:48 dalek parrot: fixup dead link to old wiki
20:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45612/
20:52 dalek rakudo: b9aaa31 | moritz++ | t/spectest.data:
20:52 dalek rakudo: two more passing test files
20:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​9aaa3165f5674faa2683bc24417e5de9c4a8bd4
21:00 GeJ Good morning everyone.
21:00 Coke GeJ: ~~
21:02 dngor_ joined #parrot
21:04 dalek parrot: r45613 | petdance++ | trunk (2 files):
21:04 dalek parrot: Parrot_str_length is sometimes used to force calculations, so ignoring the result is actually OK
21:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45613/
21:04 Mokurai1 joined #parrot
21:08 Whiteknight joined #parrot
21:14 Whiteknight good afternoon, #parrot
21:19 darbelo afternoon Whiteknight
21:20 Whiteknight how are you doing today, darbelo?
21:20 dalek parrot: r45614 | petdance++ | trunk/config/gen/makefiles/root.in:
21:20 dalek parrot: fix a broken flag name
21:20 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45614/
21:20 Whiteknight dukeleto: ping
21:20 Whiteknight or, particle: ping
21:21 darbelo Breaking parrot horribly, with small changes that shouldn't.
21:21 Whiteknight darbelo: what are you working on to cause breakages?
21:21 darbelo Strings.
21:21 purl strings is a cool movie
21:22 Whiteknight purl forget strings
21:22 purl Whiteknight: I forgot strings
21:22 chromatic Someone (and by this, count you all volunteered) should clean up the mess that is src/string/api.c.
21:22 Whiteknight darbelo: the immutable strings branch?
21:22 Whiteknight chromatic: sure thing. Once immutable strings lands I'll do it
21:22 Whiteknight I don't want to interfere with that work
21:22 particle Whiteknight: what's up?
21:22 bacek chromatic, I can't figure out why Rakudo's bind_signature fails so epically...
21:22 chromatic Good point.
21:23 chromatic bacek, does it work on trunk?
21:23 Whiteknight particle: any news on GSoC slot allocations yet?
21:23 bacek chromatic, of course...
21:23 particle no, should there be?
21:23 dukeleto Whiteknight: pong, with a one foot out the door
21:23 chromatic Did you fix up all of the Parrot_str_substr() calls there?
21:23 Whiteknight particle: I thought slot estimates were due out today, which is why we rushed to blindly assign mentors to them yesterday
21:24 particle the calendar says that happens tomorrow throguh thursday
21:24 Whiteknight particle: okay, thanks
21:24 Whiteknight dukeleto: particle got it. Thanks
21:24 bacek chromatic, yes. It builds. Even something like 'my $a =42; pir::say($a)' works
21:25 Whiteknight particle: I've got the patience of a 4 year old boy
21:25 bacek chromatic, but 'say "hi"' fail inside binder
21:26 Whiteknight bacek: need more debugging eyes?
21:26 chromatic We may have to ask Jonathan to take a look.
21:26 bacek Whiteknight, it will be helpful
21:26 Whiteknight bacek: sure thing. Steps to reproduce?
21:26 Whiteknight 1) get immutable strings branch, 2) try to build rakudo, 3) ??? 4) profit?
21:26 bacek chromatic, jonathan drinking vodka^W^W quite busy in Russia
21:27 bacek Whiteknight, you have to patch rakudo.
21:27 chromatic He may have been drinking heavily when writing that code.
21:28 nopaste "bacek" at 192.168.1.3 pasted "Patch to build rakudo on immutable strings branch" (39 lines) at http://nopaste.snit.ch/20254
21:28 bacek Whiteknight, step3 - ./perl6 -e 'say "hi"'
21:29 Whiteknight okay, i'll look at it soon
21:29 bacek .oO( Interesting IP in nopaste )
21:29 cotto_work cft?
21:29 purl i think cft is Copious Free Time or http://london.pm.org/pipermail/london​.pm/Week-of-Mon-20020107/008654.html or CGI::Form::Table
21:33 darbelo Whiteknight: No, I'm doing unrelated cleanup work.
21:34 darbelo A small change, to make strings lie a bit less, broke argument passing.
21:52 darbelo Is anyone else seeing a *long* stream of "src/nci/extra_thunks.c:3020: warning: passing arg 2 of `Parrot_pcc_get_signature_func' discards qualifiers from pointer target type
21:52 darbelo in their builds?
21:53 chromatic I hadn't, but I'm not surprised.
21:53 darbelo It looks like it's coming from generated code.
21:53 dalek parrot: r45615 | petdance++ | trunk/tools/build/headerizer.pl:
21:53 dalek parrot: add notes about checking pointers
21:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45615/
21:55 plobsing darbelo: I noticed that code has been generating errors for a while, which is odd, because it was warnings-clean when I left it.
21:56 darbelo Maybe a new warning got added with Coke's work on that?
21:57 darbelo Or, if we decide it's not a big deal, we can add an exeption for that warning on that file.
21:57 darbelo We have the infrastructure for that now.
21:59 plobsing it looks like we're consting something we shouldn't be
22:01 plobsing or rather, passing it to a series of functions that treat their arguments as const but don't mark them as such
22:01 darbelo Andy has been soing a lot of consting lately. But he's been very careful about it too.
22:01 Andy Always.
22:02 Andy consting is one of those things you can pretty much do without thinking
22:02 Andy and watching TV
22:02 purl somebody said watching TV was for TV-watching people.
22:05 plobsing fixed
22:06 darbelo const PMC * const ctx   = CURRENT_CONTEXT(interp);
22:06 Andy was that something I did?
22:06 plobsing I took the easy way out. Didn't feel like fighting my compiler to convince it that Parrot_pcc_get_signature treats ctx as constant
22:07 darbelo Parrot_pcc_get_signature is two things, wether you optimize or not.
22:07 plobsing 2 things?
22:07 purl 2 things are required for a "talk"
22:07 plobsing purl, who let you back in?
22:07 purl plobsing: i haven't a clue
22:08 payload joined #parrot
22:08 Andy plobsing: what si the problem you're running into?
22:08 Andy Let me help you fix it, or tell me and I'll fix it.
22:08 plobsing its already fixed
22:09 plobsing it was the line darbelo mentioned
22:09 Andy yes, where?
22:09 Andy When I see "Didn't feel like fighting my compiler" it sounds like "forced my away around a useful-but-incorrect warning"
22:10 chromatic I repeat, "How cute, a C standard."
22:10 Andy Snark aside, it's probably something I can actually deal with, chromatic
22:10 dalek parrot: r45616 | petdance++ | trunk (2 files):
22:11 plobsing oh that. like I said, I'm fairly sure that Parrot_pcc_get_signature treats ctx as constant, but it involves calling down to other functions in places
22:11 dalek parrot: move function declarations into a proper header file.
22:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45616/
22:11 dalek parrot: r45617 | plobsing++ | trunk (3 files):
22:11 dalek parrot: fix warnings in NCI thunks - Parrot_pcc_get_signature doesn't mark ctx as constant, so we can't either
22:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45617/
22:11 cotto_work color picker?
22:11 cotto_work color picker is http://0to255.com/
22:11 plobsing colour picker is http://0to255.com/
22:12 plobsing i18n++
22:12 darbelo plobsing: It get's defined to be one of two different thing based on NDEBUG being #defined.
22:12 darbelo see include/parrot/context.h
22:12 chromatic Both of those should be const safe though.
22:12 darbelo 557:#  define Parrot_pcc_get_signature(i, c) (__C(c)->current_sig)
22:12 darbelo 618:#  define Parrot_pcc_get_signature(i, c) Parrot_pcc_get_signature_func((i), (c))
22:12 darbelo Yes, but only one of the warns ;)
22:12 Andy let me dig.
22:13 darbelo You won't see the warning if you --optimize
22:13 darbelo Annotating Parrot_pcc_get_signature_func() should be enough to quiet the compiler.
22:13 chromatic Andy, if you const src/call/context_accessors.c you should quiet a lot of warnings here.
22:14 chromatic Nothing unsafe or tricky jumps out at me there.
22:14 Andy But it depends on what's using it.
22:16 Andy why is src/nci/core_thunks.c getting committed?
22:16 Andy It's a generated ifle
22:16 chromatic Because you need a working Parrot to generate it.
22:16 plobsing Andy: bootstrap
22:16 purl i heard bootstrap was jsut for the .elc files or a statistical method that replaces theoretical assumptuions with simulation
22:17 Andy plobsing: in "const PMC * const ctx" only the first const should have been removed
22:18 Andy ok so how are you building such that you can make this consting run afoul?
22:21 plobsing perl Configure.pl && make -j3
22:21 Andy ok, but nothin' to make the NDEBUG be off?
22:21 plobsing linux x64 gcc 4.4.3
22:21 plobsing nothing intentional
22:21 plobsing just the standard stfu and build command
22:21 Andy and what file fails the build?
22:22 plobsing no failures, warnings. I didn't look to far into it.
22:22 plobsing also maybe I did it wrong. I don't use const a lot.
22:22 Andy ok, what file throws warnings
22:23 plobsing can't recall, I've moved on to merging stringnull
22:23 plobsing sorry, I'm just not that interested in annotating generated files for the purpose of catching manual programming errors.
22:23 Andy Right, but I am.
22:24 Mokurai1 joined #parrot
22:25 snarkyboojum joined #parrot
22:25 theory joined #parrot
22:26 kid51 joined #parrot
22:26 TiMBuS joined #parrot
22:30 dalek parrot: r45618 | fperrad++ | trunk (4 files):
22:30 dalek parrot: [distutils] split distutils/osutils
22:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45618/
22:35 cotto_work http://blog.mozilla.com/dwitte/2010/03/12/exte​nsion-authors-browser-hackers-meet-js-ctypes/
22:36 Andy So what is the "fast" part of get_context_struct_fast ?
22:37 darbelo The part that doesn't stop at the encapsulation boundary.
22:37 Andy I guess I don't get it, and what it's not a macro for that matter
22:38 chromatic It could be a macro; go ahead.
22:40 Andy macros have the benefit of not mucking with constedness
22:42 theory joined #parrot
22:43 preflex joined #parrot
22:44 plobsing wheeee svn merge = commiting files I've never even openned!
22:44 cotto_work Yeah.  It's like that.
22:45 Andy With the 2nd M?  It's subversion properties.
22:48 dalek parrot: r45619 | plobsing++ | failed to fetch changeset:
22:48 dalek parrot: merge stringnull
22:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45619/
22:53 cotto_work plobsing++
22:55 darbelo Hm. Maybe that solves my breakage.
22:57 plobsing darbelo: what's your breakage?
22:58 darbelo I'm trying to make 'external' strings be honest about their lack of a internally-allocated buffer.
22:59 plobsing hmmm... I don't think that branch will solve your issues.
22:59 plobsing but if you're lucky...
22:59 darbelo That broke stuff all over, I got ImageIO working pretty easily, buyt now I have broken argument passing.
23:00 plobsing who needs arguments? or functions? or structured programming in general?
23:00 darbelo I think it's mis-concatenating stuff. But it took me a while to realize it.
23:04 dalek parrot: r45620 | plobsing++ | branches/stringnull:
23:04 dalek parrot: branch merged
23:04 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45620/
23:10 * plobsing has half a mind to start labeling "branch merged" commits as "yak shaved"
23:10 darbelo +1
23:10 purl 1
23:10 * cotto_work hands plobsing a hairy yak
23:11 * plobsing tosses it into the pile
23:11 cotto_work Have fun.  We have plenty for everyone.
23:17 * cotto_work starts singing "99 unshaven yaks" to the tune of
23:17 cotto_work "99 bottles of beer"
23:18 particle have you been close to a yak? let me tell you, they don't get out of your way, even if the trail is only two feet wide, with a cliff on one side and a drop on the other.
23:18 cotto_work not to mention that "99 unshaven yaks" would be a good release name *and* a great name for a rock band
23:18 plobsing a key difference between yaks and beer - by the time you finish the last yak, the first one needs to be redone. sadly not the same way with beer.
23:18 darbelo For a moment, I expected you to say "99 red balloons".
23:20 darbelo You and I in a little toy shop / Buy a bag of yaks with the money we've got / shave them all at the break of dawn ...
23:22 cotto_work Worst date ever.
23:33 chromatic And now for something completely different.
23:33 purl MORE DONGS
23:36 plobsing chromatic: I have config as a HoS fully working now. Any suggested benchmark?
23:37 dalek parrot: r45621 | plobsing++ | trunk (5 files):
23:37 dalek parrot: change config_lib script to be in pir so I can call methods
23:37 purl dalek: that doesn't look right
23:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45621/
23:38 cotto_work It's always nice to see PASM code go away.
23:38 Whiteknight I'm not sure purl is really appropriate for this venue
23:39 fperrad_ joined #parrot
23:43 payload joined #parrot
23:43 mariano joined #parrot
23:44 tcurtis joined #parrot
23:44 payload1 joined #parrot
23:51 ttbot Parrot trunk/ r45623 i386-linux-thread-multi make error http://tt.taptinder.org/file/cmdout/261681.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
23:52 plobsing how do I get the build bots to reconfig?
23:54 dalek parrot: r45622 | fperrad++ | trunk (7 files):
23:54 dalek parrot: [TAP] add Harness & Formatter
23:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45622/
23:54 dalek parrot: r45623 | plobsing++ | trunk/config/gen (3 files):
23:54 dalek parrot: convert config to Hash of Strings.
23:54 purl I don't know how to convert config to Hash of Strings..
23:54 dalek parrot: reduces size of config.fpmc by 1/6 (~6k for me).
23:54 dalek parrot: nearly eliminates vtable calls involved in thawing of config.
23:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45623/

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

Parrot | source cross referenced