Parrot 1.0 Released | parrot.org | 365 RTs left!
Set by moderator on 16 April 2009.
00:08 amoc joined 00:09 bacek_ joined, AndyA joined
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
moderator Parrot 1.0 Released | parrot.org | 361 RTs left! 00:28
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:30
rg ah right. since I'm familiar with rt, i've overlooked it/assumed the list was set as admin-cc. 00:32
kid51 rg: Are you submitting smolder reports for Solaris? 00:37
kid51 vaguely remembers discussing that a couple of months back
rg not regularly atm. would you like me to?
kid51 Yes! 00:38
kid51 starts his own smolder report ... but for Linux. 00:39
rg there are a couple of test failures for solaris/gcc 00:41
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
00:42 ruoso joined
rg how does parrot feel about code that has a non-pafo copyright? 00:42
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
i.e. i'd just grab the atan implementation from the library used by freebsd 00:45
allison rg: depends on the license, but generally we avoid adding non pafo code 00:46
rg: for the most part, we can't use code straight from other sources anyway, because Parrot is a unique codebase
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:48
allison rg: I'd really rather not maintain an implementation of atan (our own or freebsd's) 00:49
rg: putting in handling for the known broken cases seems more sensible 00:50
rg: presumably, it will be fixed upstream at some point
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:51
we being mainly (andy dougherty)++ ;) 00:52
kid51 must get some exercise
rg cotto: ping? 01:11
cotto rg, pong 01:51
rg cotto: you have a bit of a copy&paste error in r38069: the documentation for nci_vVVV is that for nci_fff 01:52
cotto rg, it looks like many of the functions in src/nci_test.c have that problem. 01:54
good catch, though. 01:55
rg they do? i've only checked the diff ;) 01:56
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:02
02:04 Theory joined 02:28 eternaleye joined 02:35 janus joined 02:57 basic joined 02:58 allison joined 03:33 msmatsko joined 03:52 amoc joined
rg aieeeee. if i want to create a new vtable function, i'll have to change every object? 03:59
oh no, my bad 04:08
rg should call it a day 04:09
04:20 mikehh_ joined, dalek joined 04:21 moritz joined, _Hunger joined 04:22 elmex joined 04:23 Maddingue joined 04:24 baest joined 04:35 uniejo joined 04:52 ilbot2 joined
moderator Parrot 1.0 Released | parrot.org | 361 RTs left!
04:59 uniejo joined 05:15 Theory joined, tetragon joined
dalek kudo: ab7e189 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 362 files, 10357 passing, 0 failing
05:42
shorten dalek's url is at xrl.us/bepbge
05:53 szabgab joined
wayland76 allison: did you delete the spec files from SVN as well? 06:24
allison wayland76: what's that? 06:25
purl That's the money you could be saving with Geico.
wayland76 Well, on my current revision...
[wayland@rhys ports]$ find fedora
fedora
fedora/parrot.spec.fedora
fedora/parrot.spec 06:26
Is that just svn getting confused again?
allison wayland76: I deleted them from svn
what version of svn are you using?
wayland76 oh, wait...
allison (I just checked again to make sure)
wayland76 subversion-1.5.4-3.i386 06:27
Fedora 10
And it looks like it's getting confused. 06:28
Or I am 06:30
I wish filesystems had versioning built in by default :) 06:31
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
waylayd76: but, I wish so too. Closest I've found is Dropbox 06:38
wayland76: and it's pretty nifty
cotto: aye, promising
allison afk, sleep 06:39
06:59 flh joined 07:01 mj41 joined 07:06 amoc joined 07:14 iblechbot joined 07:16 Gerd joined 07:58 claes joined 08:03 cotto joined 08:36 cognominal joined 08:49 claes joined 09:22 TiMBuS joined 09:24 flh joined 09:49 AndyA joined 09:52 uniejo joined
wayland76 Anyone who knows something about dynext, and has the power to apply patches, could you have a look at trac.parrot.org/parrot/ticket/560 ? 09:52
bacek wayland76: you shouldn't poke into STRING* guts. There is Parrot_string_cstring function for it. 10:03
wayland76 I don't understand 10:05
Which line are you referring to?
bacek src/dynext.c:634 10:07
wayland76 Ok. I just nicked that code from somewhere else, and made it fit what I want to do :) 10:11
bacek :) 10:13
dalek rrot: r38169 | NotFound++ | trunk/tools/build/nativecall.pl:
[cage] add an assertion for an unchecked assumption in nci
bacek And there is very strange else/if in Parrot_path_str
wayland76 What, with the 0 == i in it? 10:14
10:17 bsdz joined
bacek else { if (..) 10:17
line 817
wayland76 Oh, yes 10:21
That's me not being sure what the C for "else if" was. But I've used it recently, so I know now
(I wrote most of this patch a month or so ago)
10:24 uniejo joined
bacek And there is Parrot_str_join exists somewhere... 10:37
10:41 Casan joined
dalek rrot: r38170 | NotFound++ | trunk/tools/build/nativecall.pl:
[nci] check PMC_IS_NULL instead of NULL in build_call_func
10:53
wayland76 In relation to the versioning file system comments, has anyone looked at www.wizbit.org/ ? 11:09
11:19 uniejo joined
dalek rrot: r38171 | NotFound++ | trunk/tools/build/nativecall.pl:
[nci] one more PMC_IS_NULL instead of NULL in build_call_func
11:22
rrot: r38172 | bacek++ | trunk (35 files):
Merged branch packfile_revamp into trunk.

  * Regenerate t/native_pbc/*pbc
  * Add source for t/native_pbc/annotations.pbc
bacek Infinoid: Oh... I forgot to mention that merging branch will require regenerating t/native_pbc/*pbc on all platforms... 11:24
afk 11:26
12:03 cghene joined
dalek rrot: r38173 | NotFound++ | trunk/src/pmc (2 files):
[cage] fix some const qualifiers in packfile pmcs
12:07
12:14 claes joined
dalek rrot: r38174 | NotFound++ | trunk/src/string/encoding/ucs2.c:
[cage] fix some misplaced ASSERT_ARGS
12:17
12:24 uniejo joined 12:36 rg1 joined 12:37 ruoso joined 12:46 amoc joined
dalek rrot: r38175 | NotFound++ | trunk (7 files):
[cage] update headerizing
12:51
13:10 gryphon joined
wayland76 Question: what should I pass to Parrot_string_cstring as the first param? 13:23
Is a SHIM_INTERP different than a PARROT_INTERP? 13:24
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
That stuff is documented in docs/dev/c_functions.pod
wayland76 Ok, I'll have a look there. Thanks 13:28
NotFound wayland76: don't use Parrot_string_to_cstring unless you are sure that is a 8 bit encoded string 13:34
wayland76 OK.
bacek told me before to use that instead of poking around in STRING internals 13:35
He was complaining about dynext.c line 634 in trac.parrot.org/parrot/ticket/560
Oops, trac.parrot.org/parrot/attachment/...ng_2.patch
shorten wayland76's url is at xrl.us/bepb7n
NotFound wayland76: Parrot_str_to_cstring is the general purpose variant
rg1 bacek: you should have bumped PBC_COMPAT if the files are changed 13:37
NotFound wayland76: pass the parrot string instead of doing funny things with c strings 13:38
wayland76: use s
wayland76: use %Ss
wayland76 Oh, does that work? Cool :)
I'm presuming that's one '' for each that you mean 13:40
argh :)
I'll just presume it then
NotFound My irc client does funny things with % 13:43
wayland76 Mine too. 13:48
purl Mine too. are you approaching 1800 now?
wayland76 I'm using Konversation. You? 13:49
NotFound wayland76: same here 13:52
wayland76 I'm using the SimPL font, but that shouldn't make a difference
So we're probably seeing pretty much the same thing
14:10 Andy joined 14:11 bsdz joined
mikehh me too 14:16
Coke_afk AOL! 14:21
Coke pops in for a moment.
wayland76 Andy: I see Rakudo.org has changed back to having the news on the front page 14:28
Andy OK.
wayland76 (I didn't do that)
Was that you, or someone else? 14:29
Andy It was me. 14:43
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:50
14:52 he joined
rg why would one want to compile (not link) parrot with a c++ compiler? 15:06
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.
Especially for embedders 15:08
rg compatibility is one thing, but compiling parrot is another. 15:09
Coke rg: it's not a goal, it's just a nice to have, IMO. 15:10
so if someone provides a patch that makes us C++ compatibility, whee. If not. meh. 15:11
s/ity/e/
Infinoid++ # make depend
dalek rrot: r38176 | Infinoid++ | trunk/config (2 files):
[cage] Add some missing Makefile dependencies.
rrot: r38177 | Infinoid++ | trunk/MANIFEST:
[cage] regenerate MANIFEST to include new files.
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.
Coke because the file is stupid? checking. 15:13
Infinoid I think I need to set svn:mime-type to application/octet-stream, instead. testing that 15:14
Coke yup, that's the fix. 15:15
Infinoid ok, that worked, now the test is skipping that file.
Coke Infinoid++
dalek rrot: r38178 | Infinoid++ | trunk/t (3 files):
[cage] Fix up svn metadata for new files, remove some trailing whitespace.
15:18
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:20
dalek rrot: r38179 | Infinoid++ | trunk/t (2 files):
[cage] Make pir_code_coda.t and svn_id.t happy.
15:22
Infinoid hmm, I have a packfile-PMC-related test failure on mingw. 15:27
wayland76 Ok, I've updated my patch to trac.parrot.org/parrot/ticket/560#comment:1 15:29
NotFound Check MANIFEST...No such file: t/native_pbc/annotations.pir
wayland76 Is it better?
Infinoid NotFound: r38177
NotFound $ svn up 15:30
Restored 't/native_pbc/annotations.pir'
$ make clean
(...)
$ svn up 15:31
Restored 't/native_pbc/annotations.pir'
Infinoid Maybe the contents of MANIFEST got copied somewhere else? Try realclean.
NotFound Already done. From several releases ago
Infinoid hmm, you're right. 15:32
odd, I tested that and it worked before I committed it 15:33
Coke did you realclean build and realclean? 15:36
the old realclean would have removed it, no?
Infinoid I realcleaned, reverted the deletion, configured and realcleaned 15:37
and I thought the file was still there. But I must have been wrong.
wow, "make test" takes forever on this poor old mingw box
it's a summary rm within the "test-clean" rule 15:39
Is there a better place to put that file?
15:39 amoc joined
Infinoid it's just removing t/*/*.pir 15:40
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.
Infinoid $work time, back later
15:49 flh joined 16:01 barney joined
barney created the issue github.com/bschmalhofer/pipp/issues/#issue/1 16:32
dalek pp: 6dbfee7 | (Bernhard Schmalhofer)++ | docs/ (2 files):
mention github issues. Closes GH-1
17:23
shorten dalek's url is at xrl.us/bepc4c
17:41 cognominal joined
dalek pp: 45145b3 | (Bernhard Schmalhofer)++ | src/pmc/php (2 files):
PMC_int_val() and PMC_pmc_val() are gone
17:51
shorten dalek's url is at xrl.us/bepc8t
dalek pp: 31f8a10 | (Bernhard Schmalhofer)++ | src/pmc/phpresource.pmc:
remove some yet unused code
17:55
shorten dalek's url is at xrl.us/bepc9d
rg could somebody please close RT #42411 for me? 18:10
coke maybe? (it's your's ;)) 18:11
18:18 claes joined 18:26 Casan joined
cotto rg, will do 18:27
dalek kudo: 8f5ecdc | (Moritz Lenz)++ | tools/progress-graph.pl:
better error message in progress-graph.pl
shorten dalek's url is at xrl.us/bepder
dalek kudo: 73ead21 | (Moritz Lenz)++ | docs/ChangeLog:
[docs] udpated ChangeLog
shorten dalek's url is at xrl.us/bepdet
dalek kudo: 65b3e65 | (Moritz Lenz)++ | t/spectest.data:
eight more passing test files
shorten dalek's url is at xrl.us/bepdev
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?
Coke rg: it's been closed 2x. =-) 18:29
Casan: parrot or p6? 18:30
Casan p6
Coke you might have better luck, in general, on #perl6 on freenode.
moritz Casan: you can't
Coke (also, if the discussion happened here, you can check the:) 18:31
irclogs?
purl i guess irclogs is irclog.perlgeek.de/parrot/today or see also: infrared clogs
Casan thnx
claes Coke: I spoke to pmichaud about the unicode category thingy and it wasn't implemented yet
Coke claes: k. 18:32
claes Coke: but he's showing me tomorrow how I can implement it
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.
claes: score!
claes Coke: basiclly I could just copy the parts from rakudo and write some tests for it
Casan moritz: I assume there is a design reason for this, do you know it? 18:33
dalek pp: d170576 | (Bernhard Schmalhofer)++ | build/templates/ (2 files):
Fix config vars: bin_dir -> bindir, lib_dir -> libdir
18:37
shorten dalek's url is at xrl.us/bepdgp
Coke gah, someone fix the missing file bug already. =-) 18:43
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:45
Coke is the file used ONLY for testing? 18:47
Infinoid it's used to generate the pbc file sitting next to it, which is used only for testing. 18:48
But the pir file itself seems more along the lines of tools/dev/mk_native_pbc
Coke perhaps a tools/test/foo.pir would be slightly more appropriate.
or at least, easier to get working.
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
mk_native_pbc just makes them persistent
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:51
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
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
Coke: What a glorious hack. :)
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?
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. =-)
particle- i don't want more tests breaking because an example is deleted/changed
we get that already with strings testts
Coke Infinoid: let's fix the deletion problem now, and we can find a better home for it later.
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
(so I'm not sure it has the ability to)
Coke Infinoid: you could also call the file something other than .pir 18:58
particle- what language do you need it to be in?
dalek rrot: r38180 | coke++ | trunk/config/gen/makefiles/root.in:
[t] Actually run the NQP tests as part of 'make test'
rg infinoid: i see how that would be unreadable 18:59
Infinoid particle-: perl, I guess. 19:00
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
if the test could generate the pbc file, we no longer need the pir file
particle- why can't pir generate pir? 19:01
tcl does it.
Infinoid I just don't know how, is all.
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
rg thinks it's a bit premature to stop writing tests in perl 19:02
particle- yep, should be able to do that
rg, they're *way* faster written in pure-pir
no disk io 19:03
rg particle: i don't doubt that. but they're also harder to read an manage.
Infinoid disk i/o just hits cache on the platforms I normally run, no slowdown there
rg *and
Infinoid but there's also far fewer invocations of parrot, which has to be a huge speedup too
particle- and far fewer invocations of perl 19:04
Infinoid yeah
particle- on platforms where executable images aren't shared (windows) that matters a lot
rg would prefer a higher level language than pir. 19:05
Infinoid rg: rakudo? :)
Coke rg: nqp.
rg yes, we've had that discussion before ;) 19:06
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
Coke . o O (GSOC)
particle-: compreg 'PIR' 19:08
particle- ETOOMANYLANGUAGES
Infinoid oh, nice
do we have a pir equivalent of File::Temp yet? 19:09
Coke I don't think so.
wayland76 What's leslie's list of shame? 19:10
Coke organizations in GSOC that didn't follow directions.
wayland76 oh, ok :) 19:11
claes has anyone written a PGE grammar for XML yet?
Coke someone was just asking about that.
moritz?
purl moritz is Moritz Lenz, mailto:moritz@faui2k3.org or very boring
cotto ouch.
Coke coke?
purl you are mailto:will@coleda.com or annoyed that the test program -fails- when run via valgrind, but one thing at a time. =-)
claes because I was hoping I could reuse that for E4X support eventually 19:12
Infinoid me?
purl you are Mark Glines <mailto:mark@glines.org>
Coke no, coke is mailto:will@coleda.com or perpetually annoyed.
purl okay, Coke.
Infinoid aaw.
wayland76 wayland76?
Coke no, coke is Will Coleda <mailto:will@coleda.com> or perpetually annoyed.
purl okay, Coke.
Coke wayland76 is just this guy, you know.
cotto is also glad tpf isn't on the receiving end of that message.
wayland76 Nice to actually find out people's real names :) 19:13
Coke .
wayland76 Coke: I think that's a comment. That was Zaphod :)
Infinoid purl, me is also likes shiny things
purl OK, Infinoid.
Infinoid me?
purl you are Mark Glines <mailto:mark@glines.org>
Infinoid purl, Infinoid is also likes shiny things
purl okay, Infinoid.
Infinoid me?
purl i heard Infinoid was Mark Glines <mailto:mark@glines.org> or likes shiny things
wayland76 s/comment/compliment/ :)
Infinoid that aliasing is a little weird.
wayland76 (that what happens when I IRC at 5am)
Coke wayland76: still up, or no longer asleep? 19:14
wayland76 Moritz started an XML grammar and blogged about it
months ago
Just a really weird sleeping schedule this week
I expect to go to bed at noon today :)
19:18 rblasch joined
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
wayland76 That's right. bacek and I are in the same timezone 19:21
although probably 10 or so hours drive apart
rg say isn't this page a bit outdated? trac.parrot.org/parrot/wiki/Updati...bjectModel 19:22
shorten rg's url is at xrl.us/bepdoh 19:23
Coke rg: yes, it was probably copied verbatim from the old wiki.
deleting...
particle- deleting it from the old wiki, too? 19:24
Coke so it doesn't get recreated. =-)
particle- :)
Coke someone just ed 19:25
dalek tracwiki: v64 | rg++ | WikiStart
tracwiki: remove UpdatingToUseTheNewObjectModel
tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff
shorten dalek's url is at xrl.us/bepdo2
Coke interesting. deleting pages doesn't generate a dalek bit.
particle-: don't see it on the old one. 19:26
particle- fab
Coke ah, slightly different name.
rg coke: deleting a page is like it never happened. it's also something you need extended privs for. 19:27
cotto seen darbelo
purl darbelo was last seen on #parrot 4 days, 3 hours, 24 minutes and 41 seconds ago, saying: ļæ½ [Apr 13 16:01:17 2009]
Coke rg: extended privs: I haz them. 19:28
killed it from the old wiki, too.
moritz claes: my XML grammar was fairly basic, and convered only some few features
dalek tracwiki: v6 | coke++ | GSOC2009
tracwiki: remove ref to UpdatingToUseTheNewObjectModel
tracwiki: trac.parrot.org/parrot/wiki/GSOC20...ction=diff
shorten dalek's url is at xrl.us/bepdpe
moritz claes: perlgeek.de/blog-en/perl-5-to-6/20-...r-xml.html if you're still interested 19:29
shorten moritz's url is at xrl.us/oqjku
claes moritz: ok, I'll check it out
dalek tpfwiki: will@coleda.com | Parrot
tpfwiki: www.perlfoundation.org/parrot/index.cgi?parrot
tpfwiki: will@coleda.com | Parrot 19:32
tpfwiki: www.perlfoundation.org/parrot/index.cgi?parrot
tpfwiki: will@coleda.com | Parrot 19:36
tpfwiki: www.perlfoundation.org/parrot/index.cgi?parrot
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
19:41 gryphon joined
claes or can I use <ws-\\n> or something like that? 19:41
S05 is giving me headache =( 19:42
particle- claes: \\h for horizontal whitespace, \\v for vertical 19:45
claes sweet 19:46
oh I see it now in S05 19:47
particle- it's a lot to take in
claes indeed
particle- but there are plenty of pge tests to give you hints 19:48
moritz and plenty of hackers you can ask ;-)
claes that too.. and I get to bug some of them tomorrow at the hackathon =)
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?
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
moritz ok
just want to make sure you don't duplicate unless you want ;-)
claes but as I have an interest in JavaScript I want to give it a try from scratch
particle- claes++ 19:51
dalek pp: d76c493 | (Bernhard Schmalhofer)++ | src/pmc/phpresource.pmc:
Revert "remove some yet unused code"
shorten dalek's url is at xrl.us/bepdsw
dalek pp: 5a8157f | (Bernhard Schmalhofer)++ | src/pmc/phpresource.pmc:
more reverts, make it work for Parrot r37197 again
claes I named my "Cockatoo"
shorten dalek's url is at xrl.us/bepdsy
19:51 rblasch1 joined
cotto bacek, ping 19:54
cotto feels better 20:09
20:11 perros joined
perros Hi All, 20:12
is there a way to compile any php code into parrot byte code instead of using pipp ?
PerlJam That's the only php compiler for parrot that I know of. 20:13
Why don't you want pipp?
particle- not without someone writing another php compiler....
pipp isn't anywhere near complete
perros afaik, pipp implementation status on it's site shows so many things cannot be handled at the moment 20:16
it's ongoing project
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
barney perros: Pipp could use some help
Roadsend and PHC are pretty nice too 20:18
perros I need a vm on the background like parrot
dalek kudo: 01d7ded | (Moritz Lenz)++ | (2 files):
Revert "The sub form of split() expects the delimiter as second parameter"
shorten dalek's url is at xrl.us/bepdwf
perros is it possible to use roadsend or phc compiled code on parrot vm ?
cotto perros, there's also phalanger on .net 20:19
PerlJam perros: why do you need a vm like parrot?
barney I once played with converting the PHC XML-output to PBC, but then concentrated on the PCT variant
perros apache (prefork) + php + apc is slow 20:20
nginx fcgi php-cgi is slow
as I said before, I have tested resin with Quercus php and it's very fast
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 ?
it has gc like jvm
PerlJam aye.
moritz it is a vm designed for dynamic languages... but it's not optimized for speed yet
PerlJam what moritz said 20:22
(but if you'd like to help with that, that would be great! :-)
moritz so when your primary concern is to speed things up *now*, then parrot is most likely not the way to go :/
cotto we should get a speed boost soon, but I think only allison can tell how much faster it'll be
perros :(
I have not read the parrot internals yet 20:23
PerlJam cotto: soon for 1.1?
perros is parrot vm capable of caching opcodes ? 20:24
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:25
cotto PerlJam, you'd have to ask allison, but probably after the release 20:26
perros what's the sched for 1.1 release ?
moritz next Tuesday 20:27
purl i heard next Tuesday was the local PM meeting.
perros I need a vm on a new site where the pageview is 1 million daily. it will be increased soon
moritz parrot releases are always on 3rd Tuesday of the month
PerlJam perros: throw more hardware at it. 20:28
barney use memcached
perros the problem is not hardware, my first implementation was nginx+memcached as front end server
images are cached on memcached
php handled by backend apache + php+apc server and nginx proxy server caches php output as html 20:29
but for a some period I have to disable nginx proxy due to the implentation on php codes
I cannot cache the php output, I need to backend php to work on every request 20:30
internally it connects to another site, by using nginx proxy ,I'm in trouble, because I'm only caching html output
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
is there any other solution you can suggest ?
claes rewrite your backend in something faster 20:32
moritz more hardare ;-)
cotto last I checked, most of the mature alternative PHP implementations were faster than the one from php.net
particle- #php may be more helpful
...on freenode
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
thanks for your help, I'll keep watching parrot releases, 20:34
barney perros: If you find a fast PHP, I'll add it to wiki.github.com/bschmalhofer/pipp/r...d-projects 20:35
20:36 TimToady joined
dalek kudo: 616c0b7 | (Moritz Lenz)++ | docs/ChangeLog:
remove ChangeLog entry that was reverted
20:36
shorten dalek's url is at xrl.us/bepdyy
perros If I find a alternative, i'll post it
barney perros++ 20:37
PerlJam barney: wow, I hadn't realized there were so many php compilers out there.
20:39 diakopter joined
moritz how many of them are actually feature complete (or at least nearly)? 20:39
dalek pp: f87108c | (Bernhard Schmalhofer)++ | src/pmc/phpresource.pmc:
add a yet unused PMC ATTR
20:40
shorten dalek's url is at xrl.us/bepdze 20:41
barney I was at PHP TestFest yesterday, Project 0 is the one that makes some waves
Is there a 'Reference to a PMC'-PMC ? 20:43
cotto There was a Ref PMC, but it was recently removed (after being deprecated) 20:46
.
perros barney: project 0 link is broken on your wiki
barney perros: thanks, I updated the link 20:52
21:00 gerd joined
bacek good morning 21:05
bacek needs real svn checkout to final test after merging... :-/ 21:07
cotto: pong 21:09
dalek rrot: r38181 | bacek++ | trunk/t/pmc/packfileannotationkeys.t:
[cage] Remove debug dump of created PBC. bacek--, Infinoid++
21:12
rrot: r38182 | bacek++ | trunk/config/gen/makefiles/root.in:
[cage] Remove trainling space in config/gen/makefiles.in
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.
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.
bacek rg: because they used in tests now.
cotto: I'll take a look
rg i'm not sure i follow
cotto rt.perl.org/rt3/Search/Results.html...mp;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__<%2Fa><%2Fb>%2FTITLE%3ASubject'%2C%0A Status%2C%0A QueueName%2C %0A OwnerName%2C %0A Priority%2C %0A '__NEWLINE__'%2C%0A ''% 21:15
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>'
bacek rg: previously tests which uses t/native_pbc/*pbc were skipped. 21:16
cotto wow. Those rt links are amazing.
tinyurl.com/cj7wmh
bacek cotto: looks like all open tickets about C API, not PMCs. 21:17
rg: now they used t/pmc/packfile*.t 21:18
s/used/used by/
rg bacek: they were skipped because allison wasn't happy with the stability of the tests. what are you testing for now?
bacek rg: unpacking of PBC using Packfile.pmc 21:19
21:20 bsdz joined, Whiteknight joined
bacek rg: look in t/pmc/packfile.t and t/pmc/testlib/packfile_common.pir 21:20
rg so what happens if you bump PBC_COMPAT and don't rebuild the file? 21:24
Whiteknight bad stuff 21:25
21:25 donaldh joined
rg :) 21:26
Infinoid bacek: good morning 21:28
How do you feel about making t/pmc/packfileannotations.t generate the pbc file itself, rather than having one checked in?
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"
Infinoid ah.
bsdz hi, can any of you very intelligent parrot keepers help me with a hll_map problem. i have a nopaste.
Infinoid "very intelligent"? guess that rules me out. 21:31
bsdz sorry, any one else? ;-)
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 nopaste.snit.ch/16298
bsdz i'm expecting the 2nd block in my :main sub to work like the first.
Infinoid bacek: in that case, how about invoking parrot to generate a temporary one? 21:32
(maybe I don't understand the chicken & egg problem.) 21:33
bacek Infinoid: will it work on win32?
Infinoid we need some pir equivalent of File::Temp, and then yes it should
bacek e.g. `parrot -O t/native_pbc/annotations.pbc t/native_pbc/annotations.pir`
Infinoid or write the test in perl rather than pir, I guess
oh, I see. I think so, though it might need some special "make clean" magic too 21:34
21:34 he left
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:35
bacek Infinoid: create single "portable" PBC format... 21:37
E.g. 64-bits integers, 12 bytes floats, some-endian.
21:37 bsdz joined
bacek And always (unless specified "native") creates PBCs in this format. 21:38
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....
bacek poor bot. 21:40
rg bacek: would you have the time to get that done?
Infinoid Sounds great. But longterm.
bacek rg: Yes, in next branch.
Infinoid: couple of weeks.
But rurban disagree with me about PBCs... 21:41
rg in what regard?
Infinoid Having a patch in hand is a powerful form of persuasion
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 :)
sounds worthy of a list post, at least. 21:43
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.
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
Coke++ proposed the glorious idea of moving it into a subdir, to evade the "t/*/*.pir" wildcard 21:45
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.
Infinoid yeah. wherever it goes, it will solve that clean problem 21:47
rg but bacek's suggestion will do
bacek yak... I can't regenerate MANIFEST from git-svn... 21:53
Infinoid yeah, svn metadata is a pain 21:56
let me guess, when you ran the manifest script, it tried to use svk? :) 21:57
dalek rrot: r38183 | bacek++ | trunk/t/native_pbc/testdata (2 files):
Move t/native_pbc/annotations.pir into subdirectory to prevent cleaning
21:58
22:02 he joined
dalek rrot: r38184 | bacek++ | trunk/MANIFEST:
Regenerate MANIFEST file.
22:02
rrot: r38185 | bacek++ | trunk/t/native_pbc/testdata/README:
[cage] Set svn metadata new file.
22:06
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
e.g., with mmap
bacek pmichaud: why?
pmichaud won't each process end up with its own copy of the internal interpreter structure? 22:16
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
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.
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
pmichaud but if bytecode is being generated by default in non-native formats... that might make it more difficult.
bsdz pmichaud: do you know very much about hll_map usage?
pmichaud bsdz: some. 22:19
bacek In future we can just clone existing interpreter without loading pbc in it, isn't it?
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
bsdz pmichaud: can take a look at this nopaste. doesn't seem to work as expected nopaste.snit.ch/16298
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
pmichaud Infinoid: I'm not assuming a fork, I'm assuming 1,000 copies of some program. 22:20
e.g., if there are 1,000 shell scripts running that internally invoke some Perl 6 program
Infinoid Fair enough. Whatever we do should be as efficient for as many scenarios as possible
as efficient as possible, I mean.
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.
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?
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
pmichaud bsdz: I don't think HLL mapping works that way.
Infinoid So I'm not entirely sure a conversion is necessary
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.
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
*conversions
22:23 donaldh left
pmichaud e.g., converting an integer register to a PMC 22:23
or deciding what sort of aggregate should hold a slurpy
bacek: I suspect the more likely scenario is that each platform will end up with a .pbc
22:23 pyrimidine joined
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
bacek and every commercial company will have to create pbc for each platform...
Whiteknight bsdz: No, you can't add overrides to an existing builtin-pmc class
you have to define a subclass and add overrides to that
pmichaud bacek: this is what happens already with most other packages.
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
this isn't a new concept.
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
bacek it's old concept as well.
pmichaud bacek: and I can do that with Parrot too.
Whiteknight bsdz: Try it with a subclass, I think that will do what you want it to do
bacek with 30 conversion functions for floats.
Infinoid but my platform can run the jar faster than yours can, without any clear reason why
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.
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.
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
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.
Many times we may be obtaining .pbc's that we don't have an opportunity to pass through an "installation" process.
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.)
bacek pmichaud: no-no. "Always unless specified native".
bsdz Whiteknight: have you seen this trac i created trac.parrot.org/parrot/ticket/556 22:31
pmichaud bacek: I think the default should be "native unless specified generic"
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.
bacek pmichaud: works for me.
pmichaud (and I grant you may ahve done that already and I just missed it)
bacek not yet :) 22:32
bsdz bacek, pmichaud: i think there was talk previously about platform independent pbc. not sure if you were aware
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.
bacek bsdz: url?
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
pmichaud in most cases I would expect .pbcs of large libraries and systems to be distributed in the platform-dependent format.
and .pbcs that are dynamically generated for running locally should be in the native format.
(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.
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?
bsdz sorry it was here and you guys were involved :/
bacek I agree with swapping default packing behaviour to native format.
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.
Infinoid cool.
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
s/ehe/the/
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:38
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
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:41
bacek pmichaud: good night 22:44
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:45
bacek And I'm enjoying beautiful Saturday morning :) 22:47
Infinoid save some for me! :) 22:48
22:48 pyrimidine left
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 :)
Infinoid heh
back later &
22:56 wayland76 joined
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:56
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.
he (um, "it failed for some apparently odd reason")
Coke hll_map doesn't affect it.
bsdz Coke: oh right
Coke: tbh was starting to give up :(
Coke tbh? 22:58
bsdz to be honest
thought purl would have got that
Coke tbh is to be honest
he: I have darwin/intel if you need someone to test a patch.
nopaste "bsdz" at 78.105.78.157 pasted "hll_map properly map my derived type to my new type with output" (49 lines) at nopaste.snit.ch/16300 22:59
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.
it /does/ map it.
but you're saying "new 'Integer'"
new doesn't do any mapping.
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...
Presumably if you called 'new' you knew what you were doing.
er, "knew what you wanted." 23:02
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
$P10 = new 'FooInt'
$P10[$P11] = 10
pmichaud ...autovivifying extra dimensions?
oh, you want the Int to morph itself into a container? 23:04
or you want something that can be both an Int and a container?
bsdz yes (problem is i can't change the "new 'Integer'" because it;s generated by PCT)
pmichaud sure you can.
Coke ISTR it was so that A[0] = 1, A[0][1] = 3 ; would work.
pmichaud PCT lets you pick whatever vivification type you want.
Coke bsdz: PCT should arguably be using "box"
or let pmichaud fix it. =-)
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.
that said, PCT should never be forcing "new 'Integer'"; if it does, that's really an error that I'd like to fix.
bsdz seems to generate PIR to that like. not sure if's something i do or the keyed implementation 23:06
23:06 Infinoid joined
pmichaud yes, PCT will often default to "new 'Integer'" in absence of anything telling it to do otherwise. 23:07
in the case of: A[0] = 1
if you just do PAST::Val.new( :value(1) ) then PCT defaults to 'Integer' I think
because the 1 gets boxed into an integer 23:08
but doing PAST::Val.new( :value(1), :returns('MyInt') ) forces PCT to create a MyInt instead of an Integer
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
bsdz would that work in PAST::Var.new($index, :scope('keyed'),:vivibase(...,)), ); call? 23:09
pmichaud you mean for the :vivibase? 23:10
23:10 tetragon joined
bsdz in the vivibase i have PAST::Op.new(inline(" %r = '!create_multidimensional_array'(%0, %1) "), $indices, $n,) 23:10
excuse the smily
pmichaud no, because in the example you gave, A[0] is already vivified
so :vivibase never comes into play 23:11
however, if A[0] is a MyInt
then you can get the keyed subscript to have whatever behavior you want.
bsdz oh hold on it might be my create*array. i perhaps can give it my FooInt(0) instead of Integer(0)
pmichaud Yes
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
bsdz great i have a plan C. i shall give it a spin. thanks guys 23:13
he Coke: sorry, a darwin/ppc host would be needed. 23:16
wayland76 Updated trac.parrot.org/parrot/ticket/560 again. Thanks to bacek and NotFound for their reviews so far 23:18
23:21 contingencyplan joined
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:44
23:45 contingencyplan joined
Infinoid That way I can be sure it won't affect any other platform, and thus shouldn't break anything that previously worked. 23:45
nopaste "bsdz" at 78.105.78.157 pasted "shouldn't a subclass inherit all its parents methods?" (29 lines) at nopaste.snit.ch/16302 23:46
bsdz good night from me. i'll ask again later :) 23:57