Camelia, the Perl 6 bug

IRC log for #parrot, 2009-02-06

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 Whiteknight I'm thinking about systems where sizeof(void*) > sizeof(INTVAL)
00:00 Whiteknight but maybe that's not an issue, we'll just be losing some storage space
00:00 Limbic_Region joined #parrot
00:00 chromatic PObj is bigger than a single INTVAL though.
00:00 chromatic And INTVAL probably needs stricter alignment wher that's a problem.
00:00 Whiteknight PObj won't be bigger once the UnionVal disappears
00:00 Whiteknight currently, it's an INTVAL and a UnionVal
00:03 chromatic We're probably overthinking it then.
00:04 Whiteknight that's why I wanted to add a pointer to it
00:04 Whiteknight although I can put it in the form of a union to save space
00:05 chromatic Sure, an INTVAL and a void *.
00:05 * Whiteknight prepares to play god...
00:05 chromatic It's probably clearer than making it look like everything stored on a free list is a PMC.
00:08 AndyA joined #parrot
00:18 NotFound Whiteknight: Are you working in TT #233 ?
00:18 szabgab joined #parrot
00:19 Whiteknight not yet, should I be?
00:19 NotFound Whiteknight: you are the owner
00:20 Whiteknight yeah, I'm the owner of a lot of tickts
00:20 Whiteknight I'm trying to prioritize
00:20 NotFound I'm testing kjs sugestion and seems good
00:20 Whiteknight feel free to close the ticket if you resolve it, I'm not going to look at it till later
00:21 NotFound Will commit it when finished testing, then.
00:21 Whiteknight excellent! Thanks
00:21 Whiteknight chromatic: My evil GC fix seems to be compiling perfectly.
00:22 Whiteknight of course, there's no way I'm going to programmer heaven now
00:24 dalek parrot: r36389 | NotFound++ | trunk/src/inter_call.c:
00:24 dalek parrot: [core] fix check_named read out of bounds, TT #233, kjs++
00:24 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36389/
00:26 slavorg joined #parrot
00:28 szabgab joined #parrot
00:33 dalek parrot: r36390 | whiteknight++ | trunk/src/gc:
00:33 dalek parrot: [GC] A slightly ugly resolution to TT #178. If you wonder where I got this great idea, you can blame chromatic++
00:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36390/
00:35 kid51 Whiteknight++ for culling RT tickets!
00:36 Whiteknight thanks! There are a lot of old stalled tickets that really have been annoying me
00:38 kid51 The only real solution:  Lock allison, chromatic, particle and pmichaud in a room and make 'em go thumbs up/down on one after the other ;-)
00:40 GeJ chromatic: any idea of the approximate size (in pages) of Modern Perl yet? I'll need it to hit someone one the head, so I hope it'll come close to the mod_perl book (1st ed).
00:40 particle void *? c++ ain't gonna like that!
00:41 particle Whiteknight: you'd better revisit r36390
00:41 NotFound particle: I'm building it with c++ right now
00:42 chromatic GeJ, hopefully no more than 250 pages.
00:42 particle in any case, void * is verboten in parrot code. we type everything, for humans.
00:42 chromatic PObj * should work.
00:43 particle yep
00:43 GeJ chromatic: that should be enough to teach him at least about strict, warnings and stop calling subs with &. thanks.
00:45 NotFound chromatic: some guys says some days ago in a spanish forum that you wanted to force all perl developpers to be modern.
00:45 GeJ chromatic: oh just to be sure, did you get the mail I sent you a couple of weeks ago? Not that I was expecting an answer, but I often experience email issues theses days and I was wondering if the email went out ok.
00:45 Whiteknight particle, what about r36390? Just want me to rename the void * to something less obvious?
00:45 Whiteknight or you want me to use PObj*?
00:46 chromatic NotFound, I saw that (but my Spanish is poquito).
00:46 chromatic GeJ, I haven't responded yet.
00:46 chromatic Whiteknight, PObj * should suffice there for particle's concern.
00:47 Whiteknight roger. on it. over.
00:47 NotFound chromatic: I fixed the thread, no problemo ;)
00:47 GeJ chromatic: don't need to, really.
00:47 chromatic NotFound, I thought you had... but again, I'm really bad at Spanish.
00:48 dalek parrot: r36391 | whiteknight++ | trunk/src/gc/gc_private.h:
00:48 dalek parrot: [GC] use PObj* instead of void* for readability. particle++
00:48 * NotFound uses 'Practice English' in the NDS
00:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36391/
00:48 kid51 NotFound:  do you have a link al este foro en espa�ol?
00:48 NotFound kid51: sure
00:53 NotFound kid51: http://barrapunto.com/~explorer/journal/31662
01:02 dalek parrot: r36392 | NotFound++ | trunk/src/gc/mark_sweep.c:
01:03 dalek parrot: [GC] fix r36392 for c++ build
01:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36392/
01:03 NotFound Ops, wrong number
01:10 Whiteknight how do you create a branch? svn copy https://svn.parrot.org/parrot/ https://svn.parrot.org/parrot/branches/* ?
01:11 Whiteknight nevermind, I think I got it.
01:11 dalek parrot: r36393 | whiteknight++ | branches/vtable_morph_change:
01:11 dalek parrot: Creating a branch to deal with VTABLE_morph
01:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36393/
01:12 slavorg joined #parrot
01:19 dalek parrot: r36394 | whiteknight++ | branches/vtable_morph_change:
01:19 dalek parrot: copied the whole tree instead of just /trunk/. Whoopsie
01:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36394/
01:20 dalek parrot: r36395 | whiteknight++ | branches/vtable_morph_change:
01:20 dalek parrot: re-creating that branch I needed, trying to do it right this time
01:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36395/
01:36 szabgab joined #parrot
02:11 dalek parrot: r36396 | whiteknight++ | branches/vtable_morph_change/src:
02:11 dalek parrot: [vtable_morph_change] a few changeovers to the new-style morph. Lots of test failures now that I need to dig into later.
02:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36396/
02:14 szabgab joined #parrot
02:24 szabgab joined #parrot
02:31 dalek parrot: r36397 | jkeenan++ | trunk/src/ops/string.ops:
02:31 dalek parrot: Applying patch containing pmichaud's suggestion for POD revision as per http://rt.perl.org/rt3/Tic​ket/Display.html?id=56262.
02:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36397/
02:34 kid51 NotFound:  I hadn't heard of modernperlbooks.com until you posted that link.  thanks.
03:01 szabgab joined #parrot
03:19 szabgab joined #parrot
03:31 szabgab joined #parrot
03:35 janus joined #parrot
03:39 szabgab joined #parrot
03:50 galf joined #parrot
04:05 szabgab joined #parrot
04:25 szabgab joined #parrot
04:45 Andy joined #parrot
04:49 szabgab joined #parrot
05:14 szabgab joined #parrot
05:33 szabgab joined #parrot
05:50 szabgab joined #parrot
06:31 alinbsp joined #parrot
06:32 Tene_ joined #parrot
06:34 szabgab joined #parrot
06:43 rurban_ joined #parrot
07:02 uniejo joined #parrot
07:29 dalek parrot: r36398 | petdance++ | trunk/src/pmc/stringhandle.pmc:
07:29 dalek parrot: localizing vars and consting
07:29 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36398/
07:37 dalek parrot: r36399 | rurban++ | trunk/config/gen/makefiles/dynoplibs_pl.in:
07:37 dalek parrot: Fix TT #278, mingw libparrot doublequoting error
07:37 dalek parrot: Note, that is more work to be done to quote build_dir
07:37 dalek parrot: spaces on all platforms.
07:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36399/
07:42 davidfetter joined #parrot
07:43 dalek parrot: r36400 | moritz++ | trunk/docs/book/ch12_opcodes.pod:
07:43 dalek parrot: [book] improve wording a bit
07:43 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36400/
07:57 iblechbot joined #parrot
08:00 alvar joined #parrot
08:07 alvar joined #parrot
08:44 szabgab joined #parrot
08:44 Zaba_ joined #parrot
08:52 davidfetter joined #parrot
09:19 namenlos joined #parrot
09:38 masak joined #parrot
09:50 namenlos joined #parrot
10:19 Zaba joined #parrot
10:23 kj joined #parrot
10:39 bacek joined #parrot
11:42 masak chromatic: how come 'cpan' (the installer) doesn't recognize 'Modern::Perl'?
11:46 moritz masak: maybe your cpan mirror is out of date?
11:50 masak moritz: that sounds likely. what should I do?
11:52 moritz masak: use a different one
11:55 * masak tries
11:58 moritz http://cpan.noris.de/ is a very nice mirror
11:58 moritz updated at least twice a day
11:59 moritz I have a local mirror which I update with CPAN::Mini
11:59 alinbsp joined #parrot
12:00 masak moritz: I've added your mirror, still doesn't work. do I need to update the module lists somehow?
12:01 moritz masak: have you added it as the *first* mirror in the urllist?
12:01 masak aye.
12:01 masak I unshifted, as per 'o conf' instructions.
12:02 moritz I don't know, here it works
12:02 masak ok.
12:02 moritz install Modern::Perl
12:02 moritz on the cpan shell
12:04 masak right. here it doesn't work.
12:04 moritz that's weird
12:04 masak indeed.
12:04 masak I've never had this kind of problem before with CPAN.
12:05 moritz masak: have you also tried cpanp?
12:07 masak no, what's that?
12:07 moritz that's the CPANPLUS frontend
12:07 moritz (and core in 5.10 and above)
12:07 masak ah, I'm still mostly on 5.8 :/
12:08 moritz masak: I think that Modern::Perl requires 5.10
12:08 masak make sense. :)
12:09 masak but CPAN not finding it at all under 5.8... that's a bit harsh.
12:09 moritz it finds it here
12:09 moritz of course it barfs while trying to build it
12:09 moritz masak: you can also download and extract the tarball, cd to it, and then call 'cpan .'
12:10 masak nice! I've been wondering about that.
12:11 namenlos joined #parrot
12:12 masak moritz: you're right, it does require 5.10.
12:29 Coke kj++ # release email
12:31 rg1 joined #parrot
12:32 moritz speaking of which... is "all tests passing with --optimize" a goal for 1.0?
12:34 Gerd joined #parrot
12:35 Coke it would be nice to be able install an optimized build, but I don't think it's a hard requirement, no.
12:36 Coke since the goal for 1.0 is /ostensibly/ the API.
12:44 masak first, make it run, then make it fast...
12:44 szbalint the postgresql philosophy of development
12:45 szbalint as opposed to mysql where it's "duck tape stuff together and make primitive things sort of fast" and then "hey, that feature looks useful, let's bolt it on" and then even later "hey, why aren't we fast anymore?!"
12:45 szbalint and no, I'm not bitter at all.
12:46 moritz :-)
12:53 Coke szbalint: that was parrot several years ago.
12:53 Coke we've ripped out a lot of that.
12:54 moritz and then changed the MMD subsystem to re-gain some slowness?
12:54 Coke yes, but it's more correct now.
12:55 moritz aye
12:56 masak there must be some middle ground there. you know, something like 'fast AND correct'...
12:58 Coke I think it's just easier all around to do 'correct' first. =-)
12:59 masak yes, but it's faster to do 'fast' first :P
12:59 namenlos joined #parrot
13:06 dalek parrot: r36401 | rurban++ | trunk:
13:06 dalek parrot: Fix TT #279, report correct sourcefile line numbers
13:06 dalek parrot: with makefile compiler errors, and a test for it.
13:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36401/
13:16 kid51 joined #parrot
13:31 Whiteknight joined #parrot
13:35 rurban --optimize fails on msvc and mingw due to neg -0 => 0
13:47 Coke in general, we don't deal with -0 properly everywhere. Doesn't surprise me.
13:47 rurban I think I finished most of my goals, so I can tackle neg -0.0 now
13:48 Coke hey, do you want to make the macport ? =-)
13:48 rurban for sure not! kind51 maybe on his little macbook
13:48 Coke =-)
13:48 rurban kid51
13:49 rurban cross-platform native_bc reading fails also, but this seems to be harder as I thought
13:49 rurban ... native_pbc reading
13:49 Coke macport?
13:49 Coke macport is http://trac.macports.org/browser/​trunk/dports/lang/parrot/Portfile
13:49 shorten Coke's url is at http://xrl.us/bee8yb
13:55 rurban This weekend I'm on a barcamp so I'll have not a lot of time.
13:55 dalek parrot: r36402 | coke++ | trunk/ports/macports/Portfile:
13:55 dalek parrot: track http://trac.macports.org/changeset/44711
13:55 dalek parrot: Changes perl dep from an explicit 5.8 to the default 5.10
13:55 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36402/
13:57 dalek parrot: r36403 | coke++ | trunk/ports/macports/Portfile:
13:57 dalek parrot: Some minor untested updates to push the portfile towards working with our
13:57 dalek parrot: latest release.
13:57 purl This time for sure!  Nothing up clintp's sleeve...</bullwinkle>
13:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36403/
13:58 moritz purl: forget latest release
13:58 purl moritz: I forgot latest release
13:58 masak joined #parrot
14:06 Coke purl, latest release is <reply>
14:06 purl OK, Coke.
14:07 * Coke tries to build a parrot port of 0.9.0
14:08 riffraff joined #parrot
14:08 * Coke wonders if he should use --optimize anymore.
14:10 rurban because if imcc bugs with -O2?
14:10 iblechbot joined #parrot
14:10 Coke I'm not sure I ever had those issues on darwin.
14:10 Coke I'll leave it in for now and see if the build works.
14:11 * Coke apparently has removed gmp and icu at some point. this may take a moment.
14:11 Coke rurban: my hope is that all the work you've done to make 'make install' work more sanely will let this JFW. =-)
14:11 Coke the last macport is from 0.5.2
14:11 rurban but there are still a LOT of open make install issues!
14:12 rurban I've got around 26 patches, 6 of them where applied
14:12 Coke no doubt. I just expect it to work better than it did. =-)
14:12 gryphon joined #parrot
14:12 rurban but just library.c and install_files.pl stuff
14:12 moritz I have a 'make testf' failure - should I set mark it for the 0.9.1 milestone?
14:13 rurban See https://trac.parrot.org/parr​ot/wiki/Pdd30InstallTasklist
14:14 kj moritz: please do
14:14 Coke if it's important to you to get it done for that milestone, yes.
14:14 Coke that doesn't guarantee it will get fixed, but it's the easiest way to state your preference.
14:15 dalek tracwiki: v9 | Infinoid++ | WhereIsIt
14:15 moritz kj: I did, tt #281
14:15 dalek tracwiki: https://trac.parrot.org/parr​ot/wiki/WhereIsIt?version=9
14:16 rurban can someone look at my two pbc patches sitting in the queue? tt #266 aqnd tt#258
14:16 dalek tracwiki: v10 | Infinoid++ | WhereIsIt
14:16 dalek tracwiki: https://trac.parrot.org/parr​ot/wiki/WhereIsIt?version=10
14:17 kj mm. I can't even build with --optimize
14:18 kj LINK : fatal error LNK1104: cannot open file 'libparrot.lib'
14:19 moritz with --optimize it segfaults from time to time while building PGE (on 64bit, that is)
14:19 rurban yes, because it is not aligned at all.
14:20 moritz what is not aligned?
14:20 rurban our ALIGN macro is not working on 64bit that is what I found out.
14:20 rurban it just keeps the unaligned address it was given
14:21 kj mmm. I can't build AT ALL on winxp
14:21 rurban the linux kernel e.g. has a proper ALIGN macro and this works fine for me on 64bit, but then I cannot read the written bypecode anymore.
14:21 kj fresh checkout
14:21 purl well, fresh checkout is better, then
14:21 rurban I so undid it.
14:21 moritz purl no, fresh checkout  is <reply>
14:21 purl okay, moritz.
14:21 rurban broken: ROUND_16(val) (((val) & 0xf) ? 16 - ((val) & 0xf) : 0)
14:22 guru joined #parrot
14:22 rurban good: define ALIGN_16(xx, ptr) ptr = (const opcode_t *)(((unsigned long)ptr + 15) & (~15))
14:23 rurban but this only aligns the ptr, not the difference
14:23 moritz to me it all looks scary :-)
14:24 rurban ptr+15 & ~15 is good, 16-ptr & 0xf works only 32 bit. why??? I have no idea
14:24 rurban because there's alignment code all over the place (writing to memory) and I don't want to touch that also
14:27 rurban and this is only the place which I studied, the pbc reader. the compiler and the pbc writer have the same macro, so i'm very suspicious
14:39 Coke if I build and install a parrot using a local portfile, I see this:
14:40 Coke $ ldd /opt/local/bin/parrot
14:40 Coke /opt/local/bin/parrot: /opt/local/var/macports/build/_Users_c​oke_research_macports_lang_parrot/work​/parrot-0.9.0/blib/lib/libparrot.dylib (compatibility version 0.0.0, current version 0.0.0)
14:40 Coke I'm thinking having a reference to the build dir is bad.
14:41 Coke ah, yup. it's gone at runtime.
14:41 Coke $ /opt/local/bin/parrot
14:41 Coke dyld: Library not loaded:
14:41 Coke rurban: any suggestions?
14:41 purl any suggestions are welcome.  (including ripping it out entirely :))
14:42 rurban_ joined #parrot
14:44 rurban_ can you compare installed_parrot against /opt/local/bin/parrot? maybe you installed opt/local/var/macports/build/_Users_coke_researc​h_macports_lang_parrot/work/parrot-0.9.0/parrot instead?
14:45 Coke /opt/local/bin/parrot IS the installed parrot.
14:45 namenlos joined #parrot
14:45 rurban_ I know, but sometimes install_files.pl installs the wrong file
14:45 Coke So, I'm probably misunderstaning the questin.
14:45 rurban_ parrot and not insalled_parrot
14:46 rurban_ you can ldd those two
14:47 Coke I don't have the build directory lying about. I suppose I can tell macports to not remove it when it's done.
14:47 Coke but shouldn't "make install" DTRT ther?
14:47 rurban And then you can look at the linker line for installed_parrot when building, which rpath it is using
14:47 rurban make install is fragile
14:48 rurban it relies on MANIFEST information and copies first the wrong file, and after that the install_ files.
14:48 rurban but if the installed_parrot is missing you get no error at all, just a broken install
14:49 rurban that's my main pronblem in the last 6 months or so...
14:50 Coke running 'port -k install parrot' which should keep the build dir.
14:51 rurban and getting building with already installed libparrot.so right
14:54 Coke installable_parrot also points to the wrong location.
14:55 rurban that's it then, the linker line in pbc_to_exe is wrong
14:55 rurban do you use rpath there?
14:55 bkuhn joined #parrot
14:55 Coke I don't know what 'rpath' is.
14:56 Coke ah. like LD_LIBRARY_PATH ?
14:57 nopaste "coke" at 65.91.151.194 pasted "env vars used by dynamic library loader on os x." (29 lines) at http://nopaste.snit.ch/15509
14:58 rurban so your case needs DYLD_LIBRARY_PATH
14:58 rurban -rpath stores the build-time DYLD_LIBRARY_PATH in the library
14:59 rurban so I know the problem, export DYLD_LIBRARY_PATH = ... for -install
15:00 Tene joined #parrot
15:00 Coke shouldn't there be an arg to config I can pass for that?
15:02 rurban can you try installable_parrot_config prefix
15:03 Coke prefix to what?
15:03 rurban it must not be the build_dir
15:03 rurban ./installable_parrot_config prefix
15:03 Coke (hurm. I am thinking I want an option to 'ld' here.)
15:04 Coke /opt/local/lib/parrot
15:07 rurban cd /opt/local/var/macports/build/_Users_coke_rese​arch_macports_lang_parrot/work/parrot-0.9.0/; ./installable_parrot_config prefix
15:07 Theory joined #parrot
15:09 Andy joined #parrot
15:11 Coke 10:04 <@Coke> /opt/local/lib/parrot
15:11 Coke (sorry i was not clear that was the output you were looking for.)
15:12 rurban so this is correct, good
15:12 rurban that means the frozen install_config.fpmc is right
15:13 rurban I'm just fixing the neg -0.0 op in windows so I'm a bit distracted, sorry
15:13 Coke np
15:15 rurban wrong: installable_parrot is not made with pbc_to_exe, just with linking to the generated frozen src\install_config.o
15:15 Coke that makes more sense, yes. =-)
15:15 Coke hurm. Looks like I should be adding shortcuts to the rest of installable_* also.
15:16 rurban But we've just confirmed that install_config.fpmc has the right prefix...
15:16 flh joined #parrot
15:16 rurban can you paste the exact linker line for installable_parrot ?
15:17 Coke we need to rename 'pdump'
15:18 rurban oh? which conflict
15:18 rurban I have another idea. is your DYLD_LIBRARY_PATH still pointing to your blib? that would also explain it
15:18 nopaste "coke" at 65.91.151.194 pasted "link line for installable_parrot" (5 lines) at http://nopaste.snit.ch/15511
15:18 rurban export DYLD_LIBRARY_PATH=
15:19 Coke it's unset.
15:19 rurban I don't understand "-undefined dynamic_lookup", but it should do no harm
15:20 rurban So what is the difference from src/install_config.o to install_config.fpmc regarding to the prefix. difficult.
15:20 Coke there's no conflict with pdump atm, but it's too vague.
15:20 rurban ok.
15:20 particle rurban: did you break parrot win32 builds?
15:20 rurban pbc_dump would be better, yes
15:21 rurban particle, no, works fine for me.
15:21 particle msvc?
15:21 purl msvc is, like, a bit stricter than gcc; meaning it implements C a bit stricter than gcc
15:21 rurban I'm just testing mcvs6
15:21 particle LINK : fatal error LNK1104: cannot open file 'libparrot.lib'
15:21 rurban msvc6
15:21 rurban which target?
15:21 particle parrot.exe
15:21 rurban I've changed the double-quote mingw problem today
15:22 particle oh, no wait
15:22 rurban nmake libparrot.lib
15:22 particle it's myops_ops.dll
15:22 particle the dynops aren't building
15:23 rurban that was the change today. in dynoplibs.pl
15:23 particle .* '_ops' ['_switch']?
15:23 particle ok
15:24 rurban we had a ""lib"" in constructing the linker line for the dynops
15:25 rurban https://trac.parrot.org/parrot/changeset/36399/
15:26 particle i'm looking at that diff now
15:26 rurban TT #278
15:26 rurban the probem was that the hints file already quoted the libparrot
15:27 rurban mswin32.pm: libparrot_ldflags   => "\"$build_dir\\libparrot.dll\"",
15:27 particle link -out:dan_ops_switch.dll "dan_ops_switch.obj"  kernel32.lib ws2_32.lib msvcrt.lib oldnames.lib  -nologo -nodefaultlib -debug  -nologo -nodefaultlib -debug   -machine:x86 -dll "libparrot.lib"
15:27 particle where's build_dir there?
15:28 rurban \\ is also missing
15:28 purl okay, rurban.
15:28 particle unless ($CC =~ /gcc/i) {
15:28 particle $LIBPARROT = '@build_dir@/libparrot@a@';
15:28 particle }
15:28 particle (from your diff)
15:28 particle oh, nm, that was removed, not added. hrmm.
15:29 particle i'll try to add it back, then.
15:29 rurban okay. works for me though...
15:30 rurban $LIBPARROT is the importlib in the msvc case
15:30 rurban $LIBPARROT = '@build_dir@\\libparrot@a@' seems to be even better
15:31 particle works with absolute filename, but not relative
15:32 rurban sure, because pwd changed for dynoplibs
15:32 rurban @build_dir@\\ is missing yes, sorry
15:34 particle odd, i have a libparrot.lib in blib/lib that's 22MB, and one in . that's 3MB. same date and time.
15:34 particle 4MB for the latter, actually
15:34 rurban the first is static, the other importlib
15:34 particle ah, it's building both!
15:34 rurban the first is not used at all, just for single-file embedders
15:35 Andy When's 1.0 out?
15:35 Andy march?
15:35 purl i think march is CA, TX, and ON. or booked.
15:35 particle 3rd tuesday in march is the plan
15:35 rurban shoudl I fix it or you?
15:35 Coke Andy: that is the plan.
15:35 Andy oh yes, here we go http://perlbuzz.com/2008/11/parrot​-10-will-be-out-in-march-2009.html
15:35 shorten Andy's url is at http://xrl.us/bee9i8
15:35 Andy duh
15:35 Andy so, St. Patrick's Day
15:36 Andy Or is that St. Pmichaud's day?
15:36 particle rurban: what's missing? i can test it here and fix if that's better for you
15:37 rurban better you fix it because I cannot reproduce it.
15:38 rurban wait a sec...
15:38 purl wait a sec... is purl one of those answer bots?
15:39 rurban I'll have to do it on a space-infected build_dir first
15:43 * particle rebuilds parrot
15:44 particle ok, i don't have spaces in mine atm
15:45 rurban I've got now a better patch...
15:45 particle #IF(parrot_is_shared):$LIBPARROT = ($^O eq 'MSWin32' ? '@build_dir@' : '') . q[@libparrot_ldflags@];
15:45 particle that's what i'm testing
15:45 purl testing is hobbs's weakest point, because basically I've never had to do it right ;)
15:45 particle testing is <reply>
15:46 particle no, testing is <reply>
15:46 purl okay, particle.
15:46 nopaste "rurban" at 212.183.63.32 pasted "testing better double-quote patch, broke dynoplibs" (31 lines) at http://nopaste.snit.ch/15512
15:47 rurban libparrot_ldflags   => "\"$build_dir\\libparrot.dll\"", was there for problems with already installed libparrot.dll
15:47 rurban but that should do no harm for now...
15:48 particle ok
15:50 rurban And now I know why it didn't fail for me... I tested the old version
15:50 rurban nmake
15:50 rurban sorry
15:50 particle heh. i wondered about that. msvc6 is old, but not that funky
15:51 rurban But I had no chance to fix #ifdef WIN32 neg_n for now
15:51 particle there's still time before march
15:52 particle i'll have to install msvc6 before i can help with that
15:52 nopaste "rurban" at 212.183.63.32 pasted "testing absurd WIN32 case for neg_n for -0.0" (23 lines) at http://nopaste.snit.ch/15513
15:53 rurban it's not msvc6 or 9, it's just your msvcrt.dll that you've installed. wait, that begs for a config check
15:54 particle yeah, you're right.
15:54 rurban hmm, but it really must be checked on runtime, people are using binary builds
15:54 particle in your libparrot patch, use libparrot@a@ rather than .lib
15:54 rurban why, windows only has .lib
15:55 rurban @a@ looks odd
15:55 particle i prefer using the config
15:55 rurban i's the importlib here, not the the extension for the static lib.
15:55 rurban and we don#t have a improtlib ext defined, we should
15:56 particle true, too
15:56 rurban I'm just tyoing for better makefile macros for cleaning them up
15:56 particle should define and use importlib. then if the code is copy/pasted, it'll work portably
15:57 nopaste "rurban" at 212.183.63.32 pasted "testing a IMPORTLIB macro" (27 lines) at http://nopaste.snit.ch/15514
15:57 particle your nopasted patch also only had one '\', so my build failed
15:58 rurban hmm, link -out:myops_ops_switch.dll "myops_ops_switch.obj" ...  -dll "N:/usr/src/perl/parrot/parrot-svn\libparrot.lib"
16:00 rurban now I know why I had the / there
16:00 ask joined #parrot
16:00 rurban do we support win95 or winme still?
16:02 particle no
16:02 rurban link -out:perl6_group.dll fails for me
16:02 rurban I see, the string changes...
16:04 rurban where's the co-rakudo target?
16:05 rurban I'm testing now on mingw (with /)
16:05 rurban windows since nt does just fine with / slashes
16:06 particle yeah, / is fine
16:07 rurban The importlib extensions are '.dll.a' and 'lib'. but I know no other project which has this in its config.h
16:08 rurban AIX has this concept also I suppose
16:12 rurban okay, mingw failed with the new attempt on dynpmc, no problem
16:14 Fayland_logger joined #parrot
16:16 nopaste "rurban" at 212.183.63.32 pasted "tt278-mingw-doublequote-2.patch" (48 lines) at http://nopaste.snit.ch/15515
16:17 particle looks good from here!
16:17 particle i can test, if you want
16:17 rurban I'll smoke it a bit on some machines
16:17 particle ok, i'll test
16:20 rurban hmm, my WIN32 neg_n branch is not picked up
16:21 rurban bw, we still need the .manifest files for newer msvc's
16:22 particle yeah, my windows 7 builds fail due to .manifest stuff
16:22 particle at least, two weeks ago when i last attempted, they did
16:22 rurban we need just one boilerplate somewhere
16:23 Coke (when removing rakudo, we have to remember to remove 'perl6' targets from the makefile)
16:23 rurban fails on \t\dynoplibs
16:26 rurban really, we cannot we just add a co-kakudo ?
16:26 rurban I see, clean seperation
16:26 rurban n
16:27 rurban loadlib "dynlexpad" ails now for me
16:27 particle can you loadlib without extension?
16:27 rurban src\string\api.c:767: failed assertion 'encoding'
16:28 rurban that's the reason.
16:28 rurban on mingw only
16:28 rurban after make realclean of course
16:28 particle totally unrelated to dyn* changes, it seems
16:29 rurban yep, I'lll start afresh
16:31 Infinoid rurban: I've seen issues like that before.  Does it happen at the very beginning of parrot execution, before any encodings have been registered?  (the default encoding pointer will be NULL in that case)
16:31 Infinoid rurban: In that same function, I had to change "charset" to ARGIN_NULLOK() because registering the first encoding plugin created a string (to store the name of the encoding) which had a null charset
16:31 rurban .local pmc lib   lib = loadlib "dynlexpad"  are the first two pir lines
16:32 rurban can you reproduce that error? parrot -t t/dynpmc/dynlexpad_1.pir
16:32 guru joined #parrot
16:33 Infinoid I'll try, one moment
16:35 rurban Shit, I have to go in 20 minutes
16:35 rurban I'll apply the win32/mingw fixes before
16:37 nopaste "rurban" at 212.183.63.32 pasted "latest win32-neg_n.patch" (40 lines) at http://nopaste.snit.ch/15516
16:38 Infinoid rurban: can't reproduce it here
16:38 nopaste "rurban" at 212.183.63.32 pasted "latest importlib.patch" (119 lines) at http://nopaste.snit.ch/15517
16:38 Infinoid (linux/x86-64)
16:38 rurban good. I'm still building afresh
16:39 rurban is $(rm /dev/null) save on all platforms besides win32?
16:41 particle why would you do rm /dev/null?
16:41 particle ah, importlib
16:42 rurban just stupid realclean
16:42 particle File::Spec has a devnull method
16:42 rurban but I can special case it also
16:42 rurban still same src\string\api.c:767: failed assertion 'encoding' mingw only
16:42 particle don't know what 'del nul' does on win32
16:42 moritz Grüße,
16:42 moritz Moritz
16:42 moritz sorry
16:42 moritz damn copy & paste :(
16:42 Coke D:\Documents and Settings\501600804>del nul
16:42 Coke The filename, directory name, or volume label syntax is incorrect.
16:43 rurban I just need to rm a not existing file on non-win32 platforms, the importlib. but this patch is not yet good enough.
16:45 rg how about using nonexistent literally?
16:48 particle works for me
16:49 rurban works for me on msvc also, just mingw is infected
16:49 rurban So I say it was Infinoid :)
16:51 Infinoid What did I do this time?
16:53 rurban src\string\api.c:767: failed assertion 'encoding' for loadlib "dynlexpad" mingw only
16:53 dalek parrot: r36404 | rurban++ | trunk/config:
16:53 dalek parrot: TT #278 take 2.
16:53 dalek parrot: Fix msvc build for dynpmc, and improve the previous mingw double-quote patch.
16:53 dalek parrot: Tested ok on msvc, but mingw fails with a probably unrelated loadlib
16:53 dalek parrot: assertion:
16:53 dalek parrot:   src\string\api.c:767: failed assertion 'encoding'
16:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36404/
16:54 Infinoid Hmm.  A backtrace there would help, I'll make one later today if I have the chance
16:55 rurban I started smoking the other platforms now, while I'm leaving.
16:57 rurban I don't have the mingw gdb right now. I'll try to reproduce on cygwin. There I'll get a good backtrace
16:58 Coke (remove a file that doesn't exist) ExtUtils-Command's rm_f ?
17:01 particle rurban++ for your hard work today
17:01 kj rurban++ # fix build
17:04 rg so we're expecting unix users not to be crazy enough to use directories with spaces (or worse)?
17:05 particle we're worrying about it later, i suppose
17:06 NotFound We are not alone. autotools also have problems with spaces in directories.
17:07 rg ok, i guess we're fine then.
17:07 * rg has never put a space in directories (or files for that matter) on unix ;)
17:08 NotFound rg: and spaces is just the start of the story.
17:08 rg i know. stars, question mark and semicolon come to mind.
17:09 NotFound You'll be really scared when you start to see directory names with spaces, backspaces, carriage returns, newlines...
17:10 Infinoid and dollar signs, oh my!
17:10 NotFound Well, sometimes when you start to not see them :D
17:13 rg java uses dollar signs (not for directories though).
17:13 NotFound I can use some dollars, if you send it to me...
17:14 Coke I'll paypal you 10 USD if you convert partcl to PCT. =-)
17:14 Infinoid just don't print them out, or you'll be arrested
17:14 moritz that's lousy ;-)
17:17 rg what is the equivalent of harness flags with prove (i.e. how can i run a single test with correct flags)?
17:18 moritz rg: you can run perl t/harness t/path/to/file.t
17:19 mberends joined #parrot
17:21 Coke (terrible) what, my offer? I'll double it. =-)
17:23 rg *sigh* another failure i won't find easily
17:27 rg and moritz already reported it anyway ;)
17:30 cognominal joined #parrot
17:53 Zaba joined #parrot
17:55 particle interview &
17:56 dalek parrot: r36405 | fperrad++ | trunk/languages/lua/src/pmc:
17:56 dalek parrot: [Lua] more consting
17:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36405/
18:01 bacek joined #parrot
18:01 barney joined #parrot
18:06 particle joined #parrot
18:15 soxet joined #parrot
18:35 geof joined #parrot
18:50 NotFound pdd28 says: "string_to_cstring_nullable - Just the implementation of string_to_cstring, no need for a separate function that specially allows returning a NULL string."
18:50 Coke http://news.perlfoundation.org/20​09/02/2009q1_grant_proposals.html
18:50 shorten Coke's url is at http://xrl.us/befaff
18:51 Coke open period for community comments.
18:51 NotFound I strongly disagree, we added the nullable version because people asked for it
19:01 rob joined #parrot
19:06 ask joined #parrot
19:08 Zaba joined #parrot
19:17 chromatic joined #parrot
19:17 GeJ Good morning everyone
19:18 Infinoid hi GeJ
19:45 Whiteknight hello
19:56 Coke hello?
19:56 purl Raise purl's hand in the back if you can't hear me.
19:56 Coke stupid purl.
19:57 Coke hello?
19:57 purl Raise your hand in the back if you can't hear me.
19:57 Coke purl, scooby snack.
19:57 purl Rank roo, Coke!
20:05 Whiteknight Coke, you have a grammar for TCL?
20:05 Whiteknight if I could find a good grammar for it, I could take a stab at converting it to PCT
20:05 * chromatic coughs
20:07 PerlJam Whiteknight: are you spreading out or changing focus?  :)
20:07 Whiteknight I've got an attention span like a little kid
20:07 Whiteknight plus, I multi-task in an unhealthy way
20:09 chromatic TT #246 is a milestone you mentioned you could work on.
20:10 Whiteknight chromatic: I have the ability, but I dont have a finite list of what needs to be done
20:11 Whiteknight the "we'd like a few more tests to be passing on Win32" isn't too inspiring
20:11 chromatic TT #239?
20:12 NotFound Whiteknight: we can post an answer: "Install a virtual machine on that win32 box, and run linux on it" X-)
20:13 Whiteknight I work on #239 anyway, in the form of docs/book/. If there are other things related to this that people want me to work on instead, tell me about it
20:18 Whiteknight how do you figure out which tests are TODO'd on Win32?
20:18 Whiteknight I don't know nearly enough about tests
20:18 chromatic I think we need a custom TAP harness.  Bleh.
20:18 dalek joined #parrot
20:19 Coke partcl?
20:19 purl hmmm... partcl is tcl on parrot or http://code.google.com/p/partcl or slow and a memory pig and pretty much not usable.
20:19 Coke Whiteknight: aside from the grammar that's in the existing, functional partcl?
20:19 Whiteknight Coke: I saw that after I asked my question
20:19 Coke ;=)
20:20 Whiteknight with that already written, it shouldn't be too too hard to translate all this mess over to PCT
20:20 Coke Whiteknight: more specifically: http://code.google.com/p/partcl/sourc​e/browse/#svn/trunk/src/grammar/expr
20:20 shorten Coke's url is at http://xrl.us/befauh
20:20 Whiteknight (and I mean "mess" in the good way)
20:20 Coke I'd be happy to give you a commit bit if you want to play in a branch.
20:21 Coke (would just need your google id)
20:21 Coke er, googlecode id.
20:22 Whiteknight is googlecode id different from google id?
20:23 Whiteknight my google id should be wknight8111
20:25 Coke wknight8111@gmail.com now has privs. enujoy.
20:25 Coke "enjoy"
20:25 Coke there, even assigned you the ticket.
20:26 Whiteknight w00t
20:26 Zaba joined #parrot
20:30 * rg thinks he has a fix for TT #281. running tests now :)
20:41 rg seems to be working. does anyone have the time to take a look?
20:42 alvar joined #parrot
20:45 Coke post the patch on the ticket and if people have time... =-)
20:45 rg already did
20:45 rg maybe i should be asking: anybody want to close a ticket? ;)
20:48 Whiteknight rg: with that patch, is there really any reason to even have a "fast core" that's separate from our standard "slow core"?
20:49 Whiteknight maybe we need to be talking about ripping out the fast core if it can't work without becoming like the slow core
20:50 rg no, i believe the fast core is still doing way less
20:50 rg bounds checking for example is a lot more expensive than tracking your current pc
20:51 Whiteknight the argument could be made though that the slow core doesn't need to do all that bounds-checking
20:52 Coke rg; I can verify that the 'make testf' fails for me without that patch, and succeeds with.
20:52 Coke (but cannot vouch as to whether that's a "good" solution.)
20:54 rg now the goto core is showing the same problem
20:55 rg who can decide whether it's more desireable to have the right line number vs. being as fast as we can?
20:56 chromatic That suggests that we have the wrong approach for figuring out line numbers.
20:56 chromatic (which isn't surprising, given how badly the Perl 5 approach works)
20:59 Whiteknight so wait, we're going to add an extra update to pc between every single iteration just because some line numbers are off in one debug test?
21:01 Whiteknight It's surprising to me that's how we're keeping track of line numbers
21:02 NotFound An approach to the pc problem can be: have in the interpreter a pointer to the pc, on entering runcore set that pointer to the variable he uses.
21:03 Whiteknight I was just thinking that exact thing
21:04 NotFound And of course, capturing his value at exception throwing time.
21:04 Whiteknight have a ->ptr_to_pc field that's set to &CONTEXT(interp)->current_pc by default, but can be set to &pc in the fast core
21:05 NotFound Don't set a default, let each runcore cares about setting his own, this way will be harder to forget.
21:05 Whiteknight I like that idea even better
21:06 Whiteknight no, that's going to fail for nested contexts, isn't it?
21:08 NotFound Is a quick idea, need more thinking.
21:16 cognominal joined #parrot
21:20 chromatic Hm, prove t/*/*.t --directives
21:27 dalek parrot: r36406 | chromatic++ | trunk/examples/benchmarks/array_access.pir:
21:27 dalek parrot: [examples] Removed a reference to the deleted IntList PMC from a benchmark
21:27 dalek parrot: example.
21:27 dalek parrot: review: https://trac.parrot.org/parrot/changeset/36406/
21:28 Coke chromatic: any thoughts on http://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=57088 ?
21:30 chromatic Not yet, but I can look.
21:37 bacek joined #parrot
21:42 Coke danke.
21:57 rg now if only i could get a cc when somebody comments on the ticket
22:44 rurban_ joined #parrot
22:49 rurban cygwin: t/op/debuginfo.t failed 7-8
22:50 rg see TT #281 that i was working on
22:50 rurban solaris with gcc fails for me also
22:51 rurban solaris-gcc: unrecognized option `-KPIC'
22:51 rurban I can fix that on monday
22:51 rurban rg; great. I got the same.
22:52 rurban should I test patch2.diff for TT #281?
22:53 rg only if you think it has merit
22:54 rurban No, I have to go to sleep anyway now. Have to get up tommorrow early for the conference
22:54 rg notfound and whiteknight were discussing a completely different strategy of storing the pc. that's not something i can do.
22:55 rg i just wanted the test to pass ;)
23:15 TiMBuS joined #parrot
23:35 NotFound "Attributes of type 'PMC    *' cannot be "subclassed from a high-level PMC."
23:35 NotFound What the hell means that?
23:35 NotFound We don't want to subclass the attributes, just read them.
23:41 Whiteknight joined #parrot
23:50 Limbic_Region joined #parrot
23:50 NotFound Please some Perl re guru explains me this: /PMC\s\*[^\*]/
23:51 rg the characters PMC, followed by one character of whitespace, followed by a star, followed by any character that is not a star.
23:51 Tene literal text "PMC" followed by a whitespace character, followed by literal '*', followed by anything other than '*'
23:52 NotFound rg: the last part includes 'nothing' ?
23:52 Tene NotFound: no.
23:52 Tene a non-'*' character.
23:52 NotFound I think we have a problem, then.
23:53 NotFound What's the simpler way to add 'or nothing' to that re?
23:53 rg define "nothing". end of string?
23:54 NotFound Yeah
23:55 rg i'd usually use ([^\*]|$) (or the non-capturing (?:...) variant
23:55 rg )
23:56 rg we *are* talking perl5 regexp, right?
23:56 NotFound lib/Parrot/Pmc2c/Attribute.pm
23:56 NotFound I think that is perl5, yes
23:57 rg that looks perl5, yes.
23:58 Tene It is.
23:59 rg unfortunately i don't nearly know parrot enough to know how that code is used.
23:59 NotFound Aparently is used to check an impossible condition, an by doing that breaking a lot of things.

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

Parrot | source cross referenced