Camelia, the Perl 6 bug

IRC log for #parrot, 2010-04-24

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:09 bacek Good morning my biological friends
00:09 bacek http://lambda-the-ultimate.org/node/3926
00:09 bacek "VMKit: a Substrate for Managed Runtime Environments"
00:09 bacek Any one read it?
00:14 cotto I was going to watch the video.
00:14 cotto It sounds interesting, especially the part about not having really slow performance.
00:20 ruoso joined #parrot
00:22 ZeroForce joined #parrot
00:52 cotto time for some merging
00:53 dalek parrot: r45948 | cotto++ | failed to fetch changeset:
00:53 dalek parrot: sync branch with trunk
00:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45948/
00:55 tcurtis joined #parrot
00:56 sorear Apparently, if you install Parrot with --enable-optimize, your dynpmcs will be built stripped.
00:57 sorear Or at least with -g0.
01:00 hercynium joined #parrot
01:05 dukeleto how do I make a P6object inherit from a core PMC, in PIR?
01:15 cotto yay for runcore purging
01:17 cotto also, yay for svn not being quite as painful with a fast internet connection.
01:19 dukeleto has anybody looked at MMTk? http://jikesrvm.org/MMTk
01:21 cotto I'd be really surprised if whiteknight hadn't.
01:27 dalek parrot: r45949 | cotto++ | trunk (162 files):
01:27 dalek parrot: [runcore] merge runcore_purge; the cgoto, cgp and switch runcores are history
01:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45949/
01:27 dalek parrot: r45950 | cotto++ | branches/runcore_purge:
01:27 dalek parrot: deleting merge branch
01:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45950/
01:27 dalek parrot: r45951 | mikehh++ | trunk/src/dynpmc/gziphandle.pmc:
01:27 dalek parrot: fix codetest failure - There should be no space between a function name and the following open parenthesis
01:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45951/
01:27 dalek parrot: r45952 | mikehh++ | trunk/MANIFEST.SKIP:
01:27 dalek parrot: re-generate MANIFEST.SKIP
01:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45952/
01:31 dalek TT #1563 closed by cotto++: Deprecation of unused runcores
01:31 dalek TT #1563: http://trac.parrot.org/parrot/ticket/1563
01:33 dukeleto cotto++ # fulltest just got a lot faster
01:36 mikehh trying it now :-}
01:51 cotto I get the feeling there won't be a lot of backlash against this change.
01:51 atrodo joined #parrot
01:55 Coke moritz: found some missing C deps that should be fixed shortly. (were you complaining about || build recently?)
01:56 Andy joined #parrot
01:56 cotto Coke++
01:57 cotto I was seeing some parallel build goofs too
01:58 Psyche^ joined #parrot
02:00 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33416), fulltest) at r45952 - Ubuntu 10.04 RC i386 (g++ with --optimize)
02:00 mikehh in testf: t/op/exit.t - TODO passed:   6
02:05 cotto oh noes.  Better make it not pass. ;)
02:05 mikehh cotto :-}
02:09 plobsing_ joined #parrot
02:23 bacek ~~
02:25 * bacek just made fulltest even faster :)
02:26 patspam joined #parrot
02:29 Coke ugh. people keep committing things. I test, recommitt... I'm out of date. =-)
02:29 Coke bacek! did you remove compilers/ncigen first?
02:29 sorear is dalek broken?
02:30 Coke ugh. bacek, want me to remove those empty directories?
02:31 bacek Coke, hmmm. Which directories?
02:31 Coke compilers/nqp et al. fixed and comitted.
02:31 bacek ah, ok.
02:32 dalek parrot: r45953 | bacek++ | trunk (44 files):
02:32 dalek parrot: Remove deprecated compiler/nqp. Welcome to brave new world of nqp-rx.
02:32 dalek parrot: Closing TT#1462
02:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45953/
02:32 dalek parrot: r45954 | bacek++ | trunk/DEPRECATED.pod:
02:32 dalek parrot: Remove compilers/nqp from DEPRECATED.pod.
02:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45954/
02:32 dalek parrot: r45955 | coke++ | trunk/compilers/nqp:
02:32 dalek parrot: Remove empty directories left over after nqp purge.
02:32 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45955/
02:33 Coke bacek: Also, I had claimed TT #1462.
02:33 Coke also, see TT #1573..
02:34 bacek Coke, hang on. I closed TT#1462
02:35 Coke Yes, I know you did.
02:36 Coke I'm saying that that ticket was assigned to me.
02:36 bacek Ah...
02:36 Coke and it had a pre-req.
02:36 bacek Want me to kill ncigen?
02:36 Coke I've assigned that ticket to you. :P
02:37 bacek :)
02:37 Andy hey bacek
02:37 bacek Hey Andy
02:37 Andy What do you know about str_copy?
02:37 dalek TT #1462 closed by bacek++: compilers/nqp
02:37 dalek TT #1462: http://trac.parrot.org/parrot/ticket/1462
02:37 Andy What will it take to make it const-happy?
02:38 Coke there, more dependency fixups.
02:38 bacek Andy, mutable PObj part...
02:40 bacek Andy, basically (without compiler support) we should pass const strings into str_copy and str_hashval and do const-casting inside.
02:41 Andy I don't get the part about mutable PObj part
02:42 bacek Andy, we update string->flags to set "COW". And flags belong to "PObj" part of string.
02:42 Andy But we don't need COW now that everything's immutable, right?
02:43 bacek Andy, we do.
02:43 Andy or maybe I misunderstand
02:43 bacek It's not "COW", it's just shared buffer.
02:44 bacek Because substring creating reuse same buffer.
02:44 Andy ok
02:44 bacek We should probably rename "COW" flag into "shared_buffer".
02:44 bacek Just to reflect current semantics.
02:44 bacek Coke, can you check for leftover empty dirs?
02:45 Andy OK, so the flags in parrot_string_t are the same as the flags in a PObj?
02:45 bacek Andy, yes.
02:45 Andy we're basically faking subclassing
02:45 Andy Here's the thing
02:45 bacek Andy, exactly.
02:45 Coke bacek: sure.
02:45 Andy we can't fake the qualifiers
02:46 Andy We need to not lie to the compiler about constness
02:46 Coke bacek: done.
02:47 bacek Andy, yes... And we can't make all string const-correct.
02:47 Andy right
02:47 bacek all strings.
02:47 bacek E.g. gc_mark_string updates PObj.flags.
02:48 bacek str_hashval cache commutated value inside string.
02:48 Andy What we need is a real str_copy
02:48 Andy like a str_copy_that_we_are_going_to_modify
02:48 Andy tkae a look at Parrot_str_chopn
02:49 Andy There's no point in setting the COW flag because we're immediatley going to modify the string.
02:49 dalek parrot: r45956 | coke++ | trunk (3 files):
02:49 dalek parrot: Fixup many dependencies.
02:49 dalek parrot: (some redundancy with the implicit rule, but see checkdepend.pl if it hurts)
02:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45956/
02:49 dalek parrot: r45957 | bacek++ | trunk (22 files):
02:49 dalek parrot: Remove compilers/ncigen. Closing TT#1573.
02:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45957/
02:49 dalek parrot: r45958 | coke++ | trunk/compilers/ncigen:
02:49 dalek parrot: remove empty directories.
02:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45958/
02:50 bacek Andy, not quite true. Original string and new string share same buffer. That's why we need flag set on original string
02:50 Andy What I'm saying is that in the general case that should be
02:51 bacek OTOH, if we reverse traversing strings in compact_pool we can set COW flag on result string.
02:51 bacek Or we can move this flag into buffer. There is plenty of space there.
02:52 Andy OK, help me out some
02:52 dukeleto TimToady++ # "Fear is the Mind Killer"
02:52 Andy PObj_COW_SET is setting the COW flag to mean....
02:52 Andy what?
02:53 Andy As I understand it, COW means "I'm pointing at someone else's actual buffer, I'm just piggybacking"
02:53 Andy Is that right?
02:53 bacek Currently, "COW" means - I own then buffer, but someelse piggybacking into it.
02:54 dalek TT #1573 closed by bacek++: remove compilers/ncigen
02:54 dalek TT #1573: http://trac.parrot.org/parrot/ticket/1573
02:55 bacek Andy, look at compact_pool.
02:55 Andy That's not how I real the comments in include/parrot/pobj.h
02:55 bacek Actually move_one_buffer in src/gc/alloc_resources.c
02:55 bacek I don't read comments, I read code :)
02:55 Andy That's great, but I have to read comments.
02:55 Andy Do the comments in pobj.h seem wrong to you then?
02:56 bacek /* Mark the contents as Copy on write */
02:56 bacek This one?
02:56 Andy yes
02:57 bacek Letmethink
02:57 bacek Ah.
02:57 bacek We set COW on both strings.
02:57 Andy and the one after it
02:57 Andy Right, that seems very wrong to me.
02:57 bacek Because we do STRUCT_COPY after setting it.
02:57 bacek (in str_copy)
02:57 Andy To me it seems that COW means "I'm piggybacking", and is_COWable means "I can let someone piggyback off me"
02:58 Andy But you're saying that's backwards?
02:58 bacek "We are piggypacking"
02:58 bacek I was wrong, sorry.
02:58 Andy ok
02:58 dukeleto anybody see t/dynpmc/rotest.t failing?
02:59 Andy bacek: "We are piggybacking on someone else" is COW, right?
02:59 Coke dukeleto: not i
02:59 Andy and is_COWable is "you may COW off of me."
03:00 bacek Andy, something like this. But it's better to use "shared_buffer" and "is_shareable".
03:00 Andy ok
03:00 bacek Because buffers are not belong to particular string.
03:01 dukeleto Coke: http://smolder.plusthree.com/ap​p/projects/report_details/33417
03:01 bacek Sigh...
03:02 bacek I broke t/compilers/pct/complete_workflow.
03:02 bubaflub joined #parrot
03:03 * Coke guesses "by removing compilers/nqp". =-)
03:04 Coke mebbe?
03:04 purl somebody said mebbe was ok as pure inflate class
03:06 bacek Coke, yeah...
03:06 Andy OK, so now I get it
03:06 Andy A STRING is an overlay over a Buffer
03:06 Andy which is an overlay over a PObj
03:07 Andy sneaky
03:07 Andy You're faking a union without using a union.
03:07 Andy you = we :-)
03:07 dalek parrot: r45959 | mikehh++ | trunk/MANIFEST.SKIP:
03:07 dalek parrot: re-generate MANIFEST.SKIP
03:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45959/
03:07 dalek parrot: r45960 | mikehh++ | trunk/config/gen/makefiles/root.in:
03:07 dalek parrot: fix codetest failure - trailing space
03:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45960/
03:07 dalek parrot: r45961 | dukeleto++ | trunk (2 files):
03:07 dalek parrot: [io] Make Parrot_io_open delegate to the FileHandle PMC and allow HLL mapping
03:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45961/
03:07 dalek parrot: r45962 | bacek++ | trunk/t/compilers/pct/complete_workflow.t:
03:08 dalek parrot: Update test to use nqp-rx.
03:08 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45962/
03:10 bacek Andy, feel free to "fix" it :)
03:11 Andy No, I'm just trying to understand.
03:11 Andy then again, it's all just pointers to god
03:12 patspam joined #parrot
03:12 eternaleye joined #parrot
03:15 dalek rakudo: 543d672 | (Solomon Foster)++ | src/core/ (4 files):
03:15 dalek rakudo: Minor tweak to Complex.abs, added Real.exp and Real.infix:<**>, removed Num.exp.
03:15 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​43d672781b6a3d19214fedbb146b170c162c520
03:17 Coke ... it is failing for me now, dukeleto
03:21 bacek dukeleto, +1 for Coke
03:22 Coke fails in harness but not directly.
03:22 dukeleto load_bytecode does not seem to work when you call it from PIR with Parrot_compile_string
03:23 dukeleto i.e. if I have PIR that calls load_bytecode, and then compile that PIR string with Parrot_compile_string, it can't find things like P6object.pbc
03:24 dalek parrot: r45963 | petdance++ | trunk/include/parrot/pobj.h:
03:24 dukeleto which runcores just got axed?
03:24 dalek parrot: clarify some comments
03:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45963/
03:24 dalek parrot: r45964 | mikehh++ | trunk/src/io/api.c:
03:24 dalek parrot: fix codetest failure - line length
03:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45964/
03:25 mikehh dukeleto: Cgoto, cgp and switch
03:26 dukeleto mikehh++
03:27 mikehh it was cotto++
03:27 dukeleto mikehh: that was for the info :)
03:27 mikehh thought I would add something though :-}
03:28 mikehh hmmnn - testing - where was I
03:31 mikehh svn update -u reports   ?    runtime/parrot/languages/data_json - I fixed some svn:ignore stuff a couple of days ago - can't remember = mind you it is 4:30am for me
03:32 * Coke wonders why t/codingstd/pod_syntax.pl is complaining about makefile.pl
03:39 Andy OK, here's what I don't get, bacek
03:40 Andy why are we calling PObj_COW_SET(s) in Parrot_str_copy()?
03:40 bacek To compact_pool properly
03:41 Coke ... ah, stale pod cache files. blah.
03:41 Andy Go on.
03:41 bacek move_one_buffer in gc/alloc_resources.c
03:41 mikehh Coke: I was going to query that - ok for me :-}
03:42 bacek When we moved one buffer all other strings have to be updated to point to new one
03:42 bacek that's the reason why we set "COW" flags on both strings.
03:43 Andy So the new buffer becomes the new master from which to piggyback?
03:43 bacek after move - yes
03:43 Andy So we never ever can have a truly const STRING.
03:43 bacek I don't get it...
03:44 Andy Becuase the act of copy from a string modifies the STRING
03:44 bacek not quite true.
03:44 bacek We are compacting allocated string "bodies"
03:45 bacek And it causing updates of original STRING*
03:45 Andy right
03:45 * Coke is nearly ready to kill compilers/json ...
03:45 bacek Coke, kill it!
03:46 bacek Andy, but what we can do is consting all STRING* in our API.
03:46 bacek (fsvo "all")
03:46 Andy bacek: No we can't.
03:46 Andy because anything on the back end can't be const
03:46 Andy and lying to the compiler about const via casting is bad news.
03:46 bacek No, we can.
03:46 bacek Non-const pointers stored inside GC Fixed_Size_Pools
03:47 Andy right, but take for example...
03:47 Andy any of the get_codepoints functions
03:47 Andy they can't take const strings because they call Parrot_str_copy
03:48 Andy rather, they can't take const STRING *s
03:48 Andy therefore Parrot_str_substr() can't take a const STRING *
03:48 dalek joined #parrot
03:48 bacek "Or we can move this flag into buffer. There is plenty of space there."
03:49 Andy ok, go on
03:49 bacek All buffers allocated with small header in front.
03:49 Andy We change from the STRING being COWable to the Buffer being COWable?
03:49 bacek Check pobj.h
03:49 bacek no.
03:49 bacek Ok.
03:49 bacek Wrong dictionary.
03:50 bacek STRING and Buffer consists of GC-able header and storage behind.
03:50 Andy strappy
03:50 bacek Allocated "storage" has additional header in front.
03:50 Andy right
03:50 Andy storage being Buffer
03:51 bacek It referenced as "ref_count" in pobj.h but it's actually not.
03:51 bacek Currently there is only on flag in storage header - Buffer_moved_FLAG.
03:51 bacek We can easily move "PObj_COW_FLAG" inside of allocated storage.
03:52 Andy ok
03:52 bacek Then only one non-const method will be gc_STRING_mark.
03:52 bacek Which updates PObj.flags
03:53 Andy Does anything that's not a STRING use PObj_COW_FLAG?
03:53 bacek C<Buffer>
03:53 Andy and STRING is a "subclass" struct of Buffer
03:53 bacek yes
03:54 Andy well, i'm all for it.
03:54 dukeleto loading core .pbc's from the embed interface doesn't seem to work
03:54 bacek Andy, I'll try to move "COW" flag later tonight.
03:54 Andy ok
03:55 bacek And if can lie compiler a little bit in gc_string_mark we can make all STRING* constant :)
03:55 Andy but that's playing with fire
03:56 Andy because the compiler can make assumptions based on const
03:56 bacek yes
03:56 Andy Wouldn't you need to also move the is_COWable flag?
03:56 bacek Nope
03:57 bacek We do need it in Buffer.
03:57 bacek Because "storage" can be allocated from system memory or constant segment without "storage header"
03:57 Andy ok
03:58 bacek But I will rename it into something like "is_shareable"
03:58 Andy the COW flag is going to go from one bit in the PObj header to a UINTVAL in the Buffer?
03:58 Andy or are you gonna set up bitflags in the Buffer too
03:58 bacek Yes
03:58 dukeleto anybody know what is going on here?
03:59 bacek No, I mis-read
03:59 dukeleto http://gist.github.com/377451
03:59 bacek COW flag going inside allocated storage. Next to Buffer_moved_FLAG
03:59 sorear dukeleto: Sanity check: Are you on Windows?
04:00 dukeleto that is on trunk (r45965) on ubuntu 9.10
04:00 Andy oooh, all the way that far down
04:00 dukeleto sorear: the answer to that question is always no :)
04:00 bacek Andy, yes :)
04:01 sorear dukeleto: why?
04:01 sorear those memory addresses are quite bizarre for linux.
04:01 sorear mmap must be sick
04:01 Andy so is ref_count not actually a ref_count
04:02 Coke (kill it) need to convert t/compilers/json to use data_json first. Despite the label on the tin, it's not a dropin replacement.
04:02 dukeleto sorear: http://github.com/leto/plpar​rot/blob/security/plparrot.c is the code that generates that error
04:03 dukeleto sorear: search for Parrot_load_bytecode
04:03 dukeleto sorear: i don't think loading core pbc's works for embedded apps
04:03 bacek Andy, yes. There is some leftovers in move_one_buffer. But we check only Buffer_moved_FLAG actually.
04:03 dukeleto sorear: load_bytecode 'P6object.pbc' does not work for embedded apps, as far as I can see
04:03 Andy so ref_count is bitflags anyway.
04:04 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33419), fulltest) at r45967 - Ubuntu 10.04 RC i386 (gcc with --optimize)
04:04 mikehh in testf: t/op/exit.t - TODO passed:   6
04:05 Coke mikehh: saw that also.
04:07 nopaste "bacek" at 192.168.1.3 pasted "Andy, patch for move_one_buffer. I'm going to commit it after test." (87 lines) at http://nopaste.snit.ch/20351
04:08 nopaste "coke" at 192.168.1.3 pasted "This dies" (11 lines) at http://nopaste.snit.ch/20352
04:08 dukeleto sorear: sorry, that backtrace was on OS X
04:09 dukeleto sorear: i am going to try that code on ubuntu now
04:09 Coke bah, missed the .'compile' call.
04:09 janus joined #parrot
04:10 Coke ah, great, json and data_json don't even behave the same way.
04:10 Coke whee.
04:11 bacek afk # rl
04:12 Andy bacek: so you got the changes in place?
04:13 bacek Andy, I didn't move COW flag yet ;)
04:14 Coke urm. premature rant?
04:18 Andy hooboy do we need real dependencies. :-/
04:18 Coke wow. found uses of 'Array' still around.
04:19 Coke Andy: I'm sorry?
04:19 Andy automated at least
04:19 Coke that's the plan, yes.
04:21 Coke we're already verifying existing ones with checkdepend.pl - any improvements to that to make it more accurate appreciated, it'll be used to drive makedepend.pl sometime before 2.6
04:21 dalek parrot: r45968 | bacek++ | trunk/src/gc/alloc_resources.c:
04:21 dalek parrot: Rename ref_count into flags in move_one_buffer to reduce
04:21 dalek parrot: mis-understanding of actual semantics.
04:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45968/
04:21 dalek parrot: r45969 | petdance++ | trunk/src/string/encoding/fixed_8.c:
04:21 dalek parrot: change arg name
04:21 purl dalek: that doesn't look right
04:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45969/
04:22 Andy Coke: Huh, i didn't know that had all happened.  us++
04:22 davidfetter joined #parrot
04:23 Andy My specific bummer was a fresh Configure followed by make src/string/charset/unicode.o failed because it couldn't find vtable.h
04:29 dalek plparrot: 5b2de1e | dukeleto++ | README.plparrot:
04:29 dalek plparrot: Add not to README about the postgresql-server-dev-X package
04:29 dalek plparrot: review: http://github.com/leto/plparrot/commit/5​b2de1eb4a7f6444191df5cc79644f4f11c7651a
04:30 dukeleto plparrot.c:309: warning: implicit declaration of function ?Parrot_load_bytecode?
04:30 dukeleto that seems bad
04:30 dukeleto the question marks are due to pasting-charset-badness
04:31 dukeleto but shouldn't Parrot_load_bytecode be accessible from embed? it is documented and all that jazz
04:31 Andy how do you build plparrot.c
04:32 Coke unicode.o require vtable.h ?
04:32 Coke *where does
04:32 Coke (and is it complained about in tools/dev/checkdepend.pl ?)
04:33 Andy Coke: I don't know.
04:34 dukeleto Andy: with this: http://github.com/leto/plpa​rrot/blob/security/Makefile
04:34 Andy so are you including packfile.h?
04:38 dalek parrot: r45970 | petdance++ | trunk/src/string/charset/unicode.c:
04:38 dalek parrot: unuse the interp
04:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45970/
04:38 dalek parrot: r45971 | coke++ | trunk/MANIFEST.generated:
04:38 dalek parrot: compilers/nqp no longer exists, we can't install it.
04:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45971/
04:38 dalek parrot: r45972 | coke++ | trunk (13 files):
04:38 dalek parrot: Eliminate redundant compilers/json (Close TT #1461)
04:38 dalek parrot: Convert most remaining usage to data_json (See #1579 for a holdout)
04:38 dalek parrot: Convert json tests to be data_json tests and actually RUN them.
04:38 dalek parrot:   They haven't been running for some time now.
04:38 dalek parrot:   Fix JSON.pir so it works again.
04:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45972/
04:39 dukeleto Andy: nope
04:40 dalek TT #1579 created by coke++: examples/nci/xlibtest.pir out of date
04:40 dalek TT #1579: http://trac.parrot.org/parrot/ticket/1579
04:40 dalek TT #1461 closed by coke++: compilers/json
04:40 Andy You need to.
04:40 dalek TT #1461: http://trac.parrot.org/parrot/ticket/1461
04:40 dukeleto Andy: that file includes parrot/parrot.h
04:41 Andy ok
04:41 sorear How does the Parrot extension procedure work on systems without a working libdl?
04:41 dukeleto Andy: and it blows up when I include it, since it has lots of internals stuff that is not happy
04:42 Andy well, that's where the definition for Parrot_load_bytecode is
04:42 Andy should it be in a different header?
04:42 sorear purl, dalek?
04:42 purl i guess dalek is #parrot's spammy little rss bot or (see: dalek plugins)
04:42 dukeleto Andy: i am thinking in embed.h or extend.h
04:42 sorear purl, dalek plugins?
04:42 purl well, dalek plugins is http://github.com/Infinoid​/dalek-plugins/tree/master
04:43 Andy pick one and I'll make it happen
04:43 dukeleto Andy: it is talked about in docs/embed.pod
04:43 dukeleto Andy: so I go for embed.h
04:44 dukeleto docs/extend.pod may be the sorriest POD file in the Parrot codebase right now
04:44 dukeleto Andy++ # thanks for putting Parrot_load_bytecode somewhere that embedders can get at it
04:45 Andy dukeleto: don't thank me yet, I hvaen't done it
04:45 Andy not sure how I wanna do this
04:46 dukeleto Andy: may the force be with you
04:46 Andy I'm almost thinking we need a load.c
04:46 Andy for the Parrot_load_*
04:47 dukeleto Andy: and then embed.h would include parrot/load.h ?
04:47 Andy mmm, mauybe not
04:49 Andy I wonder if the headerizer can handle multiple HFILEs
04:52 dalek blizkost: ef6f0be | sorear++ |  (5 files):
04:52 dalek blizkost: Add preliminary support for hash iterators
04:52 dalek blizkost: Untested, as I accidentally installed a Perl without MULTIPLICITY,
04:52 dalek blizkost: and Blizkost hasn't been made clean for that yet.
04:52 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​ef6f0bee3a8ece69a1f7ced0a62856b00818735a
04:52 dalek blizkost: a89e71d | sorear++ | build/src/pmc/Makefile.in:
04:52 dalek blizkost: Fix build with Perl 5.12
04:52 dalek blizkost: This involved gutting our existing logic for guessing the path to libperl.so,
04:52 dalek blizkost: and replacing it with a direct perl interrogation call which has been available
04:52 dalek blizkost: since Perl 5.003007.
04:52 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​a89e71d83adafebd319e035ff1e371420ebe147a
04:53 Andy oh man, embed.h doesn't even get pulled into the headerizer
04:55 dalek TT #1580 created by coke++: gziphandle PMC
04:55 dalek TT #1580: http://trac.parrot.org/parrot/ticket/1580
04:55 dalek TT #1581 created by coke++: GC_SYS_NAME option to interpinfo_s_i
04:55 dalek TT #1581: http://trac.parrot.org/parrot/ticket/1581
04:55 dalek TT #1582 created by coke++: NCI_FB_CB and NCI_FB_UD in iglobals
04:55 dalek TT #1582: http://trac.parrot.org/parrot/ticket/1582
04:55 dalek TT #1583 created by coke++: loadlib_p_s_p
04:55 dalek TT #1583: http://trac.parrot.org/parrot/ticket/1583
04:55 dalek TT #1584 created by coke++: STRING Out parameters in Parrot_str_* functions
04:56 dalek TT #1584: http://trac.parrot.org/parrot/ticket/1584
04:56 dalek TT #1585 created by coke++: rename STRING_is_null to Parrot_str_is_null
04:56 dalek TT #1585: http://trac.parrot.org/parrot/ticket/1585
04:56 dalek TT #1586 created by coke++: rename Parrot_string_cstring to Parrot_str_cstring
04:56 dalek TT #1586: http://trac.parrot.org/parrot/ticket/1586
04:56 dalek TT #1587 created by coke++: delete Parrot_PMC_* from  src/extend.c
04:56 dalek TT #1587: http://trac.parrot.org/parrot/ticket/1587
04:56 dalek TT #1588 created by coke++: Parrot_VTABLE, Parrot_get_vtable, Parrot_PMC_set_vtable
04:56 dalek TT #1588: http://trac.parrot.org/parrot/ticket/1588
04:57 dukeleto holy Trac tickets, batman!
04:58 sorear I was wondering what happened to dalek.
04:58 dukeleto I think coke++ it attempting to Denial-Of-Service dalek via Trac tickets
04:59 dukeleto s/it/is/
05:00 Coke ok. DEPRECATED.pod is back in shape. mostly.
05:00 Coke please stop doing that, whoever it is. =-)
05:00 rurban_ joined #parrot
05:00 dukeleto rurban_: howdy
05:00 purl salut, dukeleto.
05:06 sorear Yikes.
05:06 sorear The Parrot PBC search path has . at the front.
05:06 Coke joined #parrot
05:06 sorear I just ran parrot-nqp while browsing the NQP sources
05:06 sorear specifically, a stale build tree
05:07 sorear parrot aborted, since ./P6Regex.pbc existed and had incompatible version bits
05:07 sorear is this really desirable behavior?
05:07 Andy dukeleto: svn up and get the new embed.h
05:07 sorear what if I start sending around directories with malicious P6Regex.pbc files in them and wait for somebody to run an NQP-based program?
05:08 Coke sorear: if it's a stale build tree... does the same thing happen in a not-stale tree?
05:08 dukeleto sorear: darn you. is $PWD before the core directories in the search path?
05:08 sorear dukeleto: yes
05:09 Coke what is src/gc/gc_info.c ?
05:09 sorear Coke: I see no reason why it wouldn't
05:10 dukeleto sorear: i only load P6object.pbc once, when the postgres module is loaded, before any stored procedures are executed
05:10 dukeleto sorear: but that is a very good point
05:10 dalek parrot: r45973 | coke++ | trunk/DEPRECATED.pod:
05:10 dalek parrot: Remove items that refer to closed tickets, add tickets.
05:10 dalek parrot: Developers - when you add to this file, /please/ refer to a TT.
05:10 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45973/
05:10 dalek parrot: r45974 | petdance++ | trunk/include/parrot/embed.h:
05:10 dalek parrot: duplicate declaration for Parrot_load_bytecode
05:10 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45974/
05:10 sorear dukeleto: This isn't just a PL/parrot issue....
05:11 dukeleto sorear: yes, it goes for any 3rd party application that is embedding
05:11 sorear It goes for first party applications too.
05:12 dalek TT #754 reopened by coke++: Mark new cross-HLL export/import as "experimental" by pre-deprecating it
05:12 dalek TT #754: http://trac.parrot.org/parrot/ticket/754
05:12 sorear Specifically, any program anywhere which is implemented using (this includes shebanging rakudo, etc) PCT or other Parrot libraries
05:13 dukeleto sorear: describe the exact attack scenario you are thinking of
05:13 dukeleto Andy: thanks! I am building and testing it out now
05:17 sorear dukeleto: wait until Perl 6 hits the big time and users frequently run programs written in Perl 6.  Distribute tarballs with malicious PCT.pir files in them.
05:17 sorear People will unpack the tarballs, then, while cd'ed into them, unthinkingly run a program which is written in Perl 6
05:18 sorear parrot will resolve Rakudo's PCT dependency using the version in . as the first choice
05:18 sorear and voila, I've gotten them to run my code when they thought they were opening an editor to review my code
05:19 dukeleto sorear: so why is . before core in the search order?
05:19 sorear oh, you have an active sudo context?  rootkit time
05:19 sorear dukeleto: Why would I know?
05:20 dukeleto sorear: seems like core builtin PMCs, such as PCT.pbc or P6object.pbc, should not be loaded from .
05:21 sorear I would say any installed library
05:21 sorear Perl always has . last in @INC
05:21 sorear not first
05:22 sorear http://pastie.org/932669 - all of the stuff rakudo tries to find in . before core
05:22 ZeroForce joined #parrot
05:23 dukeleto Andy: no warning with new embed.h, but same coredump. Thanks, but my princess is in another castle :)
05:23 _shockwave joined #parrot
05:23 Andy Oh, I didn't mean for you to think that that would solve it. :-)
05:24 dukeleto Andy: a boy can hope
05:24 * dukeleto starts reading src/library.c
05:25 sorear dukeleto: Should I file a ticket for moving . to the end of the search path?
05:25 dalek parrot: r45975 | coke++ | trunk (3 files):
05:25 dalek parrot: Don't ignore .c files in this directory.
05:25 dalek parrot: (clean this info up in all 3 locations)
05:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45975/
05:25 dalek parrot: r45976 | coke++ | trunk/config/gen/makefiles/root.in:
05:25 dalek parrot: Track new dependencies added in r45966.
05:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45976/
05:25 dukeleto sorear: yes please
05:26 jsut joined #parrot
05:37 sorear does this count as a high-severity bug?
05:38 dukeleto sorear: sure
05:39 dukeleto the source to Parrot_load_bytecode seems wonky. it is not initializing *wo_ext or *ext before using them
05:39 dukeleto and then parrot_split_path_ext() coredumps
05:40 _shockwave purl pase
05:40 purl _shockwave: sorry...
05:40 _shockwave purl paste
05:40 purl rumour has it paste is (see: nopaste) or like glue but a little safer to sniff. or http://nopaste.snit.ch:8001/ or http://scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste or App::Nopaste or toxic for bots and humans
05:43 _shockwave It's taking long for the bot to recognize pastes :$
05:43 _shockwave http://nopaste.snit.ch/20354
05:43 _shockwave The question I pasted above is kind of lengthy, but the summary is that I can't find a method of a base class in a derrived class.
05:44 _shockwave I'll stand by for any info anyone has. Thanks.
05:44 dalek TT #1589 created by sorear++: Move . to the end of the library search path
05:44 dalek TT #1589: http://trac.parrot.org/parrot/ticket/1589
05:48 dukeleto _shockwave: do you have a small test case?
05:48 dukeleto _shockwave: hard to see what is going on without the source
05:50 _shockwave dukeleto, I have a test case. Though I don't promise it will be very clear.
05:50 dukeleto _shockwave: doesn't sounds promising
05:51 _shockwave I can paste what the actual test case looks like, and then you can ask me anything about it. :)
05:51 dukeleto _shockwave: small test cases leads to happiness
05:51 Coke dukeleto: seems like it would be simple to reproduce.
05:52 Coke just create a one line P6Regex.pir that says "BOO"
05:52 _shockwave dukeleto: http://nopaste.snit.ch/20355
05:53 dukeleto _shockwave: that doesn't look like PIR
05:54 * dukeleto -> sleep &
05:54 Coke _shockwave: I cannot duplicate your problem.
05:55 _shockwave The HLL source code, which is contained in the 'source' tag, is processed by my compiler and translated into PIR. The code in the 'proof' tag is PIR that's supposed to prove the code in the 'source' tag.
05:55 _shockwave Coke, I can give you the whole classes
05:55 _shockwave For the Object, Collection, CollectionItr, and Array.
05:56 sorear {
05:56 sorear ...
05:56 sorear CATCH { ... }
05:56 sorear }
05:56 sorear
05:56 sorear %var{$foo} = 1;
05:56 _shockwave The test case above has an example of how to create an instance of the array class.
05:56 sorear % is parsed infix
05:56 sorear bug?
05:56 purl bug is probably me being lazy
05:56 sorear (NQP)
05:56 sorear -RX
05:57 nopaste "coke" at 192.168.1.3 pasted "this doesn't print evl." (12 lines) at http://nopaste.snit.ch/20356
05:57 Coke _shockwave: I don't want a bunch of code that isn't in PIR.
05:57 Coke you're trying to prove that load_bytecode is buggy. just use that.
05:57 Coke check out my nopaste there.
05:58 _shockwave Coke, I don't want it to be buggy. That doesn't help me.
05:58 Coke ... check out my PIR.
05:58 Coke that PIR does not load the load P6Regex.pbc
05:58 Coke load the *local
05:59 _shockwave No, No. This isn't about load_bytecode.
05:59 _shockwave This is just related to how I coded the Array class.
05:59 Coke how are you loading P6Regex?
06:00 Coke (I'm talking about TT #1589 that you just opened.)
06:00 sorear excuse me
06:00 _shockwave I opened no ticket.
06:00 sorear _I_ opened 1589
06:00 dalek blizkost: a0bd505 | sorear++ | nt/iterator.t:
06:00 dalek blizkost: Add tests for hash iteration
06:00 dalek blizkost: Amazingly, the actual code works fine.
06:00 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​a0bd505739f8a86debd6856f1044ad2cd546363d
06:00 _shockwave ah
06:00 Coke there's my confusion!
06:00 Coke _shockwave: ignore me.
06:01 Coke sorear: ... that was all for you, then. =-)
06:01 _shockwave But... I still don't know how to ... :(
06:03 Coke _shockwave: I'm about to head to bed. WAG: try adding :nsentry to your :method.
06:03 Coke sorear: if you can add a small PIR snippet like mine that reproduces your issue to the ticket, that would be most helpful.
06:03 _shockwave Coke, thanks for the tip.
06:03 sorear yes
06:07 sorear Coke: ./parrot?
06:08 sorear why do you have a parrot binary in your lab dir?
06:11 sorear Coke: Running the exact code you pasted, in a directory other than the one where Parrot is installed, prints EVIL
06:24 cotto How on earth did 48 messages just hit parrot-dev in the last 3 hours?
06:26 sorear I didn't see them.
06:27 cotto there are probably other lists mixed in.  I send all parrot stuff to the same folder.
06:34 dalek parrot: r45977 | gerd++ | trunk (2 files):
06:34 dalek parrot: add a reference to documentation in the tools/dev/mk_manifest_and_skip.pl file
06:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45977/
07:11 moritz good morning
07:11 purl Good Morning Mr Rogers
07:11 sorear hello
07:11 purl what's up, sorear.
07:25 JimmyZ joined #parrot
07:32 fperrad joined #parrot
07:41 fperrad ttbot
07:43 fperrad_ joined #parrot
07:59 bacek taptinder?
07:59 purl taptinder is software development tool - http://taptinder.org . For Parrot project running on http://tt.perl6.cz/ and reporting build failures to #parrot channel as ttbot.
07:59 bacek fperrad, see
08:00 moritz purl: ttbot is see also: taptinder
08:00 purl ...but ttbot is TapTinder build bot owned by mj41 and reporting http://tt.taptinder.org/bui​ldstatus/pr-Parrot/rp-trunk build errors....
08:00 bacek purl, no, taptinder is continues integration build tool - http://taptinder.org . For Parrot project running on http://tt.perl6.cz/ and reporting build failures to #parrot channel as ttbot.
08:00 purl okay, bacek.
08:00 fperrad hi bacek
08:01 bacek aloha fperrad
08:01 bacek purl, ttbot is also see taptinder
08:01 purl okay, bacek.
08:01 bacek ttbot?
08:01 purl ttbot is probably TapTinder build bot owned by mj41 and reporting http://tt.taptinder.org/bui​ldstatus/pr-Parrot/rp-trunk build errors. or see taptinder
08:07 bacek fperrad, http://identi.ca/notice/29709186 :)
08:07 iblechbot joined #parrot
08:08 moritz lol
08:09 fperrad currently, no answer :)
08:10 fperrad bacek, many languages still use nqp (like squaak in parrot tree), the migration nqp to nqp-rx is not trivial
08:11 moritz what's hard about it?
08:11 moritz the error messages for syntax that's now stricter than before?
08:12 bacek fperrad, hmm... They are not covered in our testsuite...
08:12 bacek And it's _really_ bad.
08:14 bacek fperrad, hang on. There is no squaak in parrot tree.
08:15 bacek My ./languages directory is perfectly empty
08:15 fperrad bacek, see in examples/languages/squaak
08:16 bacek fperrad, oookey.
08:16 * bacek firing vim to fix squaak
08:17 bacek sigh...
08:17 purl there's no crying in perl programming!
08:17 fperrad bacek, see TT#1319
08:17 bacek make examples_test still passing.
08:20 bacek holy...
08:20 bacek Is squaak still build by "make all"?
08:22 fperrad bacek, no
08:22 NotFound There is a bug manifested by json tests. Parrot_str_to_int can't handle PARROT_INTVAL_MIN... fixing.
08:23 bacek fperrad, sigh...
08:24 bacek "squaak" was one of mine main reason to look at parrot.
08:25 bacek cc -o installable_squaak squaak.o /home/bacek/src/parrot/src/install_config.o -Wl,-rpath=/usr/local/lib -L/home/bacek/src/parrot/blib/lib -lparrot -Wl,-E  -fstack-protector -L/usr/local/lib -Wl,-E -ldl -lm -lpthread -lcrypt -lrt -lgmp -lreadline   -lm   -L/usr/lib  -licuuc -licudata  -lm
08:25 bacek cc: /home/bacek/src/parrot/src/install_config.o: No such file or directory
08:25 bacek fperrad, what is "install_config.o"?
08:27 fperrad bacek,
08:27 fperrad $ make installable
08:27 fperrad $ cd examples && cd languages && cd squaak && parrot setup.pir clean build install
08:28 bacek fperrad, thanks. I wasn't aware about "installable" target
08:34 bacek fperrad, test passed in squaak at r45979. We still have to put it into main testsuite.
08:36 fperrad bacek, I wrote GzipHandle PMC (in src/dynpmc) with some allocation for copy of string (STRING -> C string),
08:36 fperrad is it possible to do better now with immutable string ?
08:37 bacek fperrad, let me check
08:38 bacek (anyway, I don't think so. We are still compacting string pool. So, if you want to use "raw char*" it's better to Parrot_str_pin string before and unpin it after)
08:39 bacek (and "immutable strings" mean "immutable string header" from technical POV)
08:42 dalek parrot: r45978 | NotFound++ | trunk/src/string/api.c:
08:42 dalek parrot: fix Parrot_str_to_int to deal with PARROT_INTVAL_MIN
08:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45978/
08:42 dalek parrot: r45979 | NotFound++ | trunk/t/compilers/data_json/from_parrot.t:
08:42 dalek parrot: fix typo
08:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45979/
08:42 dalek parrot: r45980 | bacek++ | trunk/examples/languages/squaak (2 files):
08:42 dalek parrot: Update squuak to modern parrot. fperrad++ for mention it. testsuite-- for doesn't cover it
08:42 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45980/
08:52 bacek fperrad, you just brought interesting idea about weird optimisation of Parrot_str_to_cstring into my mind...
08:59 dalek TT #1579 closed by NotFound++: examples/nci/xlibtest.pir out of date
08:59 dalek TT #1579: http://trac.parrot.org/parrot/ticket/1579
08:59 dalek parrot: r45981 | NotFound++ | trunk/examples/nci/xlibtest.pir:
08:59 dalek parrot: update example xlibtest to use data_json, TT #1579
08:59 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45981/
09:08 JimmyZ joined #parrot
09:25 sorear Are imcc parse error messages known to have the wrong line numbers?
09:41 _shockwave Can a :multi sub also have the :member modifier?
10:04 jan_ joined #parrot
10:05 dalek blizkost: 995adc3 | sorear++ |  (2 files):
10:05 dalek blizkost: Implement get_exports method
10:05 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​995adc303070adf3db9927eba6dce0231a5816e1
10:08 _shockwave purl paste
10:08 purl rumour has it paste is (see: nopaste) or like glue but a little safer to sniff. or http://nopaste.snit.ch:8001/ or http://scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste or App::Nopaste or toxic for bots and humans
10:09 nopaste "_shockwave" at 192.168.1.3 pasted "method not found error." (63 lines) at http://nopaste.snit.ch/20358
10:09 _shockwave The paste above is a test case for a problem I have.
10:09 _shockwave I'm getting a 'No applicable methods.' found error.
10:10 _shockwave The main sub is at the bottom of the paste.
10:11 sorear Bah
10:11 sorear Tk doesn't build on 5.12
10:15 sorear oh I see
10:15 sorear it's fixed in the betas
10:15 sorear last stable release = 3 years ago
10:15 sorear bugfixes shouldn't have beta versions :(
10:16 _shockwave If anyone has any ideas about the problem I mentioned, please holler.
10:46 sorear NQP now has Tk support
10:48 dalek blizkost: 2646d55 | sorear++ | examples/tk.pl:
10:48 dalek blizkost: Make the Tk example WORK!
10:48 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​2646d5542035eb873fbf792f31797d17faf253f5
10:58 elmex joined #parrot
11:20 JimmyZ joined #parrot
11:23 JimmyZ clock?
11:23 purl JimmyZ: LAX: Sat 4:23am PDT / CHI: Sat 6:23am CDT / NYC: Sat 7:23am EDT / LON: Sat 12:23pm BST / BER: Sat 1:23pm CEST / IND: Sat 4:53pm IST / TOK: Sat 8:23pm JST / SYD: Sat 9:23pm EST /
11:31 khairul joined #parrot
11:58 dalek parrot: r45982 | NotFound++ | trunk/tools/util/parrot-config.pir:
11:58 dalek parrot: multiple keys in parrot_config, TT #626
11:58 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45982/
12:20 joeri joined #parrot
12:48 fperrad joined #parrot
12:50 Mokurai1 joined #parrot
12:51 NotFound http://trac.parrot.org/par​rot/ticket/1176#comment:15 --> This is spam
12:55 NotFound Deleted
13:00 rurban_ joined #parrot
13:02 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#33427), fulltest) at r45982 - Ubuntu 10.04 RC i386 (g++ with --optimize)
13:02 mikehh in testf: t/op/exit.t - TODO passed:   6
13:11 dalek parrot: r45983 | fperrad++ | trunk/src/pmc/os.pmc:
13:11 dalek parrot: [pmc] implement OS.chmod()
13:11 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45983/
13:12 dalek rakudo: ae0c2d4 | jonathan++ | build/Makefile.in:
13:12 dalek rakudo: Pull subset implementation a little earlier in the bootstrap, so we can define subset types in the core setting.
13:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​e0c2d462f816285656e3fb0abe57fe6c2e2f94d
13:12 dalek rakudo: c866154 | jonathan++ | src/ (2 files):
13:12 dalek rakudo: Move time to core setting.
13:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​866154f601575818b4004f8be57b74c89c90575
13:12 dalek rakudo: de2ad34 | jonathan++ | src/core/Mu.pm:
13:12 dalek rakudo: Initial port of WALK from alpha. Passes some of the tests; think those that fail are not due to an issue in WALK itself. Also add the Matcher subset type.
13:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​e2ad341b279e0ece8b9d6c510be44e832f0986f
13:22 plobsing joined #parrot
13:27 dalek TT #1322 closed by fperrad++: [RFC] OS.chmod & FileHandle.fchmod
13:27 dalek TT #1322: http://trac.parrot.org/parrot/ticket/1322
13:29 dalek parrot: r45984 | fperrad++ | trunk/runtime/parrot/library (2 files):
13:29 dalek parrot: [distutils) refactor chmod with OS.chmod
13:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45984/
13:36 Coke ls
13:36 moritz no such file or directory
13:38 Coke $%^&*(
13:50 iblechbot joined #parrot
13:58 dalek joined #parrot
14:14 patspam joined #parrot
14:27 bakkdoor joined #parrot
14:29 patspam joined #parrot
14:32 * mikehh got to reboot - bbl
14:43 mikehh joined #parrot
14:48 dalek parrot: r45985 | NotFound++ | trunk (2 files):
14:48 dalek parrot: get_class_p_s and get_class_p_p return PMCNULL on NULL argument, TT #1107
14:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45985/
15:21 dalek parrot: r45986 | NotFound++ | trunk/lib/Parrot/Pmc2c/PMCEmitter.pm:
15:21 dalek parrot: unconst multi_func_list in C code generated from .pmc, TT #652
15:21 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45986/
15:26 TiMBuS joined #parrot
15:49 jhelwig_ joined #parrot
15:54 dalek parrot: r45987 | fperrad++ | trunk/runtime/parrot/library/Test (3 files):
15:54 dalek parrot: [Test/More] diag() with multi arguments
15:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45987/
15:54 dalek parrot: r45988 | fperrad++ | trunk/t/pmc/bigint.t:
15:54 dalek parrot: refactor with diag()
15:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45988/
15:56 tetragon joined #parrot
16:03 patspam joined #parrot
16:35 hudnix joined #parrot
16:36 theory joined #parrot
16:40 ZeroForce joined #parrot
16:49 jsut_ joined #parrot
16:50 patspam joined #parrot
16:55 arnsholt Is there a way to get 'get_hll_global %r, [], "name"' using PAST::Var?
16:56 arnsholt PAST::Var.new(:namespace(), ...) just gives me 'get_hll_global %r, "name"'
16:56 arnsholt I can get what I want with PAST::Op(:inline), but I'd rather avoid that...
17:15 moritz maybe :global instead of :namespace (or something like that)?
17:15 dalek parrot: r45989 | fperrad++ | trunk/tools/install/smoke.pl:
17:15 dalek parrot: [install] nqp is gone with r45953
17:15 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45989/
17:16 moritz probably not
17:38 dalek TT #1101 closed by NotFound++: Potential memory corruption caused by faulty cloning of ...
17:38 dalek TT #1101: http://trac.parrot.org/parrot/ticket/1101
17:38 dukeleto what is the difference between :immediate, :load, and :init ?
17:48 dalek parrot: r45990 | NotFound++ | trunk/src/pmc/resizablefloatarray.pmc:
17:48 dalek parrot: fix RFA.clone, TT #1101 kurahaupo++
17:48 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45990/
17:58 mikehh joined #parrot
17:58 NotFound dukeleto: :immediate is executed during pir compiling, :load when load_bytecoded and :init when run as main program
18:05 dalek parrot: r45991 | NotFound++ | trunk/src/pmc/fixedfloatarray.pmc:
18:05 dalek parrot: clean FPA.clone
18:05 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45991/
18:10 mikehh BTW the docs at www.parrot.org are reported as 2.1.1
18:15 dukeleto NotFound++ # thanks for explaining that
18:27 dalek TT #1590 created by dukeleto++: Coredump in load_bytecode when embedding
18:27 dalek TT #1590: http://trac.parrot.org/parrot/ticket/1590
18:38 NotFound dukeleto: Parrot_load_bytecode wants a STRING*, not a C string
18:38 dalek parrot: r45992 | NotFound++ | trunk/src/pmc/fixedintegerarray.pmc:
18:38 dalek parrot: clean FIA.clone
18:38 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45992/
18:38 NotFound Uh.... wait.
18:38 NotFound docs/embed.pod is wrong
18:43 dukeleto NotFound: how?
18:43 dukeleto NotFound: and that is not surprising :)
18:43 NotFound dukeleto: the argument must be a parrot string
18:43 dukeleto NotFound: !!!!!
18:43 dukeleto NotFound: that would do it
18:44 dukeleto how does one tell which tests are part of coretest?
18:44 NotFound And that function, or an equivalent, must be exposed in extern.h
18:45 dukeleto NotFound: huh? Parrot_load_bytecode got added to embed.h last night, by Andy++
18:45 dukeleto it would be nice if there was a way to print out all tests that are part of coretest, instead of having to go code spelunking
18:46 NotFound dukeleto: then it must be avoided in packfile.h, redundant declarations just add confusion.
18:46 dukeleto it is hard to remember which tests can assume PGE is built, and which can't
18:47 dukeleto NotFound: Andy++ did some magic. that is all I know.
18:47 NotFound dukeleto: but in that case, you must have a big warning in that failure.
18:47 NotFound Please don't tell me that you never look at warnings ;)
18:48 dukeleto NotFound: i "look" at them. Whether I care depends on the time of day and how much alcohol and/or coffee is involved
18:49 dalek rakudo: a7f317d | (Martin Berends)++ | src/core/Temporal.pm:
18:49 dalek rakudo: [core/Temporal.pm] merge in the nicer-strftime branch hash-of-closures in strftime() in a way that works with current master
18:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​7f317d2fb50eaa4896d0713c44e424a21bb8669
18:49 dalek rakudo: 06fe9a7 | (Solomon Foster)++ | t/spectest.data:
18:49 dalek rakudo: Turn on S03-operators/reduce-le1arg.t.
18:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​6fe9a7452d03083374cb92aeb3e0e8c4ece9ab5
18:49 dalek rakudo: 884c3c0 | (Solomon Foster)++ | src/core/metaops.pm:
18:49 dalek rakudo: Add version of notresults which takes an operator type but no operands and always returns Bool::True.  Add zero-arg versions of <, <=, >, >=, and eqv.
18:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​84c3c06248ced56f9c86ff60b039e96e105e58a
18:49 dalek rakudo: 1e71b81 | (Solomon Foster)++ | src/c (4 files):
18:49 dalek rakudo: Move a bunch of operators from num-ops.pir and str-ops.pir to operators.pm.  Add no-arguments versions of some of them as well.
18:49 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​e71b81b6097f7efa2ee781ce71ea7a8cf5fafed
18:49 NotFound I don't know how much coffe I alrady drunk today, probably too much ;)
18:51 dukeleto NotFound: I still get the same coredump if I give Parrot_load_bytecode a Parrot_String
18:53 dukeleto NotFound: i am not creating a dummy packfile. that is probably the error
18:54 NotFound dukeleto: mmmm... maybe, but I don't think it must segfault in that place because of that.
18:54 dalek parrot: r45993 | dukeleto++ | trunk/t/oo/vtableoverride.t:
18:54 dalek parrot: [TT #992] Committing a test for invalid :vtable methods that now passes since the TT was reported
18:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45993/
18:54 dalek parrot: r45994 | NotFound++ | trunk/docs/embed.pod:
18:54 dalek parrot: fix load_bytecode signature in embed.pod
18:54 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45994/
18:55 dukeleto NotFound: darn, you beat me :)
18:55 NotFound Easy karma ;)
18:57 NotFound dukeleto: I can't help with that, don't have postgres installed.
18:58 dukeleto NotFound: I will try to make a small test case. I don't think the error is Postgres or PL/Parrot specific
18:58 dukeleto NotFound: but I will make the dummy packfile and see if that does it
19:01 dalek TT #992 closed by dukeleto++: Memory errors when evaling invalid :vtable methods in a namespace
19:01 dalek TT #992: http://trac.parrot.org/parrot/ticket/992
19:03 dukeleto PackFile_new_dummy is not in embed.h nor extend.h
19:09 NotFound dukeleto: Parrot_compile_string calls it if needed, anyway.
19:10 Khisanth joined #parrot
19:11 dukeleto NotFound: yes, i see that. It can't seem to find built-in pbc's, like P6object.pbc
19:12 dukeleto NotFound: i get "load_bytecode" couldn't find file 'P6object.pbc'
19:13 NotFound That's much better that segfaulting :)
19:14 NotFound dukeleto: Are you using an installed parrot, or in tree?
19:16 dukeleto NotFound: installed parrot
19:18 dukeleto NotFound: attempting to .include "P6object.pir" coredumps in Parrot_pcc_invoke_from_sig_object
19:18 dukeleto FUN FUN FUN
19:18 purl And she'll have fun, fun, fun, 'til her daddy takes the T-bird away
19:18 dalek TT #1591 created by dukeleto++: PackFile_new_dummy is not in embed.h nor extend.h
19:18 dalek TT #1591: http://trac.parrot.org/parrot/ticket/1591
19:21 Mokurai2 joined #parrot
19:24 Khisanth joined #parrot
19:35 dalek TT #1590 closed by dukeleto++: Coredump in load_bytecode when embedding
19:35 dalek TT #1590: http://trac.parrot.org/parrot/ticket/1590
19:42 dalek rakudo: 4bf985c | (Solomon Foster)++ | src/core/metaops.pm:
19:42 dalek rakudo: Delete a number of commented out zero-arg operators that we don't need because notreduce handles them.  Uncomment infix:<before> and infix:<after>.
19:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​bf985c1e9f5d8754e879c538938778516fe258a
19:42 dalek rakudo: ea91882 | moritz++ | t/spectest.data:
19:42 dalek rakudo: re-enable a few test files; also throw one entry away where the test file was deleted
19:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​a91882ebc12fcd4b8c8f258cfc8fdaffe58af01
19:44 NotFound dukeleto: after a fix in r45995, loading P6object.pir works for me in an embeding test
19:44 NotFound I mean, P6object.pbc
19:45 dalek parrot: r45995 | NotFound++ | trunk/src/packfile.c:
19:45 dalek parrot: make sure initial_pf exists in PackFile_append_pbc
19:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45995/
20:10 Ryan52 joined #parrot
20:11 dalek rakudo: 73e8d42 | moritz++ |  (2 files):
20:11 dalek rakudo: implement samecase()
20:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​3e8d42cf493366464a60411fa59cd6601856b90
20:15 mikehh t/oo/vtableoverride.t FAILS in make corevm/make coretest (passes make test) - "load_bytecode" couldn't find file 'PGE.pbc' It has not been built at this stage
20:18 dalek parrot: r45996 | NotFound++ | trunk/examples/embed/cotorra.c:
20:18 dalek parrot: more options and some fixes in example cotorra
20:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45996/
20:54 NotFound mikehh: fixed
20:58 dalek TT #1592 created by NotFound++: t/op/io.t fails in non optimized build
20:58 dalek TT #1592: http://trac.parrot.org/parrot/ticket/1592
21:02 rurban_ joined #parrot
21:07 dalek parrot: r45997 | NotFound++ | trunk/t/oo/vtableoverride.t:
21:07 dalek parrot: allow test invalid_vtable to be used in coretest
21:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45997/
21:20 dalek rakudo: aa51358 | (Solomon Foster)++ | src/core/Co (2 files):
21:20 dalek rakudo: Add $base to exp proto, and make a version of Complex.exp which takes the $base argument.
21:20 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​a513580d4fc2f10cfc15dcad123b75586cabe96
21:26 dalek rakudo: 55a62ae | moritz++ | src/core/Grammar.pm:
21:26 dalek rakudo: fix Grammar.parsefail, patch by takadonet++
21:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​5a62aee795ae5ff5244c7a79c2350088018cdba
21:30 bakkdoor joined #parrot
21:37 dalek blizkost: 4a310c5 | sorear++ | Configure.pl:
21:37 dalek blizkost: Drop the dependence on Parrot gen_makefile.pl
21:37 dalek blizkost: This allows us to route configuration data from Configure.pl directly
21:37 dalek blizkost: into the Makefiles.
21:37 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​4a310c52d20c5d2b21e0c4ca3cde4d087095999b
22:07 bakkdoor joined #parrot
22:12 bacek o/
22:15 sorear so nobody in #parrot is excited about the fact that I can access Tk from NQP?
22:15 sorear wasn't there a TPF grant to make that happen not long ago?
22:15 tcurtis joined #parrot
22:18 NotFound Looks like people here only gets excited when someone write a long post about whatever the thing is ;)
22:25 sorear BUT I HAVE PRETTY PICTURES
22:27 tcurtis They also respond well to donuts.
22:28 NotFound Can I have one?
22:29 tcurtis A donut? Only if someone gives me two.
22:30 kid51 joined #parrot
22:31 sorear NotFound: http://qif3.kyla.fi/~stefanor/1272105680.png
22:33 NotFound sorear: nice.
22:34 nopaste "kid51" at 192.168.1.3 pasted "Failure in t/op/io.t" (27 lines) at http://nopaste.snit.ch/20362
22:34 NotFound But I also want the donut.
22:34 NotFound kid51: I've created a ticket about that.
22:35 kid51 NotFound:  Thanks.  I got the error, but had to go out for dinner before getting nopaste to respond properly.
22:36 kid51 Must have occurred since r45836, at least.
22:37 dalek blizkost: d5f00d1 | sorear++ |  (3 files):
22:37 dalek blizkost: Find Perl embedding options at configure time
22:37 dalek blizkost: This removes the dependency on command interpolation in makefiles, hopefully
22:37 dalek blizkost: unbreaking nmake, and is in any event a neccessary step towards supporting
22:37 dalek blizkost: compilation on non-default Perls.
22:37 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​d5f00d1f3d2c84b6d7b79cb039a65e7c9062dd93
22:37 NotFound kid51: looks like few people does non optimized builds these days.
22:38 sorear I do non optimized builds because that seems to be the only sane way to get debug symbols in dynpmcs
22:58 kid51 I'll bet it's r45961 that's the cause -- but am bisecting to confirm.
23:02 dalek parrot: r45998 | NotFound++ | trunk (7 files):
23:02 dalek parrot: allocate packfile fixups as array of structs instead of array of pointers to structs
23:02 dalek parrot: review: http://trac.parrot.org/parrot/changeset/45998/
23:05 kid51 dukeleto: ping
23:10 kid51 msg dukeleto Please take a look at http://trac.parrot.org/parrot/ticket/1592 Thanks.
23:10 purl Message for dukeleto stored.
23:11 kid51 Okay, point of failure identified; TT #1592 assigned.
23:23 NotFound That thing looks a little odd to me. If is legit to replace a core pmc with a class, and we allow to HLL map it, confusion is granted.
23:26 dalek rakudo: 4a1312a | jonathan++ | src/Perl6/Compiler/Package.pm:
23:26 dalek rakudo: First cut implementation of lexical classes; hard to know just how well it works yet for lack of tests.
23:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​a1312a20ad173cb392efc9b95b8188e0c272839
23:26 dalek rakudo: e393c7e | jonathan++ | t/spectest.data:
23:26 dalek rakudo: Turn on S12-class/lexical.t.
23:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​393c7efc56a17820d2de8bf6dc9700c0e4c553d
23:31 kid51 NotFound:  Confirmed that --optimize makes test PASS, but without it it FAILs

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

Parrot | source cross referenced