Camelia, the Perl 6 bug

IRC log for #parrot, 2009-04-17

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:08 amoc joined #parrot
00:09 bacek_ joined #parrot
00:09 AndyA joined #parrot
00:28 kid51_at_dinner rg:  Thanks for looking at those RTs.  I closed 3 of 4 and am soliciting final comments on the last.
00:28 Topic for #parrotis now Parrot 1.0 Released | http://parrot.org | 361 RTs left!
00:30 kid51 rg:  Just remember that when posting to RT, please toggle the cc-to-parrot-list link.  That will get your comments duped to list.  Thanks.
00:32 rg ah right. since I'm familiar with rt, i've overlooked it/assumed the list was set as admin-cc.
00:37 kid51 rg:  Are you submitting smolder reports for Solaris?
00:37 * kid51 vaguely remembers discussing that a couple of months back
00:37 rg not regularly atm. would you like me to?
00:38 kid51 Yes!
00:39 * kid51 starts his own smolder report ... but for Linux.
00:41 rg there are a couple of test failures for solaris/gcc
00:42 rg this includes the long-standing atan ieee bug that we found can be worked around for gcc, but not g++ and would probably best be fixed by implementing our own atan function
00:42 ruoso joined #parrot
00:42 rg how does parrot feel about code that has a non-pafo copyright?
00:44 kid51 I tend to think we're skeptical ... but I think allison, particle and coke are more knowledgeable about that.
00:44 rg it's a sun, "do whatever you want but keep the notice" copyright
00:45 rg i.e. i'd just grab the atan implementation from the library used by freebsd
00:46 allison rg: depends on the license, but generally we avoid adding non pafo code
00:46 allison rg: for the most part, we can't use code straight from other sources anyway, because Parrot is a unique codebase
00:48 rg allison: the alternative would be to use a wrapper that just picks out the (broken) special case(s), which imho would be ugly.
00:49 allison rg: I'd really rather not maintain an implementation of atan (our own or freebsd's)
00:50 allison rg: putting in handling for the known broken cases seems more sensible
00:50 allison rg: presumably, it will be fixed upstream at some point
00:51 rg well all that needs to be fixed would be gcc, but I don't see that happening, given that this problem existed for years and we've only recently figured out what needs to be done.
00:52 rg we being mainly (andy dougherty)++ ;)
00:52 * kid51 must get some exercise
01:11 rg cotto: ping?
01:51 cotto rg, pong
01:52 rg cotto: you have a bit of a copy&paste error in r38069: the documentation for nci_vVVV is that for nci_fff
01:54 cotto rg, it looks like many of the functions in src/nci_test.c have that problem.
01:55 cotto good catch, though.
01:56 rg they do? i've only checked the diff ;)
02:02 cotto I'm wondering if it'd be easier just to make an exception for function documentation in that file, since the functions are only used in one place.
02:04 Theory joined #parrot
02:28 eternaleye joined #parrot
02:35 janus joined #parrot
02:57 basic joined #parrot
02:58 allison joined #parrot
03:33 msmatsko joined #parrot
03:52 amoc joined #parrot
03:59 rg aieeeee. if i want to create a new vtable function, i'll have to change every object?
04:08 rg oh no, my bad
04:09 * rg should call it a day
04:20 mikehh_ joined #parrot
04:20 dalek joined #parrot
04:21 moritz joined #parrot
04:21 _Hunger joined #parrot
04:22 elmex joined #parrot
04:23 Maddingue joined #parrot
04:24 baest joined #parrot
04:35 uniejo joined #parrot
04:52 ilbot2 joined #parrot
04:52 Topic for #parrotis now Parrot 1.0 Released | http://parrot.org | 361 RTs left!
04:59 uniejo joined #parrot
05:15 Theory joined #parrot
05:15 tetragon joined #parrot
05:42 dalek rakudo: ab7e189 | pmichaud++ | docs/spectest-progress.csv:
05:42 dalek rakudo: spectest-progress.csv update: 362 files, 10357 passing, 0 failing
05:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​b7e18913f45277a423c1fa9ac94e6cba28e4e9f
05:42 shorten dalek's url is at http://xrl.us/bepbge
05:53 szabgab joined #parrot
06:24 wayland76 allison: did you delete the spec files from SVN as well?
06:25 allison wayland76: what's that?
06:25 purl That's the money you could be saving with Geico.
06:25 wayland76 Well, on my current revision...
06:25 wayland76 [wayland@rhys ports]$ find fedora
06:25 wayland76 fedora
06:25 wayland76 fedora/parrot.spec.fedora
06:26 wayland76 fedora/parrot.spec
06:26 wayland76 Is that just svn getting confused again?
06:26 allison wayland76: I deleted them from svn
06:26 allison what version of svn are you using?
06:26 wayland76 oh, wait...
06:26 allison (I just checked again to make sure)
06:27 wayland76 subversion-1.5.4-3.i386
06:27 wayland76 Fedora 10
06:28 wayland76 And it looks like it's getting confused.
06:30 wayland76 Or I am
06:31 wayland76 I wish filesystems had versioning built in by default :)
06:37 * cotto is looking forward to production-ready btrfs
06:37 allison wayland76: mmmm... I talked to someone who was working on that for OLPC a couple weeks ago, harder than it looks
06:38 allison waylayd76: but, I wish so too. Closest I've found is Dropbox
06:38 allison wayland76: and it's pretty nifty
06:38 allison cotto: aye, promising
06:39 * allison afk, sleep
06:59 flh joined #parrot
07:01 mj41 joined #parrot
07:06 amoc joined #parrot
07:14 iblechbot joined #parrot
07:16 Gerd joined #parrot
07:58 claes joined #parrot
08:03 cotto joined #parrot
08:36 cognominal joined #parrot
08:49 claes joined #parrot
09:22 TiMBuS joined #parrot
09:24 flh joined #parrot
09:49 AndyA joined #parrot
09:52 uniejo joined #parrot
09:52 wayland76 Anyone who knows something about dynext, and has the power to apply patches, could you have a look at https://trac.parrot.org/parrot/ticket/560 ?
10:03 bacek wayland76: you shouldn't poke into STRING* guts. There is Parrot_string_cstring function for it.
10:05 wayland76 I don't understand
10:05 wayland76 Which line are you referring to?
10:07 bacek src/dynext.c:634
10:11 wayland76 Ok.  I just nicked that code from somewhere else, and made it fit what I want to do :)
10:13 bacek :)
10:13 dalek parrot: r38169 | NotFound++ | trunk/tools/build/nativecall.pl:
10:13 dalek parrot: [cage] add an assertion for an unchecked assumption in nci
10:13 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38169/
10:13 bacek And there is very strange else/if in Parrot_path_str
10:14 wayland76 What, with the 0 == i in it?
10:17 bsdz joined #parrot
10:17 bacek else { if (..)
10:17 bacek line 817
10:21 wayland76 Oh, yes
10:21 wayland76 That's me not being sure what the C for "else if" was.  But I've used it recently, so I know now
10:21 wayland76 (I wrote most of this patch a month or so ago)
10:24 uniejo joined #parrot
10:37 bacek And there is Parrot_str_join exists somewhere...
10:41 Casan joined #parrot
10:53 dalek parrot: r38170 | NotFound++ | trunk/tools/build/nativecall.pl:
10:53 dalek parrot: [nci] check PMC_IS_NULL instead of NULL in build_call_func
10:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38170/
11:09 wayland76 In relation to the versioning file system comments, has anyone looked at http://www.wizbit.org/ ?
11:19 uniejo joined #parrot
11:22 dalek parrot: r38171 | NotFound++ | trunk/tools/build/nativecall.pl:
11:23 dalek parrot: [nci] one more PMC_IS_NULL instead of NULL in build_call_func
11:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38171/
11:23 dalek parrot: r38172 | bacek++ | trunk (35 files):
11:23 dalek parrot: Merged branch packfile_revamp into trunk.
11:23 dalek parrot: Changes from branch:
11:23 dalek parrot: * Regenerate t/native_pbc/*pbc
11:23 dalek parrot: * Add source for t/native_pbc/annotations.pbc
11:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38172/
11:24 bacek Infinoid: Oh... I forgot to mention that merging branch will require regenerating t/native_pbc/*pbc on all platforms...
11:26 bacek afk
12:03 cghene joined #parrot
12:07 dalek parrot: r38173 | NotFound++ | trunk/src/pmc (2 files):
12:07 dalek parrot: [cage] fix some const qualifiers in packfile pmcs
12:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38173/
12:14 claes joined #parrot
12:17 dalek parrot: r38174 | NotFound++ | trunk/src/string/encoding/ucs2.c:
12:17 dalek parrot: [cage] fix some misplaced ASSERT_ARGS
12:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38174/
12:24 uniejo joined #parrot
12:36 rg1 joined #parrot
12:37 ruoso joined #parrot
12:46 amoc joined #parrot
12:51 dalek parrot: r38175 | NotFound++ | trunk (7 files):
12:51 dalek parrot: [cage] update headerizing
12:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38175/
13:10 gryphon joined #parrot
13:23 wayland76 Question: what should I pass to Parrot_string_cstring as the first param?
13:24 wayland76 Is a SHIM_INTERP different than a PARROT_INTERP?
13:27 Infinoid SHIM_INTERP means the same as PARROT_INTERP but we don't actually use it right now.  You can change it to PARROT_INTERP and then pass interp to Parrot_string_cstring
13:27 Infinoid That stuff is documented in docs/dev/c_functions.pod
13:28 wayland76 Ok, I'll have a look there.  Thanks
13:34 NotFound wayland76: don't use Parrot_string_to_cstring unless you are sure that is a 8 bit encoded string
13:34 wayland76 OK.
13:35 wayland76 bacek told me before to use that instead of poking around in STRING internals
13:35 wayland76 He was complaining about dynext.c line 634 in https://trac.parrot.org/parrot/ticket/560
13:35 wayland76 Oops, https://trac.parrot.org/parrot/attachme​nt/ticket/560/parrot_libloading_2.patch
13:35 shorten wayland76's url is at http://xrl.us/bepb7n
13:35 NotFound wayland76: Parrot_str_to_cstring is the general purpose variant
13:37 rg1 bacek: you should have bumped PBC_COMPAT if the files are changed
13:38 NotFound wayland76: pass the parrot string instead of doing funny things with c strings
13:38 NotFound wayland76: use s
13:38 NotFound wayland76: use %Ss
13:38 wayland76 Oh, does that work?  Cool :)
13:40 wayland76 I'm presuming that's one '' for each that you mean
13:40 wayland76 argh :)
13:40 wayland76 I'll just presume it then
13:43 NotFound My irc client does funny things with %
13:48 wayland76 Mine too.
13:48 purl Mine too. are you approaching 1800 now?
13:49 wayland76 I'm using Konversation.  You?
13:52 NotFound wayland76: same here
13:52 wayland76 I'm using the SimPL font, but that shouldn't make a difference
13:52 wayland76 So we're probably seeing pretty much the same thing
14:10 Andy joined #parrot
14:11 bsdz joined #parrot
14:16 mikehh me too
14:21 Coke_afk AOL!
14:21 * Coke pops in for a moment.
14:28 wayland76 Andy: I see Rakudo.org has changed back to having the news on the front page
14:28 Andy OK.
14:28 wayland76 (I didn't do that)
14:29 wayland76 Was that you, or someone else?
14:43 Andy It was me.
14:50 wayland76 Ok.  Is there any chance we could have a link in the bar along the top which links to the other page?  Maybe "About" or something?
14:52 he joined #parrot
15:06 rg why would one want to compile (not link) parrot with a c++ compiler?
15:07 PerlJam rg: because that's the only compiler you have and it's mostly a superset of C?
15:07 Infinoid C++ compatibility is a good thing to have.
15:08 Infinoid Especially for embedders
15:09 rg compatibility is one thing, but compiling parrot is another.
15:10 Coke rg: it's not a goal, it's just a nice to have, IMO.
15:11 Coke so if someone provides a patch that makes us C++ compatibility, whee. If not. meh.
15:11 Coke s/ity/e/
15:11 Coke Infinoid++ # make depend
15:11 dalek parrot: r38176 | Infinoid++ | trunk/config (2 files):
15:12 dalek parrot: [cage] Add some missing Makefile dependencies.
15:12 dalek parrot: Without these, "make -j" was often failing to build core_ops.o and core_ops_{switch,cg,cgp}.o.
15:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38176/
15:12 dalek parrot: r38177 | Infinoid++ | trunk/MANIFEST:
15:12 dalek parrot: [cage] regenerate MANIFEST to include new files.
15:12 dalek parrot: Without this, t/native_pbc/annotations.pir was being deleted by "make realclean".
15:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38177/
15:12 Infinoid why is t/distro/file_metadata.t telling me to set svn:eol-style to native for t/native_pbc/annotations.pbc?  it's a binary file, svn barfs with "has inconsistent newlines" when I try to do that.
15:13 Coke because the file is stupid? checking.
15:14 Infinoid I think I need to set svn:mime-type to application/octet-stream, instead.  testing that
15:15 Coke yup, that's the fix.
15:15 Infinoid ok, that worked, now the test is skipping that file.
15:15 Coke Infinoid++
15:18 dalek parrot: r38178 | Infinoid++ | trunk/t (3 files):
15:18 dalek parrot: [cage] Fix up svn metadata for new files, remove some trailing whitespace.
15:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38178/
15:20 Infinoid bacek: I fixed up some "make codetest" failures from your branch merge.  One of the problems with adding files with git is, you then have to do an svn checkout to get the svn metadata stuff right.
15:22 dalek parrot: r38179 | Infinoid++ | trunk/t (2 files):
15:22 dalek parrot: [cage] Make pir_code_coda.t and svn_id.t happy.
15:22 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38179/
15:27 Infinoid hmm, I have a packfile-PMC-related test failure on mingw.
15:29 wayland76 Ok, I've updated my patch to https://trac.parrot.org/pa​rrot/ticket/560#comment:1
15:29 NotFound Check MANIFEST...No such file: t/native_pbc/annotations.pir
15:29 wayland76 Is it better?
15:29 Infinoid NotFound: r38177
15:30 NotFound $ svn up
15:30 NotFound Restored 't/native_pbc/annotations.pir'
15:30 NotFound $ make clean
15:30 NotFound (...)
15:31 NotFound $ svn up
15:31 NotFound Restored 't/native_pbc/annotations.pir'
15:31 Infinoid Maybe the contents of MANIFEST got copied somewhere else?  Try realclean.
15:31 NotFound Already done. From several releases ago
15:32 Infinoid hmm, you're right.
15:33 Infinoid odd, I tested that and it worked before I committed it
15:36 Coke did you realclean build and realclean?
15:36 Coke the old realclean would have removed it, no?
15:37 Infinoid I realcleaned, reverted the deletion, configured and realcleaned
15:37 Infinoid and I thought the file was still there.  But I must have been wrong.
15:37 Infinoid wow, "make test" takes forever on this poor old mingw box
15:39 Infinoid it's a summary rm within the "test-clean" rule
15:39 Infinoid Is there a better place to put that file?
15:39 amoc joined #parrot
15:40 Infinoid it's just removing t/*/*.pir
15:44 Infinoid msg bacek Your hardcoded path "/tmp/2.pir" in t/pmc/packfileannotationkeys.t isn't portable, it fails on mingw.
15:44 purl Message for bacek stored.
15:44 Infinoid $work time, back later
15:49 flh joined #parrot
16:01 barney joined #parrot
16:32 * barney created the issue http://github.com/bschmalh​ofer/pipp/issues/#issue/1
17:23 dalek pipp: 6dbfee7 | (Bernhard Schmalhofer)++ | docs/ (2 files):
17:23 dalek pipp: mention github issues. Closes GH-1
17:23 dalek pipp: review: http://github.com/bschmalhofer/pipp/commit​/6dbfee7da41695c35ccb49065a9b4cff488b91d8
17:23 shorten dalek's url is at http://xrl.us/bepc4c
17:41 cognominal joined #parrot
17:51 dalek pipp: 45145b3 | (Bernhard Schmalhofer)++ | src/pmc/php (2 files):
17:51 dalek pipp: PMC_int_val() and PMC_pmc_val() are gone
17:51 dalek pipp: review: http://github.com/bschmalhofer/pipp/commit​/45145b398ea7db5f7afabb25eac6dcac6111d669
17:51 shorten dalek's url is at http://xrl.us/bepc8t
17:55 dalek pipp: 31f8a10 | (Bernhard Schmalhofer)++ | src/pmc/phpresource.pmc:
17:55 dalek pipp: remove some yet unused code
17:55 dalek pipp: review: http://github.com/bschmalhofer/pipp/commit​/31f8a10b4926367897cbb4b9044426fb6562138a
17:55 shorten dalek's url is at http://xrl.us/bepc9d
18:10 rg could somebody please close RT #42411 for me?
18:11 rg coke maybe? (it's your's ;))
18:18 claes joined #parrot
18:26 Casan joined #parrot
18:27 cotto rg, will do
18:27 dalek rakudo: 8f5ecdc | (Moritz Lenz)++ | tools/progress-graph.pl:
18:27 dalek rakudo: better error message in progress-graph.pl
18:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​f5ecdcc74930ac2552dcf7847380ff3e0326c0f
18:27 shorten dalek's url is at http://xrl.us/bepder
18:27 dalek rakudo: 73ead21 | (Moritz Lenz)++ | docs/ChangeLog:
18:27 dalek rakudo: [docs] udpated ChangeLog
18:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​3ead21270b95cae04652ad8fbb793907b10245a
18:27 shorten dalek's url is at http://xrl.us/bepdet
18:27 dalek rakudo: 65b3e65 | (Moritz Lenz)++ | t/spectest.data:
18:27 dalek rakudo: eight more passing test files
18:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​5b3e6520d01e2982ce0f27b6b9b2fe48b17cd5d
18:27 shorten dalek's url is at http://xrl.us/bepdev
18:28 rg cotto: thanks
18:28 Casan The other day someone asked how we define that a method in an inherited class can't be overloaded in the class inheriting. I looked at the synopsis, but didn't find it. any ideas?
18:29 Coke rg: it's been closed 2x. =-)
18:30 Coke Casan: parrot or p6?
18:30 Casan p6
18:30 Coke you might have better luck, in general, on #perl6 on freenode.
18:30 moritz Casan: you can't
18:31 Coke (also, if the discussion happened here, you can check the:)
18:31 Coke irclogs?
18:31 purl i guess irclogs is http://irclog.perlgeek.de/parrot/today or see also: infrared clogs
18:31 Casan thnx
18:31 claes Coke: I spoke to pmichaud about the unicode category thingy and it wasn't implemented yet
18:32 Coke claes: k.
18:32 claes Coke: but he's showing me tomorrow how I can implement it
18:32 Coke not sure if it would be helpful to file a ticket. am sure it would be helpful to make sure there are spectests for it.
18:32 Coke claes: score!
18:32 claes Coke: basiclly I could just copy the parts from rakudo and write some tests for it
18:33 Casan moritz: I assume there is a design reason for this, do you know it?
18:37 dalek pipp: d170576 | (Bernhard Schmalhofer)++ | build/templates/ (2 files):
18:37 dalek pipp: Fix config vars: bin_dir -> bindir, lib_dir -> libdir
18:37 dalek pipp: review: http://github.com/bschmalhofer/pipp/commit​/d170576901739fc3dca22a1f3eec5a92702e68ef
18:37 shorten dalek's url is at http://xrl.us/bepdgp
18:43 Coke gah, someone fix the missing file bug already. =-)
18:45 Infinoid it's a matter of moving the file to a more appropriate place, but I'm not sure where that place should be
18:47 Coke is the file used ONLY for testing?
18:48 Infinoid it's used to generate the pbc file sitting next to it, which is used only for testing.
18:48 Infinoid But the pir file itself seems more along the lines of tools/dev/mk_native_pbc
18:48 Coke perhaps a tools/test/foo.pir would be slightly more appropriate.
18:48 Coke or at least, easier to get working.
18:50 Infinoid maybe.  the sources for the other pbc files in that dir are created by various .t files in t/op/, I think
18:50 Infinoid mk_native_pbc just makes them persistent
18:51 Infinoid t/pmc/packfileannotations.t is what uses it.  If that test weren't written in pir itself, I'd suggest just building the pbc file on the fly
18:53 rg i think the native_pbc directory is the wrong place anyway. the pbc file isn't committed, right?
18:53 Infinoid the pbc file is committed.  I'm just not sure it has to be
18:54 Coke Infinoid: if it's just removing t/*/*.pir, can you just put it in a subdir? =-)
18:54 Infinoid for now, native_pbc is the best of a pretty bad set of alternatives
18:54 Infinoid Coke: What a glorious hack. :)
18:55 rg well if you want a different hack, have it generated, e.g. by a .t file ;)
18:55 Infinoid Coke: What if I stick it in examples/pir/ and say "this is an example of making an annotation!" and wave my hands furiously?
18:57 Infinoid It doesn't solve the "what the heck is that pbc file doing in native_pbc" problem, but it solves the "items in manifest deleted by make clean" problem...
18:57 Coke Infinoid: I considered that, but no. =-)
18:57 particle- i don't want more tests breaking because an example is deleted/changed
18:57 particle- we get that already with strings testts
18:57 Coke Infinoid: let's fix the deletion problem now, and we can find a better home for it later.
18:57 Infinoid rg: the right place to generate it is in the test that uses it, t/pmc/packfileannotations.t, but unfortunately that file is pir too
18:57 Infinoid (so I'm not sure it has the ability to)
18:58 Coke Infinoid: you could also call the file something other than .pir
18:58 particle- what language do you need it to be in?
18:58 dalek parrot: r38180 | coke++ | trunk/config/gen/makefiles/root.in:
18:58 dalek parrot: [t] Actually run the NQP tests as part of 'make test'
18:58 dalek parrot: This extends an earlier test hack, but is enough to resolve RT #52382.
18:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38180/
18:59 rg infinoid: i see how that would be unreadable
19:00 Infinoid particle-: perl, I guess.
19:00 Infinoid particle-: the issue at hand is regarding a pir file which was included as sources for a pbc file which is checked later on by a packfile test
19:00 Infinoid if the test could generate the pbc file, we no longer need the pir file
19:01 particle- why can't pir generate pir?
19:01 particle- tcl does it.
19:01 Infinoid I just don't know how, is all.
19:01 Infinoid if it can generate a pir file, run parrot on it to generate the pbc, and then open the pbc and run its tests, that would solve everything
19:02 * rg thinks it's a bit premature to stop writing tests in perl
19:02 particle- yep, should be able to do that
19:02 particle- rg, they're *way* faster written in pure-pir
19:03 particle- no disk io
19:03 rg particle: i don't doubt that. but they're also harder to read an manage.
19:03 Infinoid disk i/o just hits cache on the platforms I normally run, no slowdown there
19:03 rg *and
19:03 Infinoid but there's also far fewer invocations of parrot, which has to be a huge speedup too
19:04 particle- and far fewer invocations of perl
19:04 Infinoid yeah
19:04 particle- on platforms where executable images aren't shared (windows) that matters a lot
19:05 * rg would prefer a higher level language than pir.
19:05 Infinoid rg: rakudo? :)
19:05 Coke rg: nqp.
19:06 rg yes, we've had that discussion before ;)
19:07 * Coke is very glad perl isn't on leslie's recent list of shame.
19:07 particle- Infinoid: $P0 = compreg('pir') ; $P0.compile(<<PIR) ; gets you the first part
19:07 Coke . o O (GSOC)
19:08 Coke particle-: compreg 'PIR'
19:08 particle- ETOOMANYLANGUAGES
19:08 Infinoid oh, nice
19:09 Infinoid do we have a pir equivalent of File::Temp yet?
19:09 Coke I don't think so.
19:10 wayland76 What's leslie's list of shame?
19:10 Coke organizations in GSOC that didn't follow directions.
19:11 wayland76 oh, ok :)
19:11 claes has anyone written a PGE grammar for XML yet?
19:11 Coke someone was just asking about that.
19:11 Coke moritz?
19:11 purl moritz is Moritz Lenz, mailto:moritz@faui2k3.org or very boring
19:11 cotto ouch.
19:11 Coke coke?
19:11 purl you are mailto:will@coleda.com or annoyed that the test program -fails- when run via valgrind, but one thing at a time. =-)
19:12 claes because I was hoping I could reuse that for E4X support eventually
19:12 Infinoid me?
19:12 purl you are Mark Glines <mailto:mark@glines.org>
19:12 Coke no, coke is mailto:will@coleda.com or perpetually annoyed.
19:12 purl okay, Coke.
19:12 Infinoid aaw.
19:12 wayland76 wayland76?
19:12 Coke no, coke is Will Coleda <mailto:will@coleda.com> or perpetually annoyed.
19:12 purl okay, Coke.
19:12 Coke wayland76 is just this guy, you know.
19:12 * cotto is also glad tpf isn't on the receiving end of that message.
19:13 wayland76 Nice to actually find out people's real names :)
19:13 Coke .
19:13 wayland76 Coke: I think that's a comment.  That was Zaphod :)
19:13 Infinoid purl, me is also likes shiny things
19:13 purl OK, Infinoid.
19:13 Infinoid me?
19:13 purl you are Mark Glines <mailto:mark@glines.org>
19:13 Infinoid purl, Infinoid is also likes shiny things
19:13 purl okay, Infinoid.
19:13 Infinoid me?
19:13 purl i heard Infinoid was Mark Glines <mailto:mark@glines.org> or likes shiny things
19:13 wayland76 s/comment/compliment/ :)
19:13 Infinoid that aliasing is a little weird.
19:13 wayland76 (that what happens when I IRC at 5am)
19:14 Coke wayland76: still up, or no longer asleep?
19:14 wayland76 Moritz started an XML grammar and blogged about it
19:14 wayland76 months ago
19:14 wayland76 Just a really weird sleeping schedule this week
19:14 wayland76 I expect to go to bed at noon today :)
19:18 rblasch joined #parrot
19:20 Coke wayland76: .au ?
19:20 purl .au is, like, australia or GMT+1000 in Sydney or there. or sometimes using daylight savings time, so be careful
19:21 wayland76 That's right.  bacek and I are in the same timezone
19:21 wayland76 although probably 10 or so hours drive apart
19:22 rg say isn't this page a bit outdated? https://trac.parrot.org/parrot/wi​ki/UpdatingToUseTheNewObjectModel
19:23 shorten rg's url is at http://xrl.us/bepdoh
19:23 Coke rg: yes, it was probably copied verbatim from the old wiki.
19:23 Coke deleting...
19:24 particle- deleting it from the old wiki, too?
19:24 Coke so it doesn't get recreated. =-)
19:24 particle- :)
19:25 Coke someone just ed
19:25 dalek tracwiki: v64 | rg++ | WikiStart
19:25 dalek tracwiki: remove  UpdatingToUseTheNewObjectModel
19:25 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​WikiStart?version=64&amp;action=diff
19:25 shorten dalek's url is at http://xrl.us/bepdo2
19:25 Coke interesting. deleting pages doesn't generate a dalek bit.
19:26 Coke particle-: don't see it on the old one.
19:26 particle- fab
19:26 Coke ah, slightly different name.
19:27 rg coke: deleting a page is like it never happened. it's also something you need extended privs for.
19:27 cotto seen darbelo
19:27 purl darbelo was last seen on #parrot 4 days, 3 hours, 24 minutes and 41 seconds ago, saying: �  [Apr 13 16:01:17 2009]
19:28 Coke rg: extended privs: I haz them.
19:28 Coke killed it from the old wiki, too.
19:28 moritz claes: my XML grammar was fairly basic, and convered only some few features
19:28 dalek tracwiki: v6 | coke++ | GSOC2009
19:28 dalek tracwiki: remove ref to UpdatingToUseTheNewObjectModel
19:28 dalek tracwiki: https://trac.parrot.org/parrot/wiki​/GSOC2009?version=6&amp;action=diff
19:28 shorten dalek's url is at http://xrl.us/bepdpe
19:29 moritz claes: http://perlgeek.de/blog-en/perl-​5-to-6/20-a-grammar-for-xml.html if you're still interested
19:29 shorten moritz's url is at http://xrl.us/oqjku
19:29 claes moritz: ok, I'll check it out
19:29 dalek tpfwiki: will@coleda.com | Parrot
19:29 dalek tpfwiki: http://www.perlfoundation.o​rg/parrot/index.cgi?parrot
19:32 dalek tpfwiki: will@coleda.com | Parrot
19:32 dalek tpfwiki: http://www.perlfoundation.o​rg/parrot/index.cgi?parrot
19:36 dalek tpfwiki: will@coleda.com | Parrot
19:36 dalek tpfwiki: http://www.perlfoundation.o​rg/parrot/index.cgi?parrot
19:41 claes sorry for the newbie questions but I'm kinda new to this PCT + PGE thingy.. but is there a built-in rule for any whitespace but newlines?
19:41 gryphon joined #parrot
19:41 claes or can I use <ws-\n> or something like that?
19:42 claes S05 is giving me headache =(
19:45 particle- claes: \h for horizontal whitespace, \v for vertical
19:46 claes sweet
19:47 claes oh I see it now in S05
19:47 particle- it's a lot to take in
19:47 claes indeed
19:48 particle- but there are plenty of pge tests to give you hints
19:48 moritz and plenty of hackers you can ask ;-)
19:48 claes that too.. and I get to bug some of them tomorrow at the hackathon =)
19:49 claes I hope to get my JS grammar ready by tomorrow so I can start on the methods that builds the PAST nodes
19:49 moritz claes: did you know that there's already a basic JS compiler for parrot?
19:50 moritz it used to live in languages/, don't know where it went, but it should be on the languages wiki somewhere
19:50 claes moritz: yes
19:50 moritz ok
19:50 moritz just want to make sure you don't duplicate unless you want ;-)
19:50 claes but as I have an interest in JavaScript I want to give it a try from scratch
19:51 particle- claes++
19:51 dalek pipp: d76c493 | (Bernhard Schmalhofer)++ | src/pmc/phpresource.pmc:
19:51 dalek pipp: Revert "remove some yet unused code"
19:51 dalek pipp: This reverts commit 31f8a10b4926367897cbb4b9044426fb6562138a.
19:51 dalek pipp: review: http://github.com/bschmalhofer/pipp/commit​/d76c49327b31d12849c4ec8c3773f7f9a3e36bc5
19:51 shorten dalek's url is at http://xrl.us/bepdsw
19:51 dalek pipp: 5a8157f | (Bernhard Schmalhofer)++ | src/pmc/phpresource.pmc:
19:51 claes I named my "Cockatoo"
19:51 dalek pipp: more reverts, make it work for Parrot r37197 again
19:51 dalek pipp: review: http://github.com/bschmalhofer/pipp/commit​/5a8157f96590da900cda40beb43596bfc1a4dd02
19:51 shorten dalek's url is at http://xrl.us/bepdsy
19:51 rblasch1 joined #parrot
19:54 cotto bacek, ping
20:09 * cotto feels better
20:11 perros joined #parrot
20:12 perros Hi All,
20:12 perros is there a way to compile any php code into parrot byte code instead of using pipp ?
20:13 PerlJam That's the only php compiler for parrot that I know of.
20:13 PerlJam Why don't you want pipp?
20:13 particle- not without someone writing another php compiler....
20:13 particle- pipp isn't anywhere near complete
20:16 perros afaik, pipp implementation status on it's site shows so many things cannot be handled at the moment
20:16 perros it's ongoing project
20:17 cotto perros, pipp is the only Parrot-hosted compiler for PHP that I know of.
20:17 perros I have tested quercus, it looks promising and very fast, but it's drawback is that, it's commercial
20:17 barney perros: Pipp could use some help
20:18 barney Roadsend and PHC are pretty nice too
20:18 perros I need a vm on the background like parrot
20:18 dalek rakudo: 01d7ded | (Moritz Lenz)++ |  (2 files):
20:18 dalek rakudo: Revert "The sub form of split() expects the delimiter as second parameter"
20:18 dalek rakudo: The spec was also reverted, we just follow its lead...
20:18 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​1d7dedd2333c413fba5c5c5b8298d9dba5e97e8
20:18 shorten dalek's url is at http://xrl.us/bepdwf
20:18 perros is it possible to use roadsend or phc compiled code on parrot vm ?
20:19 cotto perros, there's also phalanger on .net
20:19 PerlJam perros: why do you need a vm like parrot?
20:19 barney I once played with converting the PHC XML-output to PBC, but then concentrated on the PCT variant
20:20 perros apache (prefork) + php + apc is slow
20:20 perros nginx fcgi php-cgi is slow
20:20 perros as I said before, I have tested resin with Quercus php and it's very fast
20:21 PerlJam perros: okay ... it sounds like you're trying to solve a problem that parrot won't help you with.
20:21 perros afaik, parrot is vm like jvm . right ?
20:21 perros it has gc like jvm
20:21 PerlJam aye.
20:21 moritz it is a vm designed for dynamic languages... but it's not optimized for speed yet
20:22 PerlJam what moritz said
20:22 PerlJam (but if you'd like to help with that, that would be great! :-)
20:22 moritz so when your primary concern is to speed things up *now*, then parrot is most likely not the way to go :/
20:22 cotto we should get a speed boost soon, but I think only allison can tell how much faster it'll be
20:22 perros :(
20:23 perros I have not read the parrot internals yet
20:23 PerlJam cotto: soon for 1.1?
20:24 perros is parrot vm capable of caching opcodes ?
20:25 perros I have tested resin and apache by using apache bench with 500 conc, and 500 reqs , simple phpinfo took 7sec on apache and 3secs on resin
20:26 cotto PerlJam, you'd have to ask allison, but probably after the release
20:26 perros what's the sched for 1.1 release ?
20:27 moritz next Tuesday
20:27 purl i heard next Tuesday was the local PM meeting.
20:27 perros I need a vm on a new site where the pageview is 1 million daily. it will be increased soon
20:27 moritz parrot releases are always on 3rd Tuesday of the month
20:28 PerlJam perros: throw more hardware at it.
20:28 barney use memcached
20:28 perros the problem is not hardware, my first implementation was nginx+memcached as front end server
20:28 perros images are cached on memcached
20:29 perros php handled by backend apache + php+apc server and nginx proxy server caches php output as html
20:29 perros but for a some period I have to disable nginx proxy due to the implentation on php codes
20:30 perros I cannot cache the php output, I need to backend php to work on every request
20:30 perros internally it connects to another site, by using nginx proxy ,I'm in trouble, because I'm only caching html output
20:31 * barney says   use mod_perl   and hides
20:31 perros so that's why I need something to run php code on every request faster than apc+php+apache
20:31 perros is there any other solution you can suggest ?
20:32 claes rewrite your backend in something faster
20:32 moritz more hardare ;-)
20:32 cotto last I checked, most of the mature alternative PHP implementations were faster than the one from php.net
20:32 particle- #php may be more helpful
20:32 particle- ...on freenode
20:33 PerlJam perros:  you can get rid of apache in favor of something better, but throwing more hardware at it will help  (spread the load across N servers for instance)
20:33 perros for now, best option is to use more hardware , as you said, I'll check other php implenetations by meantime
20:34 perros thanks for your help, I'll keep watching parrot releases,
20:35 barney perros: If you find a fast PHP, I'll add it to http://wiki.github.com/bschma​lhofer/pipp/related-projects
20:36 TimToady joined #parrot
20:36 dalek rakudo: 616c0b7 | (Moritz Lenz)++ | docs/ChangeLog:
20:36 dalek rakudo: remove ChangeLog entry that was reverted
20:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​16c0b71546e9994bdc42259818357655de2a975
20:36 shorten dalek's url is at http://xrl.us/bepdyy
20:36 perros If I find a alternative, i'll post it
20:37 barney perros++
20:37 PerlJam barney: wow, I hadn't realized there were so many php compilers out there.
20:39 diakopter joined #parrot
20:39 moritz how many of them are actually feature complete (or at least nearly)?
20:40 dalek pipp: f87108c | (Bernhard Schmalhofer)++ | src/pmc/phpresource.pmc:
20:40 dalek pipp: add a yet unused PMC ATTR
20:40 dalek pipp: review: http://github.com/bschmalhofer/pipp/commit​/f87108c7fd9a84f4f9cac1e7d93d60e4c00083ce
20:41 shorten dalek's url is at http://xrl.us/bepdze
20:41 barney I was at PHP TestFest yesterday, Project 0 is the one that makes some waves
20:43 barney Is there a 'Reference to a PMC'-PMC ?
20:46 cotto There was a Ref PMC, but it was recently removed (after being deprecated)
20:46 cotto .
20:46 perros barney: project 0 link is broken on your wiki
20:52 barney perros: thanks, I updated the link
21:00 gerd joined #parrot
21:05 bacek good morning
21:07 * bacek needs real svn checkout to final test after merging... :-/
21:09 bacek cotto: pong
21:12 dalek parrot: r38181 | bacek++ | trunk/t/pmc/packfileannotationkeys.t:
21:12 dalek parrot: [cage] Remove debug dump of created PBC. bacek--, Infinoid++
21:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38181/
21:12 dalek parrot: r38182 | bacek++ | trunk/config/gen/makefiles/root.in:
21:12 dalek parrot: [cage] Remove trainling space in config/gen/makefiles.in
21:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38182/
21:13 rg bacek: if the pbc format changed, would you please bump PBC_COMPAT?
21:13 bacek rg: it's not changed. I just reworked Packfile*pmc.
21:14 rg after your merge you mentioned something that the pbc files needed to be rebuilt?
21:14 cotto bacek, there are a bunch of PackFile related tickets in RT.
21:14 bacek rg: because they used in tests now.
21:14 bacek cotto: I'll take a look
21:14 rg i'm not sure i follow
21:15 cotto http://rt.perl.org/rt3/Search/Re​sults.html?Order=ASC&amp;Query=( Subject LIKE 'PackFile' )&Rows=50&OrderBy=Status&Page=1&Format=%0A   '<b><a href%3D"%2Frt3%2FTicket%2FDisplay.html%3Fid%3D_​_id__">__id__<%2Fa><%2Fb>%2FTITLE%3A%23'%2C%0A   '<b><a href%3D"%2Frt3%2FTicket%2FDisplay.​html%3Fid%3D__id__">__Subject__<%2​Fa><%2Fb>%2FTITLE%3ASubject'%2C%0A   Status%2C%0A   QueueName%2C %0A   OwnerName%2C %0A   Priority%2C %0A   '__NEWLINE__'%2C%0A   ''%
21:15 cotto 2C %0A   '<small>__Requestors__<%2Fsmall>'%2C%0A   '<small>__CreatedRelative__<%2Fsmall>'%2C%0A   '<small>__ToldRelative__<%2Fsmall>'%2C%0A   '<small>__LastUpdatedRelative__<%2Fsmall>'%2C%0A   '<small>__TimeLeft__<%2Fsmall>'
21:16 bacek rg: previously tests which uses t/native_pbc/*pbc were skipped.
21:16 cotto wow.  Those rt links are amazing.
21:16 cotto http://tinyurl.com/cj7wmh
21:17 bacek cotto: looks like all open tickets about C API, not PMCs.
21:18 bacek rg: now they used t/pmc/packfile*.t
21:18 bacek s/used/used by/
21:18 rg bacek: they were skipped because allison wasn't happy with the stability of the tests. what are you testing for now?
21:19 bacek rg: unpacking of PBC using Packfile.pmc
21:20 bsdz joined #parrot
21:20 Whiteknight joined #parrot
21:20 bacek rg: look in t/pmc/packfile.t and t/pmc/testlib/packfile_common.pir
21:24 rg so what happens if you bump PBC_COMPAT and don't rebuild the file?
21:25 Whiteknight bad stuff
21:25 donaldh joined #parrot
21:26 rg :)
21:28 Infinoid bacek: good morning
21:28 Infinoid How do you feel about making t/pmc/packfileannotations.t generate the pbc file itself, rather than having one checked in?
21:30 Infinoid Thanks to particle++, I've got a patch mostly written to add a pir function that returns pbc data as a string
21:30 bacek Infinoid: chicken and egg problem... I can't rely on "self-packed" PBC in "unpack"
21:30 Infinoid ah.
21:30 bsdz hi, can any of you very intelligent parrot keepers help me with a hll_map problem. i have a nopaste.
21:31 Infinoid "very intelligent"?  guess that rules me out.
21:31 bsdz sorry, any one else? ;-)
21:31 nopaste "bsdz" at 78.105.78.157 pasted "why doesn't hll_map properly map my derived type to my new type?" (44 lines) at http://nopaste.snit.ch/16298
21:31 bsdz i'm expecting the 2nd block in my :main sub to work like the first.
21:32 Infinoid bacek: in that case, how about invoking parrot to generate a temporary one?
21:33 Infinoid (maybe I don't understand the chicken & egg problem.)
21:33 bacek Infinoid: will it work on win32?
21:33 Infinoid we need some pir equivalent of File::Temp, and then yes it should
21:33 bacek e.g. `parrot -O t/native_pbc/annotations.pbc t/native_pbc/annotations.pir`
21:33 Infinoid or write the test in perl rather than pir, I guess
21:34 Infinoid oh, I see.  I think so, though it might need some special "make clean" magic too
21:34 he left #parrot
21:35 Infinoid I can help in a few hours when I get off of work, but for now I was just curious what your opinion was of how we should solve it
21:37 bacek Infinoid: create single "portable" PBC format...
21:37 bacek E.g. 64-bits integers, 12 bytes floats, some-endian.
21:37 bsdz joined #parrot
21:38 bacek And always (unless specified "native") creates PBCs in this format.
21:39 bacek And convert such PBCs into internal interpreter structures on unpack...
21:39 purl I don't know how to convert such PBCs to internal interpreter structures on unpack....
21:40 bacek poor bot.
21:40 rg bacek: would you have the time to get that done?
21:40 Infinoid Sounds great.  But longterm.
21:40 bacek rg: Yes, in next branch.
21:40 bacek Infinoid: couple of weeks.
21:41 bacek But rurban disagree with me about PBCs...
21:41 rg in what regard?
21:41 Infinoid Having a patch in hand is a powerful form of persuasion
21:42 bacek rg: that PBCs are non-portable now.
21:42 Infinoid but it might be good to get some more opinions about it before spending weeks on it :)
21:43 Infinoid sounds worthy of a list post, at least.
21:44 rg bacek: well i wouldn't call them non-portable. but I too find having N native formats quite unpractical
21:44 bacek I've replied to your TT about PBCs. So it hit parrot-ticket list.
21:44 Infinoid In the meantime, we discussed (see channel history) better places to put annotations.pir so the clean rule won't get rid of it.  I didn't hear any particularly good solutions, other than moving that code into the test somehow
21:45 Infinoid Coke++ proposed the glorious idea of moving it into a subdir, to evade the "t/*/*.pir" wildcard
21:46 bacek It's my mistake. I moved packfile_common.pir into t/pmc/testlib for this reason. But forgot annotations.pir...
21:46 rg infinoid: before that he proposed tools/test/ which sounded the most resonable to me short of moving it into the test.
21:47 Infinoid yeah.  wherever it goes, it will solve that clean problem
21:47 rg but bacek's suggestion will do
21:53 bacek yak... I can't regenerate MANIFEST from git-svn...
21:56 Infinoid yeah, svn metadata is a pain
21:57 Infinoid let me guess, when you ran the manifest script, it tried to use svk? :)
21:58 dalek parrot: r38183 | bacek++ | trunk/t/native_pbc/testdata (2 files):
21:58 dalek parrot: Move t/native_pbc/annotations.pir into subdirectory to prevent cleaning
21:58 dalek parrot: it by make realclean.
21:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38183/
22:02 he joined #parrot
22:02 dalek parrot: r38184 | bacek++ | trunk/MANIFEST:
22:02 dalek parrot: Regenerate MANIFEST file.
22:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38184/
22:06 dalek parrot: r38185 | bacek++ | trunk/t/native_pbc/testdata/README:
22:06 dalek parrot: [cage] Set svn metadata new file.
22:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38185/
22:15 pmichaud part of the problem with converting PBCs into internal interpreter structures on unpack may be an inability to share multiple instances in memory
22:15 pmichaud e.g., with mmap
22:15 bacek pmichaud: why?
22:16 pmichaud won't each process end up with its own copy of the internal interpreter structure?
22:16 pmichaud if the bytecode is already in the native format, it can be mmap'd and running 1,000 instances that load that bytecode doesn't end up with 1,000 copies of unpacked bytecode in memory (IIUC)
22:17 Whiteknight joined #parrot
22:17 bacek Creating "native" bytecode from "portable" can be part of "installation" process.
22:17 Infinoid Do we share those even if the pbc was in native format?  I didn't think we did.
22:18 pmichaud Infinoid: I think the point was more that it _could_ be done as a future optimization, more than "we already do this"
22:18 Infinoid certainly
22:18 pmichaud but if bytecode is being generated by default in non-native formats... that might make it more difficult.
22:18 bsdz pmichaud: do you know very much about hll_map usage?
22:19 pmichaud bsdz: some.
22:19 bacek In future we can just clone existing interpreter without loading pbc in it, isn't it?
22:19 Infinoid and you're saying that if we convert to native endianness internally (as opposed to, say, doing a byteswap every time we read an opcode), that'll lead to a lot of extra overhead
22:19 bsdz pmichaud: can take a look at this nopaste. doesn't seem to work as expected http://nopaste.snit.ch/16298
22:19 Infinoid of course, if you unpack the pbc before forking 1000 times, you should be fine regardless of what format you're using or when the conversion is done
22:20 pmichaud Infinoid: I'm not assuming a fork, I'm assuming 1,000 copies of some program.
22:20 pmichaud e.g., if there are 1,000 shell scripts running that internally invoke some Perl 6 program
22:20 Infinoid Fair enough.  Whatever we do should be as efficient for as many scenarios as possible
22:20 Infinoid as efficient as possible, I mean.
22:21 * Infinoid has to admit to having invoked perl in a similar way in the past
22:21 pmichaud in other words, 1,000 copies of Perl 6 running _shouldn't_ require generating 1,000 copies of the perl6.pbc in memory.
22:21 pmichaud bsdz: I don't see the output of what you're doing.  Are you expecting the hll_map to change the behavior of the 'Integer' object that gets created at the end?
22:22 Infinoid If we had a standard pbc endianness, we wouldn't necessarily have to byteswap on the odd-endian platforms.  The switch statements or whatever could just match directly against the swapped data
22:22 bsdz pmichaud: yes
22:22 pmichaud bsdz: I don't think HLL mapping works that way.
22:22 Infinoid So I'm not entirely sure a conversion is necessary
22:22 bacek but I want to use precompiled pbc, distributed by someone, I don't want to have performance penalty on converting data on every read.
22:23 pmichaud it doesn't change the behavior of objects in the Parrot type -- it just says how Parrot is to internally map Parrot types to HLL-specific ones when doing converstions
22:23 pmichaud *conversions
22:23 donaldh left #parrot
22:23 pmichaud e.g.,  converting an integer register to a PMC
22:23 pmichaud or deciding what sort of aggregate should hold a slurpy
22:23 pmichaud bacek: I suspect the more likely scenario is that each platform will end up with a .pbc
22:23 pyrimidine joined #parrot
22:24 bsdz pmichaud: ah okay. so it won't help me if i want to override a vtable on a basic type
22:24 pmichaud bacek: i.e,. the perl6.pbc that is distributed for Intel processors would be different than the perl6.pbc that is distributed for processors on other types
22:24 bacek and every commercial company will have to create pbc for each platform...
22:24 Whiteknight bsdz: No, you can't add overrides to an existing builtin-pmc class
22:24 Whiteknight you have to define a subclass and add overrides to that
22:24 pmichaud bacek: this is what happens already with most other packages.
22:25 bsdz Whiteknight: i've seen something like that done in pmcproxy.t
22:25 pmichaud i.e., when I do  "apt-get install perl" on my Ubuntu system, I get different things than what someone installing Perl on a Win32 system gets
22:25 pmichaud this isn't a new concept.
22:26 bacek is i download "somecoolapp.jar" I can run it on many platforms...
22:26 Whiteknight bsdz: pmcproxy is a little bit strange. It's an introspection mechanism
22:26 bacek it's old concept as well.
22:26 pmichaud bacek: and I can do that with Parrot too.
22:26 Whiteknight bsdz: Try it with a subclass, I think that will do what you want it to do
22:26 bacek with 30 conversion functions for floats.
22:26 Infinoid but my platform can run the jar faster than yours can, without any clear reason why
22:27 bsdz Whiteknight: problem with subclasses is setref is broken
22:27 pmichaud bacek: sure, but optimizing to avoid the conversion functions may mean that we get a net loss in overall system throughput.
22:28 pmichaud I'm simply saying that there were (IIUC) some fairly strong reasons for having .pbcs default to their native format, and we shouldn't be too quick to throw those out the window.
22:28 bacek <bacek> Creating "native" bytecode from "portable" can be part of "installation" process.
22:29 pmichaud bacek: if you're providing a tool that will convert a .pbc from some other format into its generic one, I think that's fine.
22:29 pmichaud If you're changing parrot so that it always produces bytecode in some generic format (which might not match my platform's native one), then I think there's a problem there.
22:29 pmichaud Many times we may be obtaining .pbc's that we don't have an opportunity to pass through an "installation" process.
22:30 bacek pmichaud: it's part of my proposal. Actually it will be 3 calls Something like $P0 = new Packfile; $P0 = $S0; $P0."write_native"(1); $S0 = $P0.
22:30 pmichaud (where "obtaining .pbc's"  may mean "I got it from a dynamic compilation step in a program I'm running.)
22:30 bacek pmichaud: no-no. "Always unless specified native".
22:31 bsdz Whiteknight: have you seen this trac i created https://trac.parrot.org/parrot/ticket/556
22:31 pmichaud bacek: I think the default should be "native unless specified generic"
22:31 pmichaud at any rate, I'd like to make sure this proposal has been run by allison and the other parrot designers before it goes too far.
22:31 bacek pmichaud: works for me.
22:31 pmichaud (and I grant you may ahve done that already and I just missed it)
22:32 bacek not yet :)
22:32 bsdz bacek, pmichaud: i think there was talk previously about platform independent pbc. not sure if you were aware
22:32 pmichaud then it needs to be done.  The issue of being able to mmap() bytecode formats doesn't seem to have been considered in this latest round of changes.
22:32 bacek bsdz: url?
22:33 pmichaud I'm fine with generating or designating a platform independent pbc format; I'm not sure it should be the default one.
22:33 bsdz looking for it. one mo
22:33 pmichaud in most cases I would expect .pbcs of large libraries and systems to be distributed in the platform-dependent format.
22:33 pmichaud and .pbcs that are dynamically generated for running locally should be in the native format.
22:34 pmichaud (not in a generic format that then has to be converted on each load)
22:34 bacek but reading "some-other-platform.pbc" isn't mandatory.
22:35 pmichaud phrased another way:  the vast majority of .pbcs that get generated by Parrot will be run on the same machine that generated them.  That argues that they should default to the native format.
22:35 he Hi, folks.  Would it be impertinent to ask for someone to take a closer look at a set of patches which would fix 4 trac tickets?
22:35 bsdz sorry it was here and you guys were involved :/
22:35 bacek I agree with swapping default packing behaviour to native format.
22:36 Infinoid he: It can't hurt to ask.  But the best way is to just attach them to the tickets
22:36 he The patches now in 512 should fix 421, 454 and 502.
22:36 Infinoid cool.
22:37 he I've verified that Linux accepts the %rNN notation, sot ehe change for config/init/hints/openbsd.pm in 502 would then not be needed.
22:37 he s/ehe/the/
22:38 Infinoid any ppc-specific diffs should also work on OSX/darwin.  I can't test any of that stuff, but I can review the diffs when I get home
22:40 he I've done smolder tests on NetBSD/macppc 4.0 and NetBSD/macppc 3.1, which both succeed, #20015 and #20009 are mine.
22:40 pmichaud time for sleep here -- bbl
22:41 he Hm, yes, I don't have any OSX/darwin host to test with, I'll see if I can elicit someone else to do so for me.
22:44 bacek pmichaud: good night
22:45 Infinoid living on the surface of a spinning sphere sure is complicated sometimes.  I'm finally done with $work, time to go home and eat something :)
22:47 bacek And I'm enjoying beautiful Saturday morning :)
22:48 Infinoid save some for me! :)
22:48 pyrimidine left #parrot
22:49 Infinoid it is a gorgeous friday afternoon here
22:49 bacek I'll try :) But I don't think it will stay fresh for 6 month till your autumn :)
22:49 Infinoid heh
22:49 Infinoid back later &
22:56 wayland76 joined #parrot
22:56 he For some really odd reason, I tried to build parrot on NetBSD/macppc 5.0_RC3, but it fails miserably.  This appears to be the same problem others have reported, so I attached my info to track ticket #464.  Hints for getting to the bottom of that one would be appreciated.
22:57 Coke_afk bsdz: did anyone answer your question?
22:57 Coke the problem there is that you're creating an Integer and trying to use it as a hash. boom.
22:57 he (um, "it failed for some apparently odd reason")
22:57 Coke hll_map doesn't affect it.
22:57 bsdz Coke: oh right
22:57 bsdz Coke: tbh was starting to give up :(
22:58 Coke tbh?
22:58 bsdz to be honest
22:58 bsdz thought purl would have got that
22:58 Coke tbh is to be honest
22:58 Coke he: I have darwin/intel if you need someone to test a patch.
22:59 nopaste "bsdz" at 78.105.78.157 pasted "hll_map properly map my derived type to my new type with output" (49 lines) at http://nopaste.snit.ch/16300
23:00 bsdz Coke: i've attached output to the end. thing is FooInt works as expected but was hoping that hll_map would map base Integer to FooInt. i've been told it's not possible.
23:00 Coke no.
23:00 Coke it /does/ map it.
23:00 Coke but you're saying "new 'Integer'"
23:00 Coke new doesn't do any mapping.
23:01 bsdz ah okay. the 'new' keyword effectively bypasses my mapping
23:01 Coke you'd get the mapping with the 'box' opcode, or if you called a .sub that took an int arg, or...
23:01 Coke Presumably if you called 'new' you knew what you were doing.
23:02 Coke er, "knew what you wanted."
23:03 bsdz i'm just back to the old PCT problem of autovivifying extra dimensions with a rpa. i tried subclassing but setref was broken, this was my plan B. i can't think of a plan C so far
23:03 Coke $P11 = box 0
23:03 Coke $P10 = new 'FooInt'
23:03 Coke $P10[$P11] = 10
23:03 pmichaud ...autovivifying extra dimensions?
23:04 pmichaud oh, you want the Int to morph itself into a container?
23:04 pmichaud or you want something that can be both an Int and a container?
23:04 bsdz yes (problem is i can't change the "new 'Integer'" because it;s generated by PCT)
23:04 pmichaud sure you can.
23:04 Coke ISTR it was so that A[0] = 1, A[0][1] = 3 ; would work.
23:04 pmichaud PCT lets you pick whatever vivification type you want.
23:04 Coke bsdz: PCT should arguably be using "box"
23:04 Coke or let pmichaud fix it. =-)
23:05 bsdz PCT isn't designed to handle everything.
23:05 pmichaud and yes, PCT should be using box -- indeed, box was implemented for PCT.  I just haven't gotten around to it yet.
23:05 pmichaud that said, PCT should never be forcing "new 'Integer'"; if it does, that's really an error that I'd like to fix.
23:06 bsdz seems to generate PIR to that like. not sure if's something i do or the keyed implementation
23:06 Infinoid joined #parrot
23:07 pmichaud yes, PCT will often default to "new 'Integer'" in absence of anything telling it to do otherwise.
23:07 pmichaud in the case of:   A[0] = 1
23:07 pmichaud if you just do   PAST::Val.new( :value(1) )    then PCT defaults to 'Integer' I think
23:08 pmichaud because the 1 gets boxed into an integer
23:08 pmichaud but doing   PAST::Val.new( :value(1), :returns('MyInt') )    forces PCT to create a MyInt instead of an Integer
23:08 pmichaud also making sure that the :value argument is a MyInt inside of the AST node will cause PCT to generate it as a MyInt instead of an Integer
23:09 bsdz would that work in PAST::Var.new($index, :scope('keyed'),:vivibase(...,)), ); call?
23:10 pmichaud you mean for the :vivibase?
23:10 tetragon joined #parrot
23:10 bsdz in the vivibase i have PAST::Op.new(inline(" %r = '!create_multidimensional_array'(%0, %1) "), $indices, $n,)
23:10 bsdz excuse the smily
23:10 pmichaud no, because in the example you gave,  A[0] is already vivified
23:11 pmichaud so :vivibase never comes into play
23:11 pmichaud however, if A[0] is a MyInt
23:11 pmichaud then you can get the keyed subscript to have whatever behavior you want.
23:11 bsdz oh hold on it might be my create*array. i perhaps can give it my FooInt(0) instead of Integer(0)
23:11 pmichaud Yes
23:12 bsdz since it overrides the default of defaulting everything to null
23:12 pmichaud the point is not to try to get Integer to do what you want, but rather to create a type that does what you want and then get PCT to generate those
23:13 bsdz great i have a plan C. i shall give it a spin. thanks guys
23:16 he Coke: sorry, a darwin/ppc host would be needed.
23:18 wayland76 Updated https://trac.parrot.org/parrot/ticket/560 again.  Thanks to bacek and NotFound for their reviews so far
23:21 contingencyplan joined #parrot
23:44 Infinoid he: Any objection to my changing your "#ifdef __linux__" to "ifndef __NetBSD__" in your ppc-diffs patch, to localise the effect of the patch?
23:45 contingencyplan joined #parrot
23:45 Infinoid That way I can be sure it won't affect any other platform, and thus shouldn't break anything that previously worked.
23:46 nopaste "bsdz" at 78.105.78.157 pasted "shouldn't a subclass inherit all its parents methods?" (29 lines) at http://nopaste.snit.ch/16302
23:57 bsdz good night from me. i'll ask again later :)

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

Parrot | source cross referenced