Camelia, the Perl 6 bug

IRC log for #parrot, 2009-01-20

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 dalek r35783 | allison++ | trunk/tools/dev:
00:01 dalek : [install] Provide sensible FHS-compliant default install locations (even though defaults are always overridden by makefile).
00:01 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35783
00:09 AndyA joined #parrot
00:11 Whiteknight how do you apply a patch from the console?
00:12 Whiteknight I can never remember this particular incantation
00:12 kid51 perhaps:  patch -p0 < /full/path/to/patch
00:12 kid51 ... assumes you're in the top-level of your sandbox.  Works well with 'svn diff'
00:13 Whiteknight that's it, thanks kid51++
00:18 donaldh joined #parrot
00:28 dalek r35784 | allison++ | trunk/config/gen/makefiles:
00:28 dalek : [install] Remove sketchy install warnings. Failures are *not* expected. Will fix any further reported issues.
00:28 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35784
00:29 dalek r35785 | allison++ | trunk/src:
00:29 dalek : [pdd30install] Add more descriptive introduction to src/library.c. (Reini Urban)
00:29 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35785
00:30 * jonathan wonders if make install will work on Win32 now...
00:35 dalek r35786 | allison++ | trunk:
00:35 dalek : [install] Add deprecation notice for loading PIR/PASM/PBC files without an extension.
00:35 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35786
00:41 steffen joined #parrot
00:41 steffen left #parrot
00:47 particle joined #parrot
00:53 * Casan ponders
00:57 Coke Whiteknight: pong
00:58 Whiteknight I got the does vtable override working here, and I'm about to merge it in.
00:59 Whiteknight I found an issue with the test, which turned into TT#199, but it's no big deal
01:01 Coke Whiteknight: note that :method implies more than just 'self' showing up.
01:01 Coke and thanks!
01:21 chromatic ecmascript, Cardinal, Rakudo, and squaak use the deprecated n_not opcode.
01:21 chromatic PCT and Rakudo use the deprecated n_abs opcode.
01:21 chromatic PCT, NQP, Squaak, Pynie, and abc use the deprecated n_neg opcode.
01:23 Whiteknight what else does :method imply?
01:24 chromatic Namespace visibility and storage, I believe.
01:24 Whiteknight Yeah, i figured it was something like that
01:24 Whiteknight so we don't want all the :method semantics, but we do want "self" to be accounted for
01:26 chromatic See the :vtable implies self discussion from ages ago.
01:29 tetragon joined #parrot
01:46 kid51 Re allison's post on list requesting tests of 'make install' on *nix, I have two questions:
01:47 kid51 1.  Will this be undoable?  By 'make realclean', in particular?
01:47 Coke Whiteknight: is the fix for 'does' able to go in?
01:47 kid51 2.  Dare I try this on Darwin?
01:47 chromatic 1.  No.
01:47 chromatic 2.  Can't imagine why not.
01:47 Coke you should be able to pick an install directory that you don't care about.
01:47 kid51 Well, if it's not undoable, why should I risk it?
01:48 Coke so if it goes into /usr/frob , you have an easy way to delete it all.
01:48 Coke kid51: for the cause.
01:48 chromatic That's not what 'make realclean' does.
01:48 Coke there was a request ages ago for the ability to 'make uninstall', but that's more of a thing for a packager.
01:48 kid51 So would I have to specify /usr/frob etc. as option to Configure.pl?
01:48 Coke kid51: yup.
01:48 Coke presuming it works.
01:49 Coke You could also try it in a chroot if you're paranoid.
01:49 kid51 what's a chroot?
01:49 purl a chroot is make directory new root for path lookups or a mind bender
01:49 Coke sounded like allison was asking us to kick the tires.
01:49 Coke kid51: http://en.wikipedia.org/wiki/Chroot
01:51 Coke but that's only if you're very paranoid. specifying the option in Configure.pl, and then doing a 'make -n install' first should be enough.
01:51 Coke -n == "only show me what you're planning on doing."
01:53 kid51 Will I need any Configure.pl option other than --prefix=/some/temp/dir ?
01:55 Coke kid51: if it all works, that seems proper.
01:55 Coke If you run 'make -n install', you can see if it's trying to copy anything elsewhere.
01:55 kid51 k
02:12 nopaste "kid51" at 71.247.48.67 pasted "make -n install on Linux" (83 lines) at http://nopaste.snit.ch/15365
02:14 * kid51 types 'make install' for the very first time in Parrot
02:17 nopaste "kid51" at 71.247.48.67 pasted "MANIFEST.generated Duplicate entry messages" (13 lines) at http://nopaste.snit.ch/15366
02:17 kler joined #parrot
02:17 * kler drops a pin
02:17 * purl picks it up, uses it to pick the lock on the door, and escapes from imprisonment in #perl
02:18 jimmy joined #parrot
02:18 kler hah
02:19 kid51 This doesn't look good:
02:19 kid51 ./parrot
02:19 kid51 ./parrot: error while loading shared libraries: libparrot.so.0.8.2: cannot open shared object file: No such file or directory
02:20 kid51 Even though I can clearly see this:
02:20 kid51 [li11-226:testmakeinstall] 533 $ ll lib/libparrot.so.0.8.2
02:20 kid51 -rwxr-xr-x 1 jimk jimk 18203539 Jan 19 21:14 lib/libparrot.so.0.8.2
02:21 kid51 So why can't ./bin/parrot see ./lib/libparrot.so.0.8.2 ?
02:21 kler Do you have functors in perl
02:21 kler covariant functors
02:44 contingencyplan joined #parrot
03:01 rg joined #parrot
03:02 rg kid51: i've been lurking on the irc log ;) since you installed in a non-standard location you will probably need to run ldconfig to tell the linker where to find the shared libraries
03:04 kid51 But the curious thing is, on Darwin I merely added --prefix to my usual command-line options, and it DWIMmed
03:04 rg or your could set the LD_LIBRARY_PATH environment variable (especially if you can't or don't want to use ldconfig)
03:04 kid51 To be specific, this is how I configured on Darwin:
03:05 Coke darwin doesn't use LD_LIBRARY_PATH, I don't think.
03:05 s1n when's parrot slated to move to parrot.org?
03:05 Coke s1n: the svn repository, you mean?
03:05 nopaste "kid51" at 71.247.48.67 pasted "How I tested make install on Darwin" (9 lines) at http://nopaste.snit.ch/15367
03:05 s1n Coke: yes
03:05 Coke we haven't nailed down a specific date after the last attempt.
03:05 Coke "soon"
03:06 s1n okay, i keep seeing references to "january 2009"
03:06 s1n was just curious
03:06 Coke kid51: if parrot is setup to link to a relative path for the shared library, you need to tell it where it when you run it.
03:07 Coke "man dyld"
03:07 Coke I think you want DYLD_LIBRARY_PATH on OS X.
03:07 Coke (instead of the more standard LD_LIBRARY_PATH you find on other unices)
03:07 Coke standard? common, anyway.
03:08 kid51 But on Darwin things DWIMmed -- it was on Linux that I'm having a problem.
03:08 Coke ah.
03:08 Coke in that case, LD_LIBRARY_PATH.
03:09 Coke perhaps OS X is smart enough to check relative to the binary.
03:09 rg sigh and here i was hoping that darwin was still close enough to other bsds ;)
03:09 Coke ``smart''
03:09 kid51 How would I set that to Configure.pl?
03:09 particle1 joined #parrot
03:09 Coke it's not a configure.pl option.
03:09 Coke it's a "when I run things on linux" option.
03:09 Coke you'd set it like you set your PATH.
03:10 Coke PATH:executables::LD_LIBRARY_PATH:shared libraries
03:10 Coke (whereas on windows, I think those are both spelled PATH)
03:11 chromatic LD_LIBRARY_PATH=/usr/foo ./parrot ...
03:11 chromatic ... assuming you use a bash-like shell.
03:11 Coke if this were someplace you were using on a regular basis, you'd probably put it in your startup file.
03:12 chromatic or add /usr/foo to your ld configuration file.
03:12 Coke but for a one shot, you can just set it for the current shell session (or the current invocation as chromatic noted)
03:12 kid51 And what value would I provide to LD_LIBRARY_PATH ?
03:12 chromatic The path containing libparrot.so.0.8.2
03:13 Coke s1n: yah, it'll probably be in the week after the release (which is tomorrow)
03:13 kid51 Well, I'll have to try that tomorrow.  I'm too tired to proceed farther tonight.
03:13 Coke chromatic: 'make examples_tests' fails hard.
03:13 Coke (due in large part to the fact that we actually try to compile all the examples and haven't for some time.)
03:14 chromatic It's gonna get worse when I remove the n_math opcodes in a sec.
03:14 Coke I am tempted to have the catchall script TODO a file for testing if it contains the string "WARNING: May contain invalid code" or something.
03:15 Coke (Mainly because I can't properly test half of them because they rely on library files that I don't have installed)
03:15 s1n Coke: i was curious because of the talk about rakudo leaving the nest
03:15 Coke if you can pick a sane warning message, I can hack that in.
03:15 Coke s1n: I am reminded about how much more popular rakudo is than partcl! =-)
03:15 s1n Coke: the change in domain name might rush that
03:16 s1n Coke: what can i say? people are excited about perl6
03:16 chromatic Hm, maybe n_neg isn't a good one to remove.
03:17 kid51 My Makefile on Darwin includes this:
03:17 kid51 LIBPARROT_STATIC    = blib/lib/libparrot.a
03:17 kid51 export DYLD_LIBRARY_PATH := blib/lib:$(DYLD_LIBRARY_PATH)
03:17 kid51 LIBPARROT_SHARED  = blib/lib/libparrot.$(SOVERSION)$(SHARE_EXT)
03:17 kid51 But on Linux, my Makefile does not contain the string LD_LIBRARY_PATH
03:18 chromatic Your Makefile has nothing to do with this, unless you only run ./parrot through the Makefile.
03:18 chromatic When you type ./parrot foo.pir, you're not in the shell environment of the Makefile.
03:19 rg this works for me from the parrot installation dir:
03:19 rg env LD_LIBRARY_PATH=./lib bin/parrot --version
03:19 rg this is on freebsd, however
03:20 chromatic Sure, C-shell syntax and POSIX-style linker options.
03:20 chromatic On kid51's Linux machine, it's likely:
03:20 chromatic okay, the same without 'env'
03:20 chromatic I had Darwin in mind briefly.
03:21 rg he just said darwin
03:21 chromatic Sure, but I thought he was having trouble on Linux.
03:21 rg and my manpage says: "The env utility conforms to IEEE Std 1003.1-2001 (``POSIX.1'')."  ;)
03:22 kid51 And it is on Linux that I was having problems.
03:22 kid51 But this worked on Linux:  LD_LIBRARY_PATH=./lib bin/parrot --version
03:22 kid51 But I would have expected it to happen "automatically".
03:22 chromatic How would it do that?  Linker options aren't magic.
03:23 chromatic Again, this has nothing to do with your Makefile.
03:23 kid51 Then why did it DWIM on Darwin?
03:23 chromatic If you install a shared library in a path that your linker doesn't know about, your linker won't be able to find it unless you tell it where to look explicitly.
03:23 Coke ... because that's a different operating system?
03:23 Coke as I said, darwin might be smart enough to look up relative paths.
03:24 kid51 Would it be because of the options I provide to Configure.pl on Darwin but not on Linux?
03:24 chromatic Knowing how smart Darwin isn't most of the time, I suspect he installed it somewhere Darwin's linker is already configured to look.
03:24 Coke kid51: very likely not.
03:25 Coke it is possible, I suppose.
03:25 Coke (that we are building on darwin and giving it an absolute path to the installed library, but I doubt that.)
03:25 chromatic Only if the installation directory puts the shared library somewhere the linker knows about.
03:25 kid51 chromatic:  I only just now created the directory whose value I provided to --prefix.  So that wouldn't have been in any pre-configured path.
03:25 Coke otool -arch all -L $*
03:25 s1n chromatic: flipping through the makefile, it looks like it's generating a static lib, is that right?
03:26 Coke if you replace $* with /path/to/parrot there, it should tell you how it's looking for the libparrot.
03:26 s1n chromatic: if so, it could build parrot against the static version, and install the shared?
03:26 chromatic As far as I know, we never build a static libparrot.
03:26 Coke chromatic: we claimed to, anyway.
03:26 chromatic I'm talking in fact, not marketing.
03:27 rg it did install a libparrot.a for me
03:27 s1n chromatic: the PARROT_LIBS target on my Makefile seems to do that for me
03:28 chromatic Okay, we do build one but I don't know that it actually *works*.
03:29 nopaste "kid51" at 71.247.48.67 pasted "otool -arch all -L /path/to/installed/parrot" (14 lines) at http://nopaste.snit.ch/15368
03:29 s1n chromatic: if no LD_LIBRARY_PATH is used, i'm inclined to think that the static lib is being used
03:30 rg kid51: hehe it seems to be using the build version of your shared lib :)
03:30 s1n i recant, it seems LIBPARROT is defined to use either shared or static
03:30 rg try make clean (or move the build directory) and you may have the same problem
03:31 s1n or make realclean if you're that cautious
03:31 kid51 Would there be a Linux equivalent to otools?
03:31 chromatic nm
03:32 s1n kid51: what does otools do?
03:32 rg ldd ?
03:32 purl i heard ldd was another useful thingie that comes with linux or doesn't really do anything on GNU/Linux systems except exec the program with magical environment variables that make the dynamic loader show its dependencies or the Linux Device Drivers book or "otool" on OS X.
03:32 chromatic Sorry, ldd.
03:32 kid51 rg:  Your hunch was correct. After 'make clean', I got:
03:32 kid51 $ ./bin/parrot --version
03:32 kid51 dyld: Library not loaded: /Users/jimk/work/parrot/blib/lib/libparrot.dylib
03:32 kid51 Referenced from: /Users/jimk/work/testmakeinstall/./bin/parrot
03:32 kid51 Reason: image not found
03:32 kid51 Trace/BPT trap
03:33 Coke chromatic: is this ok:
03:33 Coke otool -arch all -L $*
03:33 Coke bah.
03:33 chromatic Dunno, I don't use Darwin.
03:33 Coke 42:my $todo_check = qr/WARNING: This file doesn't currently compile\./m;
03:33 s1n man, people say linux is goofy :)
03:33 Coke going to put that into any example that fails the test.
03:33 kid51 So, to the extent that 'make install' worked on Darwin, it was a mistake.  Because I can't rely on the continued existence of my build dir.
03:33 chromatic Apparently we have the linker options wrong on Darwin.
03:33 chromatic Some surprise.
03:34 Coke s1n: that otools command is my 'ldd' alias on darwin.
03:34 petdance joined #parrot
03:34 chromatic Coke, seems sensible to me, but why?
03:34 rg chromatic: i would expect that to simply be the default to like in the current location of the shared libarary
03:34 Coke chromatic: because I can't fix all the examples before the release?
03:35 s1n linux does not assume anything with LD_LIBRARY_PATH, does darwin?
03:35 Coke basically, having this will force us to at least document that the example is not currently expected to work to the uesr.
03:35 chromatic rg, we want to prefer the blib/lib version for development builds, but not for installable builds.
03:35 rg kid51: having to specify the location of the shared lib is kinda expected behaviour
03:35 s1n if so, that seems like a _huge_ security flaw (how someone else didn't see that is beyond me)
03:35 Coke (who will not run the test in advance to find that out.)
03:35 nopaste "kid51" at 71.247.48.67 pasted "ldd bin/parrot on Linux" (31 lines) at http://nopaste.snit.ch/15369
03:36 Coke chromatic: but if you think it's a waste of time, I'll not bother. doesn't matter to me.
03:36 s1n kid51: libparrot not found?
03:37 kid51 That's on Linux.
03:37 jimmy joined #parrot
03:37 jimmy Trac detected an internal error:  OperationalError: database is locked
03:37 Coke jimmy: happens. wait 2m, try again.
03:37 kid51 jimmy:  That happens.
03:37 s1n kid51: that doesn't look right, i have libparrot pointing to my sandbox version
03:38 Coke trac--
03:38 chromatic libparrot won't be found unless you set LD_LIBRARY_PATH somehow, or configure ld to look in the directory containing libparrot.
03:38 Coke s1n: in your build dir or install dir?
03:38 jimmy https://trac.parrot.org/parrot/timeline is too long, I think.
03:38 s1n Coke: blib
03:39 s1n chromatic: on both my gentoo system and my arch system, they're found in my blib folder
03:39 chromatic Hm, how bad do people expect the Rakudo spectests to be right now?
03:39 kid51 otool - object file displaying tool
03:40 chromatic Okay, let me repeat then.  FOR AN INSTALLED PARROT BINARY, libparrot won't be found unless you set LD_LIBRARY_PATH somehow, or configure ld to look in the directory containing libparrot.
03:41 chromatic Substitute the appropriate environment variable name and dynamic loader for Darwin.
03:41 s1n http://nopaste.snit.ch/15370
03:41 s1n chromatic: oh, yeah i agree then heh
03:42 kid51 s1n:  And that paste came *after* you called env LD_LIBRARY_PATH=./lib -- correct?
03:43 s1n kid51: you mean export?
03:44 s1n kid51: that was on a blib (built, not installed) binary, just did a 'ldd parrot'
03:44 rg i'm wondering, do you intend to keep all those directories on the install level?
03:45 * kid51 must sleep
03:45 purl $kid51->sleep(8 * 3600);
03:45 Coke svn st
03:45 Coke ww
03:49 Coke chromatic: https://trac.parrot.org/parrot/ticket/200, if you feel like applying it.
03:49 chromatic I'm trying to figure out if I broke Rakudo.
03:50 chromatic You might think "Hey, they have tests!" that this would be easy to determine.
03:50 * Coke wishes whiteknight had applied his patch. :|
03:50 chromatic I mean, having *invented* part of Perl's testing infrastructure, I thought that.
03:50 chromatic Oh, did I mention I *ported* the relevant parts of Perl's testing infrastructure to Perl 6 way back in 2005?
03:51 chromatic But no... it's not there... so I don't get debugging output.
03:51 Coke didn't ovid just post a patch for that?
03:51 chromatic Dunno.
03:51 s1n chromatic: do you know which test you want to run with debugging output?
03:51 * Coke sees if tcl works with trunk still.
03:52 chromatic s1n, I do.  I'm ending up patching Test.pm so it prints out the values which didn't match in an is() call.
03:52 chromatic Actually, that's a lie.
03:52 s1n chromatic: don't do that
03:52 s1n chromatic: put the test in t/localtest.dat, and do a 'make localtest_loud'
03:52 chromatic Right now, I'm not enjoying following a redirect from dev.perl.org's synopses to the Pugs SVN repository and searching raw POD by hand.
03:53 chromatic Oh yeah, that's obvious.
03:53 chromatic How is that going to give me diagnostic output?
03:53 chromatic Test.pm DOES NOT SUPPORT DIAGNOSTIC OUTPUT.
03:53 s1n chromatic: it prints all the tests
03:54 chromatic So does 'make t/path/to/test.t'
03:54 Coke chromatic: look on recent perl6 list, subject "New Test.pm (not a patch)"
03:54 chromatic Okay, so to finish deprecating ops which have been on the hit list since 0.7.1, I have to fix Rakudo's Test.pm.
03:55 nopaste "coke" at 72.228.52.192 pasted "for chromatic." (261 lines) at http://nopaste.snit.ch/15371
03:55 s1n chromatic: yeah, i guessed they changed the single test to be verbose too
03:55 chromatic Hm, that file does improve things.
03:56 Coke ovid++
03:56 s1n chromatic: what's broken with rakudo's Test.pm?
03:56 Coke (deprecating ops) yah... we can't even get folks to clean up core when we do that, not surprising that it doesn't happen sooner in languages.
03:56 Coke s1n: I believe he alrady said that 4 times. =-)
03:57 Coke here:
03:57 Coke 22:53 <@chromatic> Test.pm DOES NOT SUPPORT DIAGNOSTIC OUTPUT.
03:58 s1n okay, maybe i just didn't get what he meant by that and that was his core problem
03:58 Coke I believe ovid's patched test.pm gives you things like "I got this output, but expected this other thing."
03:58 chromatic Yes, that's what it does.
03:59 Coke chromatic: crap; you broke tcl. =-)
03:59 chromatic not ok 13 - got the right absolute value for 1
03:59 chromatic # have: Bool::False
03:59 chromatic # want: -1
03:59 s1n oooo
03:59 chromatic How'd I break Tcl?  I haven't checked in anything interesting in a week.
03:59 Coke didn't you remove the ops? I'm just pre-emptively blaming you.
03:59 Coke I also don't update as often as I used to.
04:00 chromatic I haven't removed them yet.  I'm trying to unbreak the languages which'll break when I remove them.
04:00 Coke that is decent of you.
04:00 chromatic I'm a decent sort of fellow.
04:01 s1n benefits of being in the nest
04:01 Coke urk? I'm failing float division? wtf.
04:01 Coke s1n: it only works for some languages. =-)
04:01 s1n Coke: true, i don't imagine an algol or whitespace impl would get any love
04:02 Coke wtf. [expr 1/3.0] => 'divide by zero' in tcl now.
04:03 Coke also [expr 1.0/3.0]
04:06 Coke I have a TclFloat with a string value of "3.0" which is comparing numerically equal to 0.
04:07 Coke ... ah. it's probably cotto's changes, i bet.
04:09 cotto that sounds like it could be my fault
04:09 Coke I don't implement get_number in my dynpmc subclass of float.
04:09 Coke I do have a reference to PMC_num_val(SELF) in the stringification; that works.
04:09 Coke $N0 = $P0 ? that returns 0.
04:09 Coke (even if $P0 isn't 0)
04:10 Coke cotto: if you check out a fresh copy of tcl, you can see it by running prove t/cmd_exprOld.t
04:10 Coke (or ./tclsh -e 'puts [expr 1.0/3.0]')
04:11 Coke partcl source?
04:11 Coke partcl?
04:11 purl well, partcl is tcl on parrot or http://code.google.com/p/partcl or slow and a memory pig and pretty much not usable.
04:11 Coke cotto: http://code.google.com/p/partcl/wiki/PartclSource
04:11 Coke (pick the developer version, not the stable version)
04:12 Coke gnight.
04:14 cotto running now
04:15 cotto there it is
04:17 dalek r35787 | chromatic++ | trunk (17 files):
04:17 dalek : [ops] Removed n_abs, n_bnot, n_bnots, and n_not opcodes; cleaned up langauges
04:17 dalek : which use them.  See RT #58410.
04:17 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35787
04:25 petdance joined #parrot
04:25 davidfetter joined #parrot
05:01 Theory joined #parrot
05:09 Theory joined #parrot
05:19 dalek r35788 | chromatic++ | trunk (17 files):
05:19 dalek : [PMC] Changed new_from_string VTABLE entry name to instantiate_str, per RT
05:19 dalek : #47011.  That's good enough to meet the deprecation goal.  Sigh.
05:19 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35788
05:29 particle joined #parrot
05:36 Tene joined #parrot
05:48 tetragon joined #parrot
06:00 donaldh joined #parrot
06:01 clunker9_ joined #parrot
06:11 iblechbot joined #parrot
06:19 MariachiElf joined #parrot
06:52 dalek r35789 | infinoid++ | trunk (3 files):
06:52 dalek : [cage] Fix some codingstd failures.
06:52 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35789
06:58 moritz what's the easiest way to find the date of an arbitrary svn revision?
06:58 Infinoid I tend to parse it out of the "svn log -r$REV" output
06:59 moritz good idea
06:59 purl moritz: Good Idea: Playing catch with your grandfather. Bad Idea: Playing catch >with< your grandfather.
06:59 Infinoid s/log/info/ might make it a bit easier to parse.
07:00 Infinoid and has the benefit of giving you an answer, even if the revision in question didn't apply to your checkout (e.g. in a branch somewhere else)
07:07 allison joined #parrot
07:28 jimmy joined #parrot
07:50 particle1 joined #parrot
08:27 riffraff joined #parrot
08:46 cotto allison, ping
08:48 cotto unping
08:53 moritz I tried 'make install' with --prefix=/tmp/parrot/
08:53 moritz $ /tmp/parrot/bin/parrot
08:53 moritz /tmp/parrot/bin/parrot: error while loading shared libraries: libparrot.so.0.8.2: cannot open shared object file: No such file or directory
08:53 moritz (r35789)
08:54 cotto ld.so.conf issue?
08:54 cotto (I haven't played with installing myself yet.)
08:56 moritz LD_LIBRARY_PATH=/tmp/parrot/lib /tmp/parrot/bin/parrot seems to work
09:25 Hunger joined #parrot
09:31 HG` joined #parrot
09:36 kj joined #parrot
09:39 Hunger joined #parrot
09:41 tomyan joined #parrot
09:45 barney joined #parrot
10:09 particle joined #parrot
10:13 rob joined #parrot
10:23 ChrisDavaz joined #parrot
10:30 dalek r35790 | fperrad++ | trunk:
10:30 dalek : [PLATFORM]
10:30 dalek : - update for MinGW gcc 3.4.5
10:30 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35790
10:32 dalek r35791 | fperrad++ | trunk:
10:32 dalek : [Lua] update NEWS
10:32 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35791
10:34 dalek r35792 | fperrad++ | trunk/languages/lua:
10:34 dalek : [Lua]
10:34 dalek : update CREDITS
10:34 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35792
10:50 dalek r35793 | cotto++ | trunk/src/pmc:
10:50 dalek : [pmc] make indentation more consistent with other PMCs
10:50 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35793
10:58 gaz joined #parrot
11:10 dalek r35794 | kjs++ | trunk/compilers/pirc/src (6 files):
11:10 dalek : [pirc] start of implementation of line counting. Flex' linecounting and flex+bison token interaction make that the current line is not always reported correctly.
11:10 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35794
11:17 jonathan Argh! Something has changed and made a bunch of Rakudo tests fail. :-(
11:17 dalek r35795 | jonathan++ | trunk:
11:17 dalek : Few NEWS tweaks to make Rakudo news a bit more precise and also mention bytecode annotations.
11:17 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35795
11:21 jonathan Ah. It's just the test harness changes.
11:21 cotto If it was '93, I was going to quit.
11:22 jonathan 35793  cotto [pmc] make indentation more consistent with other PMCs
11:22 jonathan No, i think not!!
11:22 jonathan :-)
11:24 cognominal jonathan, what is the meaning of the cross in the flag of slovakia?
11:24 cotto so apparently it's a bad idea to tell Boolean.set_bool to use SUPER (i.e. Integer), when Integer.set_bool ends up calling Boolean.set_bool.
11:25 cognominal it looks like a "croix de Lorraine"
11:27 ruoso joined #parrot
11:29 jonathan cognominal: Double cross is a symbol of the Christian religion (which is important part of the country's history), and the three hills represent three mountains.
11:29 jonathan cognominal: More at http://en.wikipedia.org/wik​i/Coat_of_arms_of_Slovakia
11:33 cognominal thx
11:41 ruoso joined #parrot
11:45 dalek r35796 | jonathan++ | trunk/languages/perl6:
11:45 dalek : [rakudo] Seems Test.pm was patched with extra features, but unfortunately that causes it to break on a few tests. This patch tweaks the workaround for some things not having a .perl method, which gets us passing pretty much everything again, aside from fail.t, which I'm really not sure what is wrong with yet...
11:45 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35796
11:53 desertmax joined #parrot
11:55 ruoso joined #parrot
12:06 ruoso_ joined #parrot
12:15 dalek r35797 | coke++ | trunk:
12:15 dalek : fix typo, minor reformat.
12:15 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35797
12:20 ruoso joined #parrot
12:22 dalek r35798 | jonathan++ | trunk/languages/perl6/src/parser:
12:22 dalek : [rakudo] newclosure clones, but the signature is lost during the clone since it's attached as a property. This re-instates it, which happily is all that's needed for role parameters to act as type constraints.
12:22 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35798
12:30 particle1 joined #parrot
12:32 slavorg joined #parrot
12:38 ruoso joined #parrot
13:23 dalek r35799 | jonathan++ | trunk/languages/perl6/src/classes:
13:23 dalek : [rakudo] Track what roles we have already created and re-use them appropriately. For example, every time you said does Foo[Int] before, it would have created a new Parrot role. Now it creates one and re-uses it. This means that .does(Foo[Int]) tests now work also.
13:23 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35799
13:30 Coke msg Whiteknight any chance we can get that patch in before the release?
13:30 purl Message for whiteknight stored.
13:36 Coke msg cotto : any idea how I can fix tcl?
13:36 purl Message for cotto stored.
13:37 Coke msg cotto (if it requires parrot changes, I want to get them resolved before the release. If it's just partcl changes, that can wait a day or 3.)
13:37 purl Message for cotto stored.
13:50 Whiteknight joined #parrot
13:51 Coke Whiteknight: ah, there you are. =-)
13:51 Whiteknight hola
13:51 purl what's up, Whiteknight.
13:52 dalek r35800 | bernhard++ | trunk/languages/pipp (5 files):
13:52 dalek : [Pipp] check for keyword 'static' in class member declarations
13:52 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35800
13:52 Whiteknight what's the dill purl?
13:52 Coke que tal? donde esta mi parche?
13:52 dalek r35801 | bernhard++ | trunk/languages/pipp/src/pct:
13:52 dalek : [Pipp] handle class_member_definition in a single location
13:52 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35801
13:52 Whiteknight Coke, I was going to put the patch in after the release
13:52 dalek r35802 | bernhard++ | trunk/languages/pipp/src/pct:
13:52 dalek : [Pipp] delete commented out code
13:52 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35802
13:52 dalek r35803 | bernhard++ | trunk/languages/pipp/src/pct:
13:52 dalek : [Pipp] Eliminate $methods_block
13:52 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35803
13:52 Whiteknight unless nobody has a problem with me sneaking it in now
13:53 Coke Whiteknight: seems like fixing a bug before the release is a good thing. =-)
13:53 Coke if you don't, can you post the patch on the ticket?
13:53 Coke then I can at least run with it locally and move on.
13:53 Whiteknight Okay, I can do that
13:54 Whiteknight last night I ran into a weird segfault during make test that I couldn't reproduce, so I decided not to merge it until after the release
13:54 Whiteknight since I couldn't reproduce it, I can't prove that my changes caused the segfault (I suspect that they did not, considering the test that failed), but I still didn't want to do it
13:55 Coke fair enough. I'm just trying to make sure I can use a recent parrot with my stable partcl builds; as it is, I missed the last release.
13:57 Coke and with cotto's changes breaking partcl, I'm going to be a little stuck again. (can't back up a few revs of tcl and use that as stable, because that change will break /all/ revisions of partcl.) So I guess it doesn't matter if you add yours or not if the other issue is not resolved.
14:06 dalek r35804 | bernhard++ | trunk/languages/pipp/t/php:
14:06 dalek : [Pipp] add test with member declaration after method declaration
14:06 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35804
14:07 dalek r35805 | bernhard++ | trunk/languages/pipp/src/pct:
14:07 dalek : [Pipp] Create the class in the 'open' block
14:07 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35805
14:14 Whiteknight Okay, I'll try to get the patch posted within the hour
14:16 Coke Thank you. (it won't help me use the parrot release for stable, as I said, but will definitely help me on partcl trunk)
14:20 dalek r35806 | jonathan++ | trunk/languages/perl6/src/classes:
14:20 dalek : [rakudo] Make a role pun a class when you call .new on it.
14:20 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35806
14:21 dalek r35807 | jonathan++ | trunk/languages/perl6/t:
14:21 dalek : [rakudo] Add spectest for role punning/instantiation.
14:21 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35807
14:23 gryphon joined #parrot
14:26 dalek r35808 | bernhard++ | trunk/languages/pipp/src/pct:
14:26 dalek : [Pipp] order of declaration don't matter
14:26 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35808
14:26 dalek r35809 | bernhard++ | trunk/languages/pipp/src/pct (2 files):
14:27 dalek : [Pipp] Put code for class_member_definition into an action
14:27 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35809
14:44 eric256 joined #parrot
14:46 riffraff joined #parrot
14:47 riffraff hi
14:47 purl hello, riffraff.
14:49 eric256 does feather have rakudo running and updated on it? wanted to use it to test stuff on, but didn't want to take up the space to download and make rakudo if its already on there
14:51 particle joined #parrot
14:53 Coke I think everyone has their own copy for now; wouldn't worry about one more just yet.
14:53 PerlJam There is a parrot installed on feather.
14:53 PerlJam unfortunately it's version 0.6.1
14:53 Coke PerlJam: perhaps you can fix that after the release today.
14:53 eric256 ahh okay, i thought the eval bot might be on there or something so i could just use its
14:54 PerlJam Coke: I will indeed.
14:54 Coke evalbot is on feather3.
14:55 eric256 ohhh. didn't know there were multiple feathers
14:57 eric256 http://www.parrotcode.org/source.html redirects to parrot.org which seems to be down
14:58 PerlJam eric256: not for me
15:00 eric256 hmm www.parrot.org isn't resolving for me
15:00 eric256 but webbased lookup works...must be an issue along my DNS
15:01 moritz works here
15:01 eric256 yea i can get parrot.org to resolve to an ip but not www.parrot.org
15:01 * eric256 goes to check on his DNS server
15:06 dalek r35810 | bernhard++ | trunk (4 files):
15:06 dalek : [Pipp] initial support for static members
15:06 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35810
15:07 Zaba joined #parrot
15:08 eric256 yea back in now....very odd... btw parrot++ and parrots website ++ ;) its very nice looking
15:16 pmichaud good morning, all
15:17 moritz good evening pmichaud :)
15:17 jonathan morning pmichaud
15:17 jonathan well, afternoon here... :)
15:18 pmichaud I'm still on a tight schedule today -- anything pressing I need to look at?
15:18 jonathan Not really.
15:18 jhorwitz joined #parrot
15:18 jonathan We got a new spectest fail.
15:18 jonathan Well, we had a lot of fails...chromatic I think applied Ovid's patch for Test.pm.
15:19 pmichaud I _really_ don't want people mucking with Test.pm .
15:19 jonathan And it's code for _is_deeply was a bit...interesting.
15:19 pmichaud Test.pm is going away.
15:19 jonathan nodnod
15:19 pmichaud I don't mind if we revert that patch.
15:19 moritz oh right, I have to write that mail to p6l...
15:19 jonathan It was a 5 minute job to patch it up, so I did that and left it to your call as to what to do in the long run.
15:20 pmichaud in the long run, moritz needs to write the mail to p6l.
15:20 pmichaud :-)
15:20 jonathan :-)
15:20 jonathan Other than that, we are failing some of, ironically, fail.t
15:21 jonathan pmichaud: I'm looking at getting in the thing that keeps track of if we have a proto.
15:21 jonathan And then makes other things in that scope or below of the same name multis.
15:22 jonathan Until someone declares an only or something.
15:22 pmichaud jonathan: sounds okay, although I'm falling way behind in code review.
15:22 jonathan I'm doing something like
15:22 jonathan $?BLOCK[0].symbol($past.name(), :does_callable(1), :is_proto(1));
15:22 jonathan As in, storing this in the block symbols.
15:22 jonathan Sound reasonable?
15:22 pmichaud is_proto in the symbol table is fine.
15:22 pmichaud sounds very reasonable.
15:22 jonathan OK
15:23 jonathan So we have a way yet, other than looping over it, to look down through the blocks?
15:23 jonathan For the first entry of a given name?
15:23 pmichaud look up, you mean?
15:23 pmichaud yes, there's a sub.
15:23 jonathan yes ;-)
15:23 jonathan oh
15:23 jonathan outer_symbol
15:24 jonathan OK, awesome.
15:24 pmichaud yeah, that's the one.
15:24 pmichaud (you found it before me -- distracted here again :-|
15:25 jonathan I've got a guest arriving tomorrow, then heading to Stockholm at the weekend for my birthday, then the weekend after will be the Bulgarian Perl Workshop.
15:25 jonathan So we can exchange the distracted hat soon. ;-)
15:25 pmichaud indeed.
15:26 pmichaud that's also likely the time that we'll be revamping the build sequence for Rakudo.
15:26 jonathan OK
15:26 jonathan I will be around a reasonable amount, I expect.
15:26 pmichaud so you might need to adjust your "how to obtain and build rakudo" slides for the workshop :-)
15:26 pmichaud What's the replacement opcode for n_neg ?
15:27 jonathan I was wondering that...
15:27 moritz pmichaud: I updated parrot's NEWS for rakudo, hope you review/correct it before the release (sorry to distract again)
15:27 pmichaud moritz: will do, thanks
15:27 jonathan moritz: I tweaked it a little already too. ;-)
15:27 pmichaud updating NEWS was on my list to do this morning, glad it's less work now :-)
15:28 jonathan pmichaud: Yes, hopefully we're moved before the workshop.
15:28 jonathan So I can give people the right details.
15:28 PerlJam pm: made any desicions wrt git/svn for rakudo's repo?
15:28 pmichaud pj: if we figure out what to do with spectests, we can move to git.  Otherwise we stay with svn.
15:29 moritz in the long term, I don't object to moving the spectests to git
15:29 pmichaud alternately, we start publishing nightly/weekly/periodic tarballs.
15:29 pmichaud moritz: unfortunately, I need a short-term answer.
15:30 moritz well, if somebody does the transition, makes sure it works for all (!) implementations and guides me through the git confusion - yes
15:30 PerlJam pm: I've been thinking about it and it seems the "right" solution (though I don't like it) is to stick with svn.  Sure you can't do all of the nifty things with svn that you can with git, but then you *can* use a git client to access the repo.
15:31 pmichaud I'm wondering if we're asking the wrong question.
15:31 pmichaud up to now we've been telling people to use subversion to get the latest copy of parrot.
15:31 jonathan And easy short term answer could be, stick with SVN for now, aim to continue to always at least have an SVN mirror (that can become readonly if we switch to git some day) and continue to look into GIT "in the background"
15:31 pmichaud perhaps we should just be saying "grab the latest tarball"
15:31 PerlJam pm: yeah
15:31 pmichaud and then developers have to have both svn and git.
15:31 pmichaud and the tarballs would include the spectests.
15:31 jonathan pmichaud: svn up is easier than getting a latest tarball, mind...
15:32 jonathan But depends how closely people want to track it.
15:32 jonathan I guess maybe not daily.
15:32 jonathan So as long as it's possible to get a pretty up to date one, that'd be OK.
15:32 pmichaud well, I already know that for a while, monthly releases aren't frequent enough for rakudo.
15:33 pmichaud however, that doesn't mean that everyone needs to be at trunk/head, either.
15:33 pmichaud there's something to be said for nighly tarballs, or weekly releases.
15:33 PerlJam (nightly tarballs)++
15:34 Whiteknight I agree with that entirely. svn HEAD is too volatile to track closely
15:34 pmichaud however, I also would like to preserve the ability for people to (easily) contribute to t/spec, without having to checkout all of pugs or manage links between them.
15:34 NotFound I'll swicth from trunk to drunk if we're going to swicth main developper tools each month or week.
15:34 PerlJam git handles integrating patchs just fine  ;)
15:35 dalek r35811 | bernhard++ | trunk/languages/pipp/src/pct (2 files):
15:35 dalek : [Pipp] Use class_member_or_method_definition as a wrapper for stuff
15:35 dalek : inside a class definition
15:35 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35811
15:35 pmichaud anyway, we could say that rakudo requires svn (for t/spec), and that rakudo committers need git+svn
15:36 pmichaud most others are likely to be submitting patches anyway.
15:36 pmichaud rakudo+parrot committers are going to need both git+svn anyway (again this is all assuming that rakudo switches to git)
15:37 PerlJam If you have git, there's no need for svn.  Just use the git-svn client.
15:37 pmichaud yeah, I haven't played enough with git to know.  git-svn exists for windows, too?
15:37 davidfetter s/If you have git, t/T/
15:37 PerlJam yes, though I haven't used it.
15:38 PerlJam git-svn is a perl program  :)
15:38 PerlJam davidfetter: ha!
15:38 * davidfetter has finally come around to linus's idea that there's no way to "do cvs right"
15:39 davidfetter it only took a few years :)
15:39 NotFound davidfetter: It's easy: just look at where the keys C, S and B are in the keyboard ;)
15:40 NotFound ops, V
15:40 davidfetter heh
15:41 PerlJam The ability to checkout a svn repo at any level within the directory structure is an interesting feature that svn still has over git.  AFAIK, you still need to checkout the entire repo to get at a subdir with git.
15:41 davidfetter git repos are small enough that i don't see this as a problem
15:41 PerlJam It's not always a question of size.
15:42 jonathan Tell that to my spam box.
15:42 davidfetter ?
15:43 PerlJam I guess for the example I was thinking of, there'd just be an extra step of creating a link to the right subdir and you're done.
15:44 PerlJam (say pugs and rakudo are in git, and rakudo only wants t/spec from pugs for instance)
15:44 PerlJam it's an extra step compared to just "svn co URL"
15:47 pmichaud do we know what commit started the spectest failures in Rakudo?
15:47 dalek r35812 | pmichaud++ | trunk/languages/perl6/docs:
15:47 dalek : [rakudo]: spectest-progress.csv update: 292 files, 6280 passing, 171 failing
15:47 pmichaud we probably need those fixed before the release.
15:47 dalek : Failure summary:
15:47 dalek :     S04-exceptions/fail.rakudo 1 - 42
15:47 dalek :     S04-exceptions/fail.rakudo 3 - fail() causes our sub to return (1)
15:47 dalek :     S12-attributes/delegation.rakudo aborted 41 test(s)
15:47 dalek :     S12-class/anonymous.rakudo aborted 3 test(s)
15:47 dalek :     S12-role/basic.rakudo aborted 3 test(s)
15:47 dalek :     S29-str/chomp.rakudo aborted 14 test(s)
15:47 dalek :     S29-str/unpack.t aborted 2 test(s)
15:47 dalek :     integration/99problems-31-to-40.rakudo aborted 65 test(s)
15:47 dalek :     integration/99problems-51-to-60.t aborted 37 test(s)
15:47 dalek :     integration/say-crash.t aborted 4 test(s)
15:47 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35812
15:47 davidfetter does svn have something similar to git-bisect ?
15:48 jonathan pmichaud: That was at midnight. Now only fail.t has issues after I patched the harness.
15:48 PerlJam davidfetter: people have invented tools like that for svn yes
15:48 pmichaud jonathan: I'm still curious to know what changed that caused the failur.
15:48 davidfetter cool :)
15:48 pmichaud *failure.
15:48 jonathan pmichaud: The original patch that went in, or my fix?
15:48 * jonathan looks up both for pm
15:48 pmichaud the original.
15:48 purl NO perigrin is THE ORIGINAL!
15:49 pmichaud I saw the fix already.
15:50 jonathan http://parrotvm.org/svn/parrot/revision/?rev=35787
15:51 Coke (git-bisect) see svn-bisect on CPAN, and svnbinarysearch
15:52 Coke svn-bisect is interactive and modeled closely after git-bisect (and is written by infinoid). the other is intended to be run on autopilot.
15:52 Coke (and is written by me.)
15:54 davidfetter heh
16:03 Infinoid there are a couple of other tools floating around on the internet called "svn-bisect", too
16:03 Infinoid shell scripts and the like
16:19 Theory joined #parrot
16:22 Hinrik joined #parrot
16:27 wknight8111 joined #parrot
16:31 dalek r35813 | fperrad++ | trunk:
16:31 dalek : [win32]
16:31 dalek : - add reference to ctags
16:31 dalek : - remove reference to m4 & SVN::Client
16:31 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35813
16:34 dalek r35814 | julianalbo++ | trunk (8 files):
16:34 dalek : C++ buildability issues
16:34 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35814
16:37 dalek r35815 | bernhard++ | trunk/languages/pipp (2 files):
16:37 dalek : [Pipp] Assign __CLASS__ with parsed classname
16:37 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35815
16:37 dalek r35816 | bernhard++ | trunk:
16:37 dalek : update NEWS, __CLASS__ for Pipp
16:37 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35816
16:43 Whiteknight urg, every time I try to commit these changes, I get the error that my checkout is out of date
16:44 dalek r35817 | jonathan++ | trunk/languages/perl6/src/parser:
16:44 dalek : [rakudo] If a routine is marked as proto, then all routines after that not declared multi will be made to be multis.
16:44 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35817
16:45 dalek r35818 | Whiteknight++ | trunk (2 files):
16:45 dalek : [does] Allow VTABLE_does to be overriddable in PIR. Add a few tests for this feature
16:45 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35818
16:48 bacek joined #parrot
16:54 Coke Whiteknight: type faster.
16:54 Coke seen cotto?
16:54 purl cotto was last seen on #parrot 5 hours, 29 minutes and 43 seconds ago, saying: so apparently it's a bad idea to tell Boolean.set_bool to use SUPER (i.e. Integer), when Integer.set_bool ends up calling Boolean.set_bool.
16:54 Coke Whiteknight++
16:54 Whiteknight Coke: it's in!
16:55 Whiteknight haha, that recursion of cotto's does seem like a bad idea!
16:55 PerlJam Whiteknight: surely you "svn up" prior to your commit?
16:56 dalek r35819 | bernhard++ | trunk (3 files):
16:56 dalek : [Pipp] Add support for __METHOD__
16:56 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35819
16:56 Coke Whiteknight: what is 'submessage' ?
16:56 Coke looks like you set it and never use it?
17:00 Whiteknight Coke, I just needed to use "self" somewhere to make sure the :vtable was also treated as a :method
17:00 Whiteknight it's basically a dummy line, but throws a huge error if you omit it
17:02 Whiteknight We seriously need to redo the handling of :vtable eventually, but this makes it work for now
17:08 hercynium joined #parrot
17:12 particle1 joined #parrot
17:21 * Infinoid updates svn-bisect to be more git-bisect-like
17:21 * jonathan gets an RT ticket about done
17:28 eric256 left #parrot
17:31 chromatic joined #parrot
17:32 integral joined #parrot
17:42 alvar joined #parrot
17:48 dalek r35820 | jonathan++ | trunk/src:
17:48 dalek : [core] Resolve RT#45999 by making role composition handle multis.
17:48 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35820
17:52 dalek r35821 | jonathan++ | trunk/languages/perl6/src/builtins:
17:52 dalek : [rakudo] Compose roles at class composition time, rather than as we encounter them.
17:52 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35821
17:56 chromatic Feel free to revert that change to Test.pm.  It was a local patch I accidentally committed.
17:56 jonathan chromatic: Ah. :-)
17:56 bacek joined #parrot
17:57 tomyan left #parrot
17:57 chromatic I found debugging failing Rakudo tests impenetrable without diagnostics.
17:58 dalek r35822 | pmichaud++ | trunk:
17:58 dalek : [rakudo]:  More NEWS updates.
17:58 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35822
17:59 dalek r35823 | pmichaud++ | trunk:
17:59 dalek : [pge]:  NEWS updates
17:59 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35823
18:01 pdcawley joined #parrot
18:01 dalek r35824 | Whiteknight++ | trunk:
18:01 dalek : [NEWS] add note about 'does' and 'morph' vtable overrides
18:01 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35824
18:04 khatar hello guies
18:04 Whiteknight parrotsketch logs?
18:04 purl parrotsketch logs is probably http://www.parrotcode.org/misc/parrotsketch-logs/
18:04 khatar as the squaak tutorial is broken, is there another one to start from scratch ?
18:05 Whiteknight are there any more up-to-date parrotsketch logs?
18:05 moritz Whiteknight: http://irclog.perlgeek.de/parrotsketch
18:06 dalek r35825 | pmichaud++ | trunk:
18:06 dalek : [pct]:  Update NEWS.
18:06 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35825
18:10 Casan joined #parrot
18:11 kj joined #parrot
18:11 dalek r35826 | jonathan++ | trunk/t/oo:
18:11 dalek : [t] Tests for composition with multis.
18:11 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35826
18:12 dalek r35827 | Whiteknight++ | trunk:
18:12 dalek : [NEWS] update with some older newsitems I should have added previously
18:12 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35827
18:23 dalek r35828 | fperrad++ | trunk:
18:23 dalek : [win32]
18:23 dalek : - add OpenGL
18:23 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35828
18:29 Whiteknight ps in 1
18:29 Whiteknight (right?)
18:29 kj did we change again?
18:29 kj I think in 61..
18:29 Whiteknight change? you mean there's been another daylight savings time change?
18:29 moritz kj: try date --utc
18:30 kj mmm. I seem to remember it was 19:30, GMT
18:30 kj date --utc
18:30 kj ?
18:30 chromatic Hm, now I'm confused.
18:30 szabgab is there a system() in perl 6 and is anything like that implemented in rakudo already /
18:30 szabgab ?
18:30 moritz szabgab: it's called run()
18:30 barney It was, and is, 18:30 UTC
18:31 moritz szabgab: and it's implemented
18:31 szabgab great, and it works for me
18:32 szabgab what about backtick ?
18:32 szabgab rakudo seems to accept it but doe not give me the STDOUT of the external command
18:32 moritz not yet done
18:32 moritz they are now spelled qqx (interpolating) or qx (non-interpolating)
18:33 szabgab ok and can I already use sockets to connecto to some remote machine ? (port 80)
18:34 * PerlJam doubts
18:34 moritz szabgab: probably only via netcat :/
18:34 jonathan Aye, no socket IO yet
18:34 szabgab thanks
18:34 jonathan Parrot does support it, just not implemented it in Rakudo.
18:35 PerlJam Are the socket routines specced in S29?
18:36 jonathan That may be another blocker to implemtning them ;-)
18:36 jonathan Though wouldn't it be the IO design doc?
18:36 jonathan S16 is it?
18:36 PerlJam or, if someone were to implement the socket routines in rakudo, where would be a good place for them  to live?
18:36 moritz S16, aye
18:36 allison I ripped socket I/O out during the transition, and haven't added them back yet
18:36 PerlJam ah, S16
18:36 * PerlJam looks
18:37 jonathan Ah, wonderful. :-|
18:37 dalek r35829 | jonathan++ | trunk/src:
18:37 dalek : [core] Correct typo.
18:37 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35829
18:37 jonathan szabgab: So, no.
18:39 masak joined #parrot
18:39 PerlJam allison: is there an ETA on when you might be adding them back?  Or is there a way you could delegate it to someone else?  (Like, if I were to do it, I don't know what the "right" way to put them back would be, but I'm willing to try)
18:40 allison PerlJam: I can certainly delegate good chunks of it, like developing the Socket PMC
18:44 riffraff joined #parrot
18:45 dalek r35830 | moritz++ | trunk/languages/perl6:
18:45 dalek : [rakudo] revert changes to Test.pm that broke some tests in fail.t
18:45 dalek : We we re-evaluate the patch from Ovid++ after the release
18:45 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35830
18:46 Whiteknight I'd take a stab at a Socket PMC, if nobody else were interested in it
18:47 COke-away Whiteknight: hey! aren't you supposed to be working on gC? ;)
18:47 NotFound I'm interested but have a lot of things. Can help, though
18:48 Coke ./src/pmc/task.c:1261: error: 'Parrot_default_instantiate_str' undeclared (first
18:48 * Coke tries a realclean.
18:48 * davidfetter brings in the cleaner
18:48 * Coke travolta's davidfetter.
18:49 davidfetter heh
18:49 PerlJam What NotFound said.
18:49 Whiteknight Coke: GC is a swamp that needs major cleaning before we can write a new one
18:50 Whiteknight plus, my attention span is far to short to only focus on one problem at a time
18:50 chromatic Aren't you supposed to be draining the swamp?
18:50 Coke we're fighting the GC in branch so they can't fight us in trunk.
18:50 Coke ... or something.
18:50 Whiteknight I didn't say I wasn't going to work on that too.
18:51 Whiteknight I'm a Ramblin' Man, I need to travel the core and visit other subsystems from time to tme
18:51 Coke Whiteknight: if you're looking for more ways to split your tuits, I'd be happy to give you a commit bit on partcl.
18:51 Coke it could use another set of eyes.
18:52 dalek r35831 | pmichaud++ | trunk/compilers/pct/src/PAST:
18:52 dalek : [pct]:  Add 'neg' opcode signature.
18:52 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35831
18:52 Whiteknight I'm a n00b at PCT
18:52 dalek r35832 | pmichaud++ | trunk/compilers/nqp/src:
18:52 dalek : [nqp]:  Convert n_neg -> neg (RT #58410).
18:52 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35832
18:52 dalek r35833 | pmichaud++ | trunk/languages/abc/src/parser:
18:52 dalek : [abc]:  Convert n_neg -> neg.  (RT #58410).
18:52 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35833
18:52 kj Whiteknight: write a new tutorial ;-)
18:52 PerlJam Coke: yeah, but most people want to /keep/ their eyes rather than have them burned in their sockets  ;)
18:53 Coke Whiteknight: lucky for your, partcl doesn't use pct.
18:53 Coke *you
18:53 Whiteknight what does partcl use instead?
18:53 dalek r35834 | pmichaud++ | trunk/languages/pynie/src/parser:
18:53 dalek : [pynie]:  Convert n_neg -> neg (RT #58410).
18:53 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35834
18:53 * Whiteknight shudders to think of the alternative
18:53 jonathan Whiteknight: It's written in a combination of bf and lolcode.
18:54 PerlJam Coke: are there plans to update partcl to use pct at some point?
18:54 Whiteknight oh great, I can just imagine what a recursive descent parser must look like in bf
18:54 Coke PerlJam: I can't go so far as to call them plans.
18:55 chromatic Just like any other bf code, really.
18:55 Coke I've said before, I wouldn't refuse a patch that did the update.
18:55 Coke I just don't have the time to figure out how to do the conversion and if it is going to actually be a net improvement on maintainability or speed or memory.
18:56 dalek r35835 | chromatic++ | trunk/t/op:
18:56 dalek : [t] Made the weird atan JIT NAN test a TODO test for the JIT core (TT #201).
18:56 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35835
18:56 Coke Whiteknight: I can't seem to override does. :|
18:56 Whiteknight Coke, nopaste your attempt?
18:56 Whiteknight and maybe the error message?
18:56 PerlJam Coke: I'd imagine it would be an improvement on maintainability,  but I can't comment on the others
18:57 dalek r35836 | jonathan++ | trunk/languages/perl6/src/builtins:
18:57 dalek : [rakudo] Final fix needed to get a proto in the class to avoid conflicts with methods of the same name in roles (by bringing them into the multi).
18:57 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35836
18:57 PerlJam But don't you feel energized by Change today?  I mean we have a new president after all.   ;-)
18:58 chromatic And Portland has a new scandal for the new mayor!
19:00 NotFound PerlJam: I suppose that by "We" you mean USA people, not we parroteers ;)
19:00 * davidfetter loves a good scandal. what's the latest, chromatic ?
19:00 chromatic davidfetter, apparently the new mayor picked up a 17 year old intern and had a relationship with him... though the kid may have been 18 by then.
19:00 pmichaud the President isn't the president of the entire world?  Or was that only GWB?  ;-)
19:00 PerlJam NotFound: Hey, I'm an american; clearly we're the only country that matters  ;->
19:00 davidfetter chromatic, :/
19:01 davidfetter boinking the interns == very uncool
19:01 Whiteknight I'm sure the intern was thrilled by it
19:01 NotFound PerlJam: at least you realize that others countries exists ;)
19:01 chromatic Yeah, Sam Adams (new mayor) was around 42 at the time.
19:01 chromatic There's an extra ick factor there.
19:01 pmichaud NotFound:  PerlJam and I are in Texas, so yes -- we know about the other 49 countries.
19:01 PerlJam heh
19:02 davidfetter sam adams?!? in portland? i'd think in a brewpub town like portland, he'd lose on the name alone
19:03 Whiteknight yeah, that's why his opponent, Guinnes McBudweiser lost
19:03 davidfetter sam adams: sometimes better than budweiser :P
19:03 szabgab oh I have another question, can I read a JSON in rakudo ?
19:03 * NotFound likes "The Texas chain saw massacre"
19:03 Coke I went to high school with /the/ sam adams great^7 (?) grandson, sam adams.
19:03 * NotFound don't looking at anything
19:03 Coke s/high school/college/
19:03 Coke hopefully no relation to the mayor.
19:03 pmichaud szabgab: I've been thinking that someone ought to implement a JSON parser in Perl 6 :-)
19:03 szabgab that would be using the JavaScript engine from Rakudo
19:04 dalek r35837 | kjs++ | trunk/compilers/pirc/src (5 files):
19:04 dalek : [pirc] some slight refactoring of the grammar to allow a new line counting scheme. + other support stuff.
19:04 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35837
19:05 szabgab pmichaud: theoretically - if I  understand it - the javascript implementation over parrot can read a json file and then any other language over parrot can have that data structure
19:05 pmichaud szabgab: theoretically, yes.  I don't know the current state of the javascript implementation on parrot.
19:05 szabgab after all json is just native javascript
19:06 Coke ... or you could just use the prebuilt JSON library that already exists on parrot.
19:06 pmichaud using javascript would probably also imply loading up the javascript runtime
19:06 szabgab Coke: that sound also good :-)
19:06 NotFound I think there are already several json things in the repo
19:06 szabgab how ?
19:06 PerlJam NotFound: there are
19:06 pmichaud Coke: I've been thinking it might be worthwhile to redevelop the json library to be NQP :-)
19:06 pmichaud (or Rakudo)
19:07 kj there's a pge-based json
19:07 kj in languages/json
19:07 szabgab parrot/compilers/json
19:07 Coke kj: compilers JSON is also PGE based.
19:07 pmichaud right, since it's PGE-based, I'm think it's easy to convert to NQP-based.
19:07 PerlJam heh
19:07 kj eh, i mean pct-based
19:08 Coke that is a big difference. ^_^
19:08 Coke Whiteknight: any clues?
19:08 purl Dee Dee Dee!
19:08 kj eh, so, :-) using nqp
19:08 Coke I can check in what I have on partcl so you can play around in trunk on both checkouts.
19:09 szabgab thanks, I'll try to understand how can I use these json things
19:10 PerlJam szabgab: Are you working on a javascript plugin for padre?
19:11 Coke Whiteknight: if I add in a manual ".param pmc self" parameter to does, it works; but I see that's not in the override test.
19:11 szabgab PerlJam: that too, but for that first I need someone ( chromatic ?) to improve the Parrot::Embed thing
19:12 Coke szabgab: t/compilers/json/*.t
19:13 Whiteknight Coke, did you nopaste your coe?
19:14 cosimo_ joined #parrot
19:15 szabgab thanks everyone, night&
19:15 Coke coe?
19:16 dalek r35838 | jonathan++ | trunk:
19:16 dalek : Two more bits of recently produced NEWS.
19:16 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35838
19:16 Whiteknight code*
19:17 Coke Whiteknight: thought I did,b ut don't see it . moment.
19:19 nopaste "coke" at 72.228.52.192 pasted "for wk" (57 lines) at http://nopaste.snit.ch/15376
19:19 Coke note that the does vtable override has an extra .param pmc self
19:20 Coke I'm not sure that's doing the right thing, but it's letting me test. without it, I get the arg mismatch exception.
19:20 Coke (expected 1, got 2)
19:20 PerlJam don't you need :method?
19:21 Whiteknight Coke, either mark ".sub 'does' :vtable :method", or ".param pmc self :invocant"
19:21 Whiteknight either one should work, I think
19:21 Coke Whiteknight: why doesn't the sample code in t/oo/vt*.t need it?
19:21 Coke PerlJam: no, it's a :vtable
19:22 dalek r35839 | allison++ | trunk:
19:22 dalek : [cage] Deprecation notice for socket opcodes.
19:22 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35839
19:22 Whiteknight because the sample code doesn't separately declare ".param pmc self"
19:22 Coke if we do need :method, it's a bug.
19:22 Whiteknight it is a bug
19:22 Coke Whiteknight: if I don't add that, my code doesn't work.
19:22 Coke I get a runtime error.
19:22 Coke why doesn't the code in the test /also/ get a runtime error?
19:22 pmichaud Coke: I suspect there's something else about your code causing the error
19:23 Whiteknight Coke, try marking self with :invocant
19:23 Whiteknight see if that makes your runtime error go away
19:23 Coke pmichaud: that's pretty much where I was going.
19:23 Coke Whiteknight: I shouldn't have to specify self AT ALL.
19:23 Coke that's kind of my point.
19:23 GeJ Good morning everyone.
19:23 Whiteknight Coke: I know, it's a bug
19:23 pmichaud Coke:  what error do you get without 'self'?
19:23 Whiteknight TT#199
19:23 Coke Whiteknight: then why isn't the bug present in the TEST FILE.
19:23 Whiteknight it's an error with all vtable methods
19:23 Whiteknight Coke, because I get around the error in the test file using different syntax
19:23 Coke there's no workaround for the bug in the test file. why do I need.
19:24 Coke Whiteknight: where are you working around the bug in the test file?
19:24 pmichaud WK:  I don't see a workaround in the test file.
19:24 Whiteknight There is a workaround in the test file. All the stuff about "message" and "submessage" was added as a workaround
19:24 Coke pmichaud: arg mismatch.
19:24 Whiteknight I added those lines because they make the error in TT#199 go away
19:24 Coke Whiteknight: but submessage does nothing in that file. you set it an ignore it (and don't document thatit's a workaround.)
19:24 Coke ... ok, that's evil.
19:25 Whiteknight In your file, you declare "self" but don't use it. In the test file, I don't declare self, but do use it
19:25 Whiteknight that's the difference
19:25 Coke if I don't declare it, I get an error.
19:25 MagnusShortwave joined #parrot
19:25 Coke ok. so I'll use it and ignore it.
19:25 Coke please comment why you have 'submessage' in the test file.
19:26 Whiteknight If you don't declare it, you can either use it (a la the test file) or mark the subroutine ":vtable :method"
19:26 PerlJam Whiteknight: So ... where does self come from?  Does :vtable enable that?
19:26 Whiteknight I will add the comment, yes
19:26 Coke PerlJam: it should be, yes.
19:26 Whiteknight PerlJam: :vtable should enable self, but it currently doesnt because of a bug
19:26 Whiteknight if you use "self" in a subroutine, it automatically turns the sub into a method. As if you used ":method" on it
19:27 Whiteknight so your two options are use "self" (and have the subroutine autopromote into a method) or use :method, and explicitly make it that way
19:27 Whiteknight it's ugly
19:27 Whiteknight (but don't shoot the messenger, I am working to fix all this eventually)
19:27 Coke Whiteknight: note that just having "$P0 = self" is sufficient.
19:28 Whiteknight Coke, that's a good idea for a non-op.
19:28 * allison has to go catch a plane...
19:28 Coke You don't need to actually do anything with self.
19:28 Whiteknight No, you just need to use it, it doesn't matter what you use it for
19:28 kj mmm. so any sub that uses "self" becomes a :method??
19:28 Coke no.
19:28 Coke self does not imply a method.
19:29 Coke self is just a reference to your PMC.
19:29 kj oh, then I misread Whiteknight at 19:26
19:29 Coke oh.
19:29 pmichaud I think WK is describing what is implemented, not what is spec'ed.
19:29 Whiteknight Coke, if you use "self" in a subroutine without declaring it first, the subroutine will be parsed as a method
19:29 kj here, he says it again :-)
19:29 Whiteknight pmichaud: yes! The spec and IMCC's crusty implementaton are far different
19:30 kj ooooooh ok. it happens to be reality, not spec.
19:30 kj ok, then I'm happy.(it's not specced)
19:31 NotFound ETOOBLACKMAGIC
19:31 On joined #parrot
19:31 Coke Whiteknight: you're rong.
19:31 Whiteknight see compilers/imcc/pcc.c:390 for where this magic happens
19:31 Coke if I refer to self, that doesn't mean I can automatically refer to the :vtable as a method.
19:31 Coke if I instantiate that object and try to invoke $P0.'does'(), I get method not found.
19:32 masak weren't there a few nice patches to Test.pm in Rakudo a few time units ago? whatever happened to those?
19:32 pmichaud I think what WK is saying is that any use of undeclared self automatically makes it an implicit first parameter.
19:32 PerlJam It sounds like there are some orthogonal concepts that aren't quite implemented that way.
19:32 particle joined #parrot
19:32 masak (us November devs are thinking of letting our Test.pm go and using Rakudo's, but ours is still better)
19:33 Whiteknight pmichaud: Maybe that is what I'm saing
19:33 Whiteknight saying*
19:33 pmichaud note that making self as an implicit first param would not necessarily mean that the sub is a method (i.e., entered as a method in the class)
19:33 pmichaud although the reverse could be true -- anything that is :method automatically gets an implicit self.
19:33 Whiteknight Here's the fact: object.pmc is passing SELF as the first parameter. But, the subroutine only accepts that parameter if you have :method or if ou use "self"
19:33 masak jonathan++ # line numbers!
19:34 Whiteknight if you don't do one of those two, currently you get a runtime error "2 parameters passed, 1 expected"
19:34 pmichaud masak:  (Test.pm)  Test.pm should go away.
19:34 masak pmichaud: ok, on what time frame?
19:34 pmichaud masak:  The functions that are in Test.pm should become part of the builtins.
19:34 Coke Whiteknight: agreed.
19:34 kj IMC_HAS_SELF is set in imcc.l, line 639. That happens when the :method flag is set or, the cur_unit (sub) is a vtable, and the identifier being scanned is "self"
19:35 pmichaud masak: in fact, Test.pm is currently a misnomer, because the functions that are there aren't really put into the Test namespace.
19:35 Coke kj: it should be enabled even if vtable is set but you don't use the identifier.
19:35 masak pmichaud: we're running tests here, and the only way to do it right now is with Test.pm.
19:35 Whiteknight actually, now that I look at it, I should be able to hack pcc.c to automatically use this behavior for vtables too
19:35 PerlJam So ... what does pirc have over imcc ?  :)
19:35 Whiteknight maybe that's the better solution for now
19:35 kj in pcc.c:, if either IMC_HAS_SELF is true, or :method is set, the "self" thingy is created and unshifted as first paramter (as Pm pointed out what WK was saying)
19:35 pmichaud masak: unfortunately, I don't know the timeframe.
19:35 kj PerlJam: a lot of segfaults :-P
19:35 moritz masak: timeframe: 1) spec approval before christmas, 2) Test.pm removal before christmas
19:35 pmichaud masak: I would've liked sooner rather than later, but that seems unlikely.  :-)
19:35 Coke cotto: ping
19:35 PerlJam kj: oh, well that's no good.
19:36 masak pmichaud: so we'll keep our Test.pm, because Rakudo's is not getting updated?
19:36 pmichaud masak: I'm not against Rakudo Test.pm updates, I just want better review of what's going in.
19:36 kj PerlJam: no :-( Working on that, though. But I've come to the nasty bits.
19:36 masak pmichaud: ok. I can do that. :)
19:36 kj literally :-)
19:36 pmichaud In particular, I don't want Test.pm to end up with lots of special-purpose testing functions that aren't likely to make it into the builtins.
19:36 masak acknowledged.
19:37 masak we basically have better reported capability.
19:37 masak (just like one of the patches)
19:37 pmichaud so I'd like "Test.pm" to look as close to what we think the builtins should look like.
19:37 PerlJam pm: when you say "builtin", you're talking about the :ok() stuff or something else?
19:37 masak pmichaud: sounds like a good idea.
19:37 kj Coke: (also :vtable) yes. I've not quite the energy to try that at this point. It's certainly a potential spot to look at to have :vtable subs also have a "self"
19:37 pmichaud indeed, it's very likely that Test.pm will move to our prelude :-)
19:37 masak PerlJam: I, for one, am semi-skeptical to the :ok idea...
19:38 pmichaud PerlJam: I'm talking about whatever ends up being used by the spectest suite.
19:38 pmichaud ideally, I'm thinking that the spectest suite should not be doing  "use Test;"
19:38 moritz masak: I've just sent a mail to p6l regarding :ok() - please write about your semi-scepticism there
19:38 pmichaud because they will be builtins.
19:38 masak moritz: I'll semi-write something.
19:39 moritz masak++
19:39 * masak wanted half a karma point :P
19:39 moritz masak+-
19:39 Coke parrotsketch?
19:39 purl parrotsketch is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
19:39 Coke time?
19:39 purl time is probably 19:39:43 2009 and (did you mean "clock"?) or flowing like a river
19:39 masak jonathan: I'm getting "complex varname colonpair case not yet implemented" on code that used to work. what should I do?
19:39 Coke clock?
19:39 purl Coke: LAX: Tue 11:39am PST / CHI: Tue 1:39pm CST / NYC: Tue 2:39pm EST / LON: Tue 7:39pm GMT / BER: Tue 8:39pm CET / IND: Wed 1:09am IST / TOK: Wed 4:39am JST / SYD: Wed 6:39am EST /
19:41 Coke chromatic: IWBI if it at least the -t1 segfault was fixed before release, even if the -t4 oddness cannot be.
19:42 Coke (There are 12 tickets in trac with this release as a milestone that need to be resolved or pushed back to 0.9.1)
19:43 NotFound Does LAX time mean that is tame to take a laxative?
19:43 Coke (11 tickets)
19:43 NotFound s/tame/time
19:44 Coke the -t1 segfault is #193.
19:47 Coke pmichaud: I think 'get_repr' was to be like ".perl"
19:48 pmichaud Coke: Yes, but to be later consumed by.... what?
19:48 Coke "well think of something!"
19:48 Whiteknight How do I TODO a test? TODO: {}?
19:48 Coke *we'll
19:48 Coke Whiteknight: in perl or PIR?
19:49 pmichaud or was this simply a "ask xyz object to return itself in a stringified form according to what it thinks the native language is"
19:49 pmichaud ?
19:49 Coke pmichaud: you'd have to go repository diving. I don't remember.
19:49 Whiteknight Coke, in perl
19:49 Whiteknight Coke: actually, both would be nice to know
19:49 Coke Whiteknight: depends if you're using parrot test or test more, I Think.
19:49 Whiteknight urg
19:49 Coke TODO: { local $TODO = 'blah'; is(...)} should always work.
19:50 NotFound Coke: TT #193 does not segfault to me
19:50 Coke I think things like pir_output_is give you a convenience final parameter, if you pass in the right voodoo, it does that for you.
19:51 Coke NotFound: that's why I gave the backtrace. =-)
19:51 Coke if there's any more information I can provide to help track that down, glad to.
19:52 chromatic Coke, which ticket for -t1?
19:52 Whiteknight Okay, I think I fixed it so :vtable always has self, but this breaks all our tests of 'invoke', which is broken and shouldn't be working anyway
19:53 Coke chromatic: #193
19:53 Coke sadly, I need both invoke /and/ does. =-)
19:53 * jonathan is back
19:54 * jonathan reads backscroll
19:54 Whiteknight invoke works, but doesn't work right
19:54 Whiteknight you have to do the $P0($P0) workaround to get a "self" in it
19:55 Whiteknight otherwise you can't get access to the object that's being invoked
19:56 kj but that can be fixed in , I think, pcc.c no?
19:56 kj or possibly pbc.c
19:57 kj that's where the magic is happening, of implicit passing of the object
19:57 Whiteknight kj, the invoke issue?
19:58 kj yes, to circumvent the workaround of explicitly passing $P0 (the obj)
19:59 Coke changing that right before the release is dangerous; i vote leaving it as is (including the slightly odd 'does' implementation) until post-release.
19:59 Whiteknight kj, we might be able to add a hack-fix in pcc.c I think. Most of the problem is in src/pmc/object.pmc:invoke, which calls VTABLE_invoke on the object, which doesn't pass an invocant reference by default
19:59 * NotFound wonders why such a mess of code just for write a buffer
19:59 kj Coke: yes, you're right.
20:00 kj Whiteknight: well, if it can be done for :method, then also for :vtable, right?
20:00 kj shouldn't be a problem, in principle
20:00 Whiteknight Coke, I'm not changing anything else major today until after the release. does "works", for varying definitions of "works"
20:00 Coke yup. it's good enough for what I need right now.
20:00 Whiteknight at the very least, you should be able to use it as-is before we really solve the problems internally
20:00 Coke Whiteknight++
20:00 Coke now to bug cotto...
20:01 jonathan masak: details...
20:01 purl Where's the beef??
20:01 moritz purl, forget details
20:01 purl moritz: I forgot details
20:01 Coke (I have a PMC subclass of Float that is now broken, and I don't know if parrot's broken or if I am)
20:01 masak jonathan: foo( :$bar ) doesn't work anymore.
20:02 pmichaud Coke:  I suspect Parrot.
20:02 moritz ... and we have no tests for that?
20:02 pmichaud Coke: oh, I retract that.  I suspect Parrot changed underneath, and now your PMC subclass isn't working.
20:03 pmichaud I don't know which is "broken", because afaict the handling of subclasses of Parrot PMCs isn't very well specced or handled at the moment.
20:04 pmichaud ...surely we have tests for named parameters somewhere.
20:04 pmichaud although we might be skipping them due to parrot's mishandling of them.
20:04 moritz we have, but perhaps not for that calling syntax
20:04 pmichaud masak: it would help if we had an example to dissect?
20:05 masak pmichaud: see #perl6
20:07 cosimo_ joined #parrot
20:16 Zaba joined #parrot
20:20 particle1 joined #parrot
20:22 Coke Whiteknight: if you want to keep helping me out, you could track down my pmc subclass issue. =-)
20:24 * mj41 confused chromatic: "I don't see how Parrot can be fast enough in general without JIT."  vs. Dan:  http://www.sidhe.org/~dan/​blog/archives/000405.html
20:26 Coke mj41: note that that article is 3.5 years old.
20:27 chromatic ... and the JIT from 3.5 years ago is not a good example of a JIT.
20:28 chromatic make testr failures....
20:28 Andy joined #parrot
20:28 chromatic t/op/pushaction.t, t/pmc/capture.t, t/pmc/sub.t
20:28 chromatic And a -- to whoever in TAP::Harness land made it impossible to copy and paste test names by dropping the file suffix.
20:29 mj41 ok, seems like chromatic is above dan  ... https://www.ohloh.net/p/parrot/contributors :-)
20:30 Coke chromatic: yes, that's damn annoying.
20:30 Coke file a ticket? they might be amenable to putting it back.
20:31 chromatic They were *proud* of it though.
20:31 Coke meh. is it overridable?
20:32 cosimo_ left #parrot
20:41 dalek r35840 | jonathan++ | trunk/languages/perl6/src/parser:
20:41 dalek : [rakudo] Make :$foo form of colonpair work again.
20:41 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35840
20:41 rob joined #parrot
20:43 rhr joined #parrot
20:43 chromatic mj41, what Dan didn't say in that post is that you don't have to JIT the whole program.
20:43 chromatic You can get a lot of benefit just by JITting the most frequently-used pieces.
20:44 rob joined #parrot
20:44 Tene joined #parrot
20:44 chromatic I'm sure there's a calculus by which you can decide at which point simplicity of implementation and cheating through optimizations intersect, but that's largely art.
20:54 cosimo_ joined #parrot
20:57 Coke if I want to get at my float value in a child PMC of float, what is the right way now, after cotto's changes? anyone know?
20:58 chromatic VTABLE_get_number ?
20:59 Coke that invokes float's get number, which uses an attribute which i don't have.
20:59 Coke must I explicitly declare that attribute now? (which sucks immensely)
21:00 Coke GET_ATTR_fv(INTERP, SELF, fv);
21:00 chromatic Welcome to C, baby.
21:00 chromatic "Encapsulation?  We don't even have types!"
21:01 * Coke rereads allison's last post.
21:01 Coke if this were straight C, I'd buy that. :|
21:01 chromatic We're still bound by the metaphysics of the language which state that there is no computer but a PDP and K&R is its prophet.
21:02 jonathan Coke: Yes, you need to declare that attribute in your PMC.
21:03 Coke ok. just adding it doesn't help, as my float still thinks it's 0.
21:05 * Coke tries to figure out which version of set_number is being invoked.
21:05 Coke Parrot_TclObject_set_number_native
21:06 Coke ah, that's mine.
21:06 Coke =-)
21:06 mberends joined #parrot
21:08 Coke yay, [expr 1/3.0] works again.
21:15 jonathan yay :-)
21:20 Coke had a ton of other stuff break recently, though. hopefully it's all related.
21:25 chromatic Oh great, lexicals don't get thawed properly from PBC.
21:26 gravity joined #parrot
21:29 jonathan Ouch.
21:32 chromatic ./parrot -r -D40 t/op/pushaction_6.pbc
21:34 Coke bah. switching from a PMC to a class seems to have also impacted index by string. :|
21:39 masak http://www.parrotcode.org/docs/roadmap.html
21:39 masak is this an empty page on someone elses computer?
21:40 moritz it is on mine.
21:40 chromatic here too.
21:40 masak does Parrot have a roadmap? :)
21:40 Tene there's https://trac.parrot.org/parrot/wiki/ParrotRoadmap
21:40 masak this is the one I got from googling.
21:41 PerlJam yeah, there's some identity problems
21:41 masak might be less than good from a PR perspective.
21:41 NotFound We must innovate, we must use a list of corrdinates for the GPS instead of a roadmap
21:41 Coke masak: please open a ticket.
21:42 masak Coke: I'll try, though I'm exceedingly busy tonight.
21:42 Coke bah. tcl's .dumper() macro no longer works.
21:42 masak we're doing a November server upgrade.
21:42 moritz I can open the ticket
21:43 Coke the bug is "whatever linked to that page shouldn't"
21:44 moritz Coke: that is likely to be outside of our control
21:44 PerlJam well, that page should redirect to the trac page anyway so as to defeat the googling
21:48 moritz submitted as tt #202
21:52 particle joined #parrot
21:53 masak Coke: Google linked to that page.
21:56 moritz http://www.parrotcode.org/docs/ links there, and parrot.org links to /docs/
21:56 moritz siteexplorer.search.yahoo.com++
21:57 moritz anyway, 'tt #202' is now a link in the IRC logs
22:02 Infinoid moritz++
22:05 Coke once I can re-checkout parrotcode.org, should be an easy fix.
22:06 * Coke_away ponders buying a personal license to beyond compare 2.
22:06 Coke_away er, 3.
22:06 Coke_away -> heading out.
22:22 cosimo_ left #parrot
22:28 mberends joined #parrot
22:33 TiMBuS joined #parrot
22:35 rg joined #parrot
22:39 Whiteknight joined #parrot
22:40 chromatic Hmm, the -S core doesn't work because the op_func_table isn't initialized.
22:41 jonathan Which was -S?
22:41 particle switched core
22:41 chromatic Switched core.
22:41 Coke_away -S was switched core
22:42 particle i don't think that compiles with msvc
22:42 chromatic FASTER, and better punctuation.  shh-shah
22:42 Coke_away (me was just phrasing that for purl)
22:42 chromatic -S is Parrot's switched core
22:42 chromatic purl, -S?
22:42 purl -S is a SYSV thing
22:42 chromatic purl, -S is also Parrot's switched core.
22:42 purl okay, chromatic.
22:42 chromatic purl, -S?
22:42 purl rumour has it -S is a SYSV thing or Parrot's switched core
22:43 * jonathan wonders what core Win32 actually runs by default...
22:43 chromatic Slow core, I believe.
22:43 Whiteknight the switched core does compile on msvc
22:43 Whiteknight at least, it did last time I tested it there
22:43 jonathan I have a core_ops_switch.c
22:43 Whiteknight switched core just used a big, standard C89 switch/case setup.
22:44 Whiteknight I would guess that it's the fastest core that's also completely portable, for what little that's worth to us
22:44 jonathan It I've got the matching .obj, so it's indeed compiling on Win32.
22:44 moritz I'm an impatient bastard, so I started http://code.google.com/p/rakudo-prelude/
22:45 jonathan bastard++
22:45 moritz I'll write a short mail to p6c
22:51 chromatic Yeah, someone broke the switched core and it's unlikely to get fixed.
22:53 chromatic ... unless I just did.
22:53 chromatic Darn.
22:53 chromatic I'm awesome AND we can't delete nasty crufty old unmaintainable code.
22:54 jonathan On Win32 for a Rakudo benchmark my epicly unscientific comparative study of runcores reveals...
22:55 jonathan Default: 40s
22:55 jonathan Bounds: 40s
22:55 jonathan Switched: 45s
22:55 jonathan Fast Core: 40s
22:55 jonathan JIT: Segfault
22:55 purl hmmm... Segfault is http://xkcd.com/371/
22:56 jonathan And with GC disabled (-G) it takes 41s ;-)
23:00 dalek r35841 | chromatic++ | trunk/lib/Parrot/OpTrans:
23:00 dalek : [runcore] Fixed the Switch core (-S) by initializing the op function table
23:00 dalek : element of the core struct before Parrot attempts to dereference it.  Don't ask
23:00 dalek : me when this broke or why, or even what this means.  make testS now passes
23:00 dalek : though.
23:00 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35841
23:01 Rahly is there a problem with parrot and compiling under 64bit ?
23:01 moritz yes, if you configure it with --optimize it segfaults
23:01 moritz there were other problems that have hopefully been fixed yesterday
23:02 Rahly is --optimize default?
23:02 moritz no
23:02 Rahly ok, i'm just using perl Configure.pl --prefix=/usr
23:03 Rahly for some reason, getting a 0xdeadbeef in the vtable of the pmc
23:03 dalek r35842 | kjs++ | trunk/compilers/pirc/src (2 files):
23:03 dalek : [pirc] fix debug segment stuff.
23:03 dalek : + add JIT segment code from IMCC, to be converted in PIRC-compatible code.
23:03 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35842
23:04 PerlJam Rahly: what revision of parrot?
23:04 Infinoid Rahly: was it a Scheduler pmc, by any chance?
23:05 Rahly Infinoid: well, the scheduler pmc was fudging the correct one, seems to be something in new_pmc_xx can't remember the exact function
23:05 Rahly the svn
23:05 Rahly maybe i should recheck it out first
23:06 Infinoid Rahly: "svn info" will tell you the exact revision
23:06 moritz updating should be enough ;-)
23:06 Rahly Last Changed Rev: 35719
23:06 Infinoid We fixed a bug related to the Scheduler PMC's vtable being 0xdeadbeef, yesterday.
23:07 Infinoid try: make realclean; svn update
23:07 Rahly already done
23:07 Rahly compiling now
23:07 Infinoid ok
23:07 Rahly i didn't get it in the 32bit one though
23:07 Rahly compiled and ran correctly
23:07 Infinoid yeah.  I'm guessing you're running ubuntu intrepid?
23:07 Rahly no
23:08 Infinoid oh.  so far its only showed up on 64 bit ubuntu intrepid
23:08 Infinoid what are you running?
23:08 Rahly ok, i'm using my own build
23:08 Infinoid building on what platform?
23:08 Rahly linux 64
23:08 purl linux 64 is not very common yet
23:08 Infinoid which linux distro? :)
23:09 Rahly my own
23:09 Infinoid ok
23:10 Rahly awesome, that was it
23:10 Infinoid wish I knew what was different about the details of ubuntu's build environment (and yours).  I wasn't able to reproduce it on 64 bit gentoo
23:10 Rahly darn, compile error instead now :)
23:10 Infinoid nopaste?
23:10 clunker3 http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/
23:10 purl nopaste is, like, at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others)
23:11 Coke clunker3?
23:11 purl somebody said clunker3 was an OpBot running on Tux' old workstation at work
23:11 rg infinoid: for the record, i also saw the segfault on freebsd amd64 ;)
23:11 Rahly Infinoid: cross compiler environment?
23:11 Infinoid no, native build here, and native build for the bug reporters (as far as I know)
23:12 Rahly ok, mine is cross, when i compiled it with gcc -m32, works just fine
23:12 Infinoid rg: ok.  so maybe instead of blaming ubuntu for being broken, I should blame gentoo for being weird :)
23:12 moritz Infinoid: on plain Debian I had the same error
23:13 Rahly Infinoid: how about, gentoo for being, lucky
23:13 Infinoid Rahly: right.  It didn't break on x86-32, I'm guessing because it didn't run out of memory and run the GC yet.
23:13 Infinoid well, gentoo is broken in its own interesting ways :)
23:13 Rahly damn, still a compiler error
23:14 Rahly dan_ops_switch.c:8: error: 'core_switch_op_lib' undeclared (first use in this function)
23:15 Infinoid When in doubt, blame chromatic.
23:16 Infinoid See if "svn merge -r35841:35840" gets it building.
23:18 Infinoid (also, "make realclean" is sometimes required after a svn update, make sure to try that if you haven't already.)
23:19 Rahly did both
23:19 Rahly trying a competely clean one now, just to be safe
23:21 Rahly nope same thing
23:21 Rahly i wonder though
23:22 Infinoid does "completely clean" mean "didn't revert r35841"?
23:23 Rahly complete clean is a recheck out of the svn in a different directory
23:23 Infinoid ok.  please try "svn merge -r35841:35840"
23:24 Rahly ok, 32bit compile is broken as well :(
23:24 Rahly svn: Merge source required
23:26 chromatic If core_switch_op_lib is undefined in src/ops/core_ops_switch.c, the problem isn't in that commit.
23:26 Infinoid ok
23:27 Rahly did you move it?
23:27 chromatic ... because it's used in the very next line of the generated code.
23:28 dalek r35843 | kjs++ | trunk/compilers/pirc (4 files):
23:28 dalek : [pirc] fix something with debug segment creation, fix auto-declaration of "self" for :vtables and :methods, and add a test for :method calls.
23:28 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35843
23:29 Infinoid I can't reproduce it here.
23:29 chromatic I have a slightly nicer approach anyway.
23:29 rg i can reproduce it
23:31 chromatic touch src/ops/*.ops and rebuild.
23:32 kid51 joined #parrot
23:32 dalek r35844 | chromatic++ | trunk/languages (3 files):
23:32 dalek : [languages] Fixed POD formatting errors.
23:32 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35844
23:33 rg chromatic: no change
23:35 Rahly same error, from looking at the code, you have it generated in src/ops/core_ops_switch.c, but that gcc command line, doesn't include that object to see it?
23:36 chromatic It should get linked into libparrot.
23:37 Rahly i don't see where you are binding to libparrot in there
23:37 Rahly no -lparrot either
23:37 chromatic It's part of what gets bundled AS libparrot.
23:38 chromatic See INTERP_O_FILES in the Makefile.
23:42 nopaste "kid51" at 70.85.31.226 pasted "Parrot build failure at r35842" (788 lines) at http://nopaste.snit.ch/15378
23:43 chromatic Oh frell, it's the dynops that's the problem.
23:43 chromatic That changes things.
23:43 chromatic Do people still say "frell", or has BSG exceeded Farscape?
23:43 Rahly ok, i guess i just don't see it then
23:43 Rahly i think some people would say you are old
23:43 chromatic Whiteknight, I just figured out a transient GC problem.
23:44 kid51 Am at Perl Seminar NY, where I was attempting to build Parrot so that we could then build Lua on top of it, as we're having a presentation on Lua.
23:45 chromatic kid51, I might have a commit for that in a moment.
23:45 chromatic You guys are going to love this GC problem.
23:45 chromatic Remember how we use pobject_lives() to mark STRINGs and PMCs as live?
23:46 chromatic There's code in pobject_lives() which tests if it's a STRING or a PMC.
23:46 Coke chromatic: it's frak now. sorry.
23:46 chromatic Inside one of those PMC-only conditions, there's code which checks that PMC_ext is in place, so that we can check if we have to mark any PMC metadata as live.
23:46 Coke dentic?
23:46 Coke dentic is <reply> DO NOT EAT THE DENTIC.
23:47 chromatic I'm in a backtrace right now, and this gets called from the context-marking code.
23:47 chromatic In particular, THE PART THAT MARKS THE CONTENTS OF STRING REGISTERS AS LIVE.
23:47 chromatic So we can't always tell if we have a PMC or a STRING based on the PObj_is_PMC_TEST macro.
23:47 chromatic ... because we get the wrong answers sometimes.
23:48 chromatic kid51, Rahly, rg, please try r35845.
23:49 dalek r35845 | chromatic++ | trunk/lib/Parrot/OpTrans:
23:49 dalek : [ops] Fixed switch core for dynoplibs too; don't hardcode an inappropriate
23:49 dalek : function name.  Quick hack--.
23:49 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35845
23:51 * rg is compiling
23:52 dalek r35846 | kjs++ | trunk/compilers/pirc/src (3 files):
23:52 dalek : [pirc] fix adding of 'self' parameter and someother stuff.
23:52 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35846
23:53 rg chromatic++ that fixed it :)
23:55 chromatic If I hadn't broken it, I wouldn't have had to fix it... but good.
23:56 tetragon joined #parrot
23:57 Rahly sounds like a good case for writing a test ;-)
23:57 rg rahly: compiling is the test
23:58 Rahly i'm guessing --optimize is still broken
23:59 rg the way i've read the comments above, that's known/expected and won't be fixed before the release.
23:59 rg All tests successful, 11 tests and 607 subtests skipped.
23:59 rg Files=395, Tests=11898, 276 wallclock secs (188.35 cusr + 59.33 csys = 247.68 CPU)
23:59 Rahly thats a lot of skips
23:59 chromatic --optimize should work on 32-bit

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

Parrot | source cross referenced