Camelia, the Perl 6 bug

IRC log for #parrot, 2009-01-26

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:08 kjs_ joined #parrot
00:09 AndyA joined #parrot
00:12 Whiteknight P[problems in libparrot] = 1
00:12 skv joined #parrot
00:37 dmajnem2 joined #parrot
00:37 dmajnem2 how does parrot use computed gotos and what does parrot do when it is compiled on compilers that do not support them?
00:37 chromatic The default runcore uses indirect threading.
00:38 chromatic You have to use a command-line switch to use an alternate runcore, such as computed goto.
00:38 Whiteknight dmajnem2: It uses computed gotos only for one of it's execution cores.
00:38 Whiteknight For compilers that don't support it, that core isn't available and you have to use one of the other choices
00:39 dmajnem2 I'm sorry, can you please explain what you mean by "execution core" ?
00:41 dmajnem2 also, is parrot using a Boehm-Demers-Weiser GC or its own built from scratch?
00:41 Whiteknight the execution core is the opcode dispatcher. It takes a stream of instructions in, and for each instruction the core dispatches to the proper routine
00:41 NotFound dmajnem2: the engine that makes the virtual machine run
00:41 dmajnem2 thanks, I thnk I understand what you are saying then.
00:41 Whiteknight Parrot is using it's own custom GC right now, but it should be possible to plug the Boehm collector into it if somebody wanted to try
00:42 dmajnem2 I had just never heard been called that.
00:42 dmajnem2 Whiteknight: coolness, I hope I will get a chance to take a significant look at it.
00:43 Whiteknight dmajnem2, you interested in hacking on Parrot?
00:43 dmajnem2 so if I understand you guys correctly, it will use computed gotos if it can, else it will go use indirect threading?
00:43 Whiteknight yes, basically
00:44 dmajnem2 Whiteknight: yep, I am interested in virtual machines and am trying to build my own. But parrot seems much more evolved than what I am trying to do.
00:44 NotFound If I remember well, the default runcore for each platform can be tuned via hints
00:45 NotFound Supposed that you chose one that can be compiled on that platform ;)
00:47 dmajnem2 where can I find a list of the different ways parrot can thread code?
00:47 tetragon joined #parrot
01:02 NotFound dmajnem2: docs/runnig.pod in the parrot tree
01:02 dmajnem2 sorry for my questions but what is the status of parrot on less mainstream compilers?
01:02 dmajnem2 NotFound: thanks
01:02 Coke dmajnem2: define "less mainstream" ?
01:02 dmajnem2 Coke: icc
01:02 Coke we used to compile on icc; without a champion to keep us honest, we have probably backsld.
01:03 Coke if you'd care to try, we can certainly work on any issues you find.
01:03 dmajnem2 Coke: cool, I will give that a shot
01:11 dmajnem2 Coke: would you know why "perl Configure.pl" does not honor the CC and CXX variables?
01:12 Coke It should.
01:12 Coke did you export them?
01:12 dmajnem2 let me double check
01:12 skv joined #parrot
01:12 dmajnem2 yes, I did.
01:13 Whiteknight joined #parrot
01:20 dmajnem2 is parrot not supposed to emit warnings during compilation?
01:21 dmajnem2 also, it seems to have compiled just fine on icc 10
01:21 Coke that's the goal. a work in progress.
01:21 dmajnem2 Coke: what should I do with the warnings? Fix them myself? report them as a bug somewhere?
01:21 Coke check to see if they've already been reported, patch to fix them is good.
01:22 Coke old bug system is rt.perl.org/rt3; current bug system is trac.parrot.org
01:22 dmajnem2 great, thanks
01:28 dmajnem2 what does it mean when a test "UNEXPECTEDLY SUCCEEDED" ?
01:30 NotFound dmajnem2: usually that it was marked as TODO
01:31 dmajnem2 should the TODO be removed? is it a bug if it actually passed?
01:31 Coke in general, it means the TODO marker should be removed.
01:32 Coke in some cases, it might make more sense to avoid the TODO just for your architecture.
01:32 skv joined #parrot
01:32 dmajnem2 oh dear, a failure. Is trunk never supposed to fail?
01:33 Coke we try, but it's not a guarantee.
01:33 Coke (especially if you're using icc. =-)
01:33 NotFound Or maybe the test must be fixed because is flawed. That happened today.
01:33 Coke s/icc/something other than our core set of supported platforms and build chains/
01:35 * Coke tries to figure out tcl's bizarre list quoting rules. :|
01:35 dmajnem2 So I failed two tests in two files, I suppose I should investigate
01:36 Coke [list "{ab}\\"] generates \{ab\}\\
01:36 Coke [list "{ab}x"] generates {{ab}x}
01:38 NotFound dmajnem2: what was the failure?
01:38 dmajnem2 NotFound: it was in t/pmc/sub, "Failed test ':outer with identical sub names'"
01:39 dmajnem2 NotFound: the other was in t/op/pushaction, "Failed test 'pushaction as closure'"
01:42 Andy joined #parrot
01:43 NotFound dmajnem2: execute this: ./parrot t/op/pushaction_6.pir
01:44 dmajnem2 NotFound: where do you want me to display the results? I get three lines of output.
01:44 NotFound Copy here
01:44 dmajnem2 main
01:44 dmajnem2 at popmark, flag = 0
01:44 dmajnem2 a = 42
01:44 Coke dmajnem2: also, see nopaste.snit.ch for anything larger than a few lines.
01:45 * Coke YAYs as he reclaims another partcl spec test. (64 individual passing tests.)
01:45 NotFound Strange, that is the expected result
01:45 dmajnem2 Coke: cool, thanks.
01:46 Coke NotFound: perhaps it printed out the right message but segfaulted or something
01:47 NotFound dmajnem2: try: prove -v t/op/pushaction.t
01:47 dmajnem2 NotFound: not ok 7 - pushaction: error while handling error # TODO runloop shenanigans
01:49 NotFound dmajnem2: the 6 is ok?
01:49 dmajnem2 NotFound: strangely, yes
01:50 NotFound dmajnem2: don't worry too much, the test systme sometimes fails, don't know why
01:51 NotFound Try the other: prove -v t/pmc/sub.t
01:53 dmajnem2 NotFound: two failed
01:53 dmajnem2 not ok 44 - warn on in main # TODO RT #46819 core undef doesn't warn here. Should it?
01:53 dmajnem2 not ok 46 - warn on in sub, turn off in f2 # TODO RT #46819 core undef doesn't warn here. Should it?
01:54 NotFound dmajnem2: yeah, those two are expected to fail
01:54 dmajnem2 nothing other than that
01:54 NotFound Then all is good
01:54 dmajnem2 what of the failures I encountered before?
01:57 NotFound That happens sometimes, maybe there is hidden bug inside our make system, or in prove, or whatever
02:05 dmajnem2 what do .ops files mean? I am looking at src/ops/core.ops, I am trying to get to the bottom of a "statement is unreachable" warning.
02:06 Coke .ops files contain definitions of opcodes.
02:06 Coke those files are psuedo-C; make converts them into a few different .c files in the same dir.
02:12 Ademan joined #parrot
02:15 dmajnem2 where can I find the definition of set_integer_native?
02:15 particle do you use vim?
02:15 dmajnem2 yep
02:15 particle if so, install exuberant ctags and run make tags-vi
02:15 particle then you can do vim -t some_tag
02:16 particle function name, typedef, etc
02:19 Eevee joined #parrot
02:20 dmajnem2 I cannot seem to find the definition, I might be doing something wrong (or I might just plain not be able to understand what is happening)
02:21 Coke set_integer_native is a vtable entry.
02:21 Coke where are you seeing it that you're trying to figure it out?
02:22 dmajnem2 Coke: the static analysis mechanism in icc says that a variable that is being passed into it is not defined. I wanted to know if this was OK.
02:22 Coke set_integer_native isn't a function by itself.
02:22 Coke where are you seeing the error?
02:22 dmajnem2 the code in question is "VTABLE_set_integer_native(interp, user_array, 2);"
02:23 Coke ... so you want to look for the definition of VTABLE_set_integer_native
02:23 Coke but I can tell you that it depends on the type of user_array.
02:23 Coke user_array has a list of vtables. one of them corresponds to the slot set_integer_native
02:23 dmajnem2 it was at src/list.c at line 1417
02:25 Coke dmajnem2: when a PMC (src/pmc/foo.pmc) is compiled, the function pointer for that vtable is set based on whether or not it's being overridden in that PMC definition, inherited from a parent PMC...
02:26 Coke for example, see line 175 of src/pmc/string.pmc
02:26 Coke (and what that translated to in src/pmc/string.c)
02:26 Coke the VTABLE* macros do the dispatch to the given PMCs entry for that function pointer slot.
02:29 dmajnem2 Coke: ah, thanks. I understand what is going on with this now.
02:29 dmajnem2 pretty cool
02:51 dmajnem2 hmm
02:51 dmajnem2 according to what I understand, pmc can't be unset or else there will be major problems because VTABLE_set_* dereferences it.
02:51 dmajnem2 no?
02:52 skv joined #parrot
02:52 Coke yup
02:52 dmajnem2 then I think I found something
02:53 Coke there's a null PMC, a singleton called PMCNULL that has a value specifically to avoid that sort of ugliness.
02:53 dmajnem2 line 1417 of list.c uses user_array as the pmc
02:53 Coke so if you try to use it, we generate a nice, catchable exception instead.
02:53 dmajnem2 it does not seem to be set
02:53 dmajnem2 thats nice
02:54 Coke dmajnem2: yah, looks like it's declared and never initialized.
02:55 dmajnem2 wouldn't that function crash?
02:55 Coke yes, which makes me think it's not run.
02:56 dmajnem2 also, why don't you guys always set things to PMCNULL when you declare them?
02:56 Coke that's not a terrible idea, but I'm not a C programmer. =-)
02:57 Coke I'd open a ticket on the null issue there.
02:57 Coke (trac.parrot.org)
03:03 * Coke kicks off a tcl spec test run and heads to bed.
03:05 * kid51 must sleep
03:05 purl $kid51->sleep(8 * 3600);
03:07 dmajnem2 How do I make a ticket for parrot on Trac? It claims I am not privileged enough.
03:10 Coke did you create an account?
03:10 Coke You might need to set an email and then verify it.
03:10 Coke (if just logging in didn't do it)
03:11 dmajnem2 Coke: I created a new account
03:11 dmajnem2 I will check my email
03:12 dmajnem2 ah, I have to verify my email
03:12 dmajnem2 Coke: I can create tickets now, thanks :)
03:14 Coke sehr gut.
03:18 kid51 dmajnem2 Beware of a bug in the Trac system.  Other than what you have already done in Trac, don't Edit Preferences at all.  It will freeze your account if you do.
03:19 kid51 Cf.:  http://rt.perl.org/rt3/Tic​ket/Display.html?id=61870
03:19 dmajnem2 kid51: thanks, good to know
03:21 dalek r36012 | allison++ | trunk/languages (13 files):
03:21 dalek : [languages] Adding a PGE-based POD parser.
03:21 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36012
03:23 dalek r36013 | allison++ | trunk:
03:23 dalek : [cage] Adding Pod parser to the manifest.
03:23 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36013
03:26 dmajnem2 if I want a very indepth overview of parrot, where should I go first?
03:35 dalek r36014 | allison++ | trunk/languages (2 files):
03:35 dalek : [cage] Setting svn:ignore properties for Pod parser.
03:35 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36014
03:39 dalek r36015 | allison++ | trunk:
03:39 dalek : [cage] Adding ignored Pod parser files to manifest skips.
03:39 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36015
04:16 rhr joined #parrot
04:32 particle dmajnem2: try docs/pdds
04:32 skv joined #parrot
04:32 particle bedward &
04:36 skv joined #parrot
04:39 dmajnem2 NotFound: are you still around?
04:39 dmajnem2 if so, I have been able to consistantly reproduce those two test failures from earlier using a different runcore.
05:11 dalek r36016 | allison++ | trunk/languages/pod:
05:11 dalek : [pod] Remove included file that isn't generated.
05:11 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36016
05:12 dalek r36017 | allison++ | trunk/languages/pod (2 files):
05:12 dalek : [pod] Add literal paragraphs, some cleanup on whitespace handling.
05:12 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36017
05:14 particle joined #parrot
05:26 masak joined #parrot
05:31 Theory joined #parrot
06:02 skv joined #parrot
06:09 Topic for #parrotis now Parrot 0.9.0 "From Outer Space" Released | http://parrot.org/ | migration to svn.parrot.org begins at 19:00 UTC on Thurs
06:11 ask_ joined #parrot
06:22 allison joined #parrot
06:30 Khisanth joined #parrot
06:51 dmajnem2 joined #parrot
06:52 dmajnem2 clear
06:53 dalek r36018 | chromatic++ | trunk/src (2 files):
06:53 dalek : [src] Removed unused variables from list_new_init(), as well as documentation
06:53 dalek : which incorrectly referred to this function.  There's more to cut here, but
06:53 dalek : this satisfies TT #226, reported by dmajnemer.
06:53 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36018
06:53 dmajnem2 oops, wrong screen. I apologize.
06:58 dmajnem2 for what reason would the config decide that I am not jit capable?
06:58 chromatic Are you using a non-x86 and non-32 bit platform?
06:59 dmajnem2 chromatic: I am on x86-64
06:59 dmajnem2 I just switched boxes
06:59 chromatic I don't know how the 64-bit JIT works.
07:00 dmajnem2 chromatic: I suppose the JITs for x86 would be quite different due to all sorts of architecture changes
07:01 chromatic If we're lucky... it'd be nice to take advantage of all of the registers on a 64-bit chip.
07:03 dmajnem2 other nice things like being able to take advantage of additional instructions would be pretty sweet. You can assume at least SSE2 IIRC
07:03 dmajnem2 does parrot vectorize loops on its different JITs yet?
07:05 chromatic I'm not sure.
07:13 dmajnem2 Is it just me or is trac.parrot.org slow as heck?
07:13 chromatic It can be slow.
07:13 dmajnem2 oh dear, it looks like trac just ate it.. "OperationalError: database is locked"
07:13 dmajnem2 it looks like it runs on sqlite, that cannot be too quick
07:36 dmajnem2 hmm, that is not good. parrot just segfaulted during make when I asked it to build for 32 bit on x64 :/
07:54 Tene_ joined #parrot
08:02 iblechbot joined #parrot
08:06 dalek r36019 | allison++ | trunk (4 files):
08:06 dalek : [pod] Adding a set of PCT-based Pod node classes, to build a document tree from
08:06 dalek : the raw Pod parse.
08:06 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36019
08:16 dmajnem2 why would I get "Error: PARROT_JIT_FLAG is set, but interpreter is not JIT_CAPABLE!" ?
08:25 Rahly2 joined #parrot
09:02 barney joined #parrot
09:07 Zaba joined #parrot
10:02 tomyan joined #parrot
10:12 kj joined #parrot
10:13 anio joined #parrot
10:32 dalek r36020 | bernhard++ | trunk/languages/pod (8 files):
10:32 dalek : [codingstd] set svn properties
10:32 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36020
10:36 braceta joined #parrot
10:38 alvar joined #parrot
11:13 elmex joined #parrot
11:30 AndyA joined #parrot
12:14 Gerd joined #parrot
12:17 Gerd left #parrot
12:36 tetragon joined #parrot
12:41 dalek r36021 | fperrad++ | trunk:
12:41 dalek : Ignore language checkouts 'lazy-k' and 'unlambda'
12:41 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36021
12:43 tetragon_ joined #parrot
13:03 dalek r36022 | bernhard++ | trunk/languages/pipp/t/php:
13:03 dalek : [Pipp] Add TODO test for 'print'
13:03 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36022
13:03 dalek r36023 | bernhard++ | trunk/languages/pipp (2 files):
13:03 dalek : [Pipp] echo doesn't return a value
13:03 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36023
13:04 dalek r36024 | bernhard++ | trunk/languages/pipp (4 files):
13:04 dalek : [Pipp] Add support for 'print'
13:04 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36024
13:04 dalek r36025 | bernhard++ | trunk/languages/pipp/t/php:
13:04 dalek : [Pipp] saner test description
13:04 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36025
13:04 dalek r36026 | bernhard++ | trunk/languages/pipp/t/php:
13:04 dalek : [Pipp] simplify hello.1
13:04 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36026
13:04 dalek r36027 | bernhard++ | trunk/languages/pipp/src/common:
13:04 dalek : [Pipp] Fiddle with 'dirname'
13:04 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36027
13:07 barney A usable PIR lib for filepath manipulation would be nice.
13:39 bkuhn joined #parrot
13:57 dalek r36028 | cotto++ | trunk/lib/Parrot/Pmc2c:
13:57 dalek : [pmc2c] allow UINTVAL ATTRs
13:57 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36028
13:59 tetragon joined #parrot
14:00 gryphon joined #parrot
14:03 gryphon joined #parrot
14:05 gryphon joined #parrot
14:06 dalek bernhard.schmalhofer@gmx.de | Pipp:
14:06 dalek link: http://www.perlfoundation.​org/parrot/index.cgi?pipp
14:06 Coke cotto: wouldn't U?INTVAL suffice?
14:07 gryphon joined #parrot
14:07 dalek bernhard.schmalhofer@gmx.de | Pipp:
14:07 dalek link: http://www.perlfoundation.​org/parrot/index.cgi?pipp
14:08 cotto Coke, yes.  I guess I didn't have my brain in regex mode at the time.
14:10 dalek r36029 | cotto++ | trunk/lib/Parrot/Pmc2c:
14:10 dalek : [pmc2c] simplify the previous commit (Coke++ for pointing out the obvious)
14:10 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36029
14:11 bacek joined #parrot
14:12 dalek r36030 | bernhard++ | trunk/languages/pipp (2 files):
14:12 dalek : [Pipp] add 'chop' to strings extension
14:12 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36030
14:14 Coke cotto: failing 8 more math spec tests on this run, presumably due to the FV issue.
14:22 cotto Coke, which file has the failing tests?
14:22 cotto (all this trouble, and Float was one of the easy PMCs)
14:23 cotto the Sub family scares me
14:23 dalek r36031 | julianalbo++ | trunk/examples/pir:
14:23 dalek : [pirric] add pipp to the interlang.bas example
14:23 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36031
14:28 NotFound Someone opposed to add the tcl/tk library from TT #86 ?
14:28 NotFound https://trac.parrot.org/parrot/ticket/86
14:34 Coke cotto: it's a spectest: t_tcl/mathop.test
14:35 Coke but there are other failures too. It's just failing 8 more now than before.
14:35 Coke If you fix the failure in t/cmd_expr*.t , that'll probably cover it.
14:35 Coke 2879-2693
14:35 purl 186
14:35 Coke yay, 186 more tests in 2 days.
14:39 moritz wow
14:42 * moritz just sped up a program of his by a factor of 3 to 4, just by RTFM and playing with the library a bit (not parrot related)
14:48 moritz parallel parrot build fails for me
14:48 moritz /usr/bin/perl tools/build/ops2c.pl C --core
14:48 moritz Can't exec parrot at t/op/annotate.t line 1.
14:56 dalek r36032 | julianalbo++ | trunk (6 files):
14:56 dalek : [library] add tcl/tk library, TT #86 vkon++
14:56 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36032
15:06 PacoLinux joined #parrot
15:11 barney joined #parrot
15:22 Coke moritz: how did you built parrot? any options to configure?
15:23 moritz make realclean; perl Configure.pl --cc='ccache gcc' && make -j 2  test
15:25 rg joined #parrot
15:25 nopaste "NotFound" at 213.96.228.50 pasted "A trick for autoexecutable .pir files" (17 lines) at http://nopaste.snit.ch/15420
15:27 Coke moritz: that rule in the makefile corresponds to "make src/ops/core_ops.c" - if I run that after a config/clean, it builds.
15:27 Coke (/usr/bin/perl tools/build/ops2c.pl C --core)
15:27 Coke is that the line that failed?
15:29 moritz Coke: I'll re-check
15:30 * Coke toyed with the idea at one point of generating a list of all the make targets, then building them one a time and recleaning to verify deps.
15:31 * Coke thinks writing a 'make depend' for parrot would probably be a better use of time.
15:31 * Coke hurls http://partcl.blogspot.com/2009/01​/partcl-progress-january-2009.html
15:34 dalek r36033 | julianalbo++ | trunk/languages/pipp/src/common:
15:34 dalek : [codingstd] trailing spaces
15:34 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36033
15:34 moritz Coke: the problem seems to be that t/op/annotate.t tries to run ./parrot before it's built
15:35 Coke oh, is that the new test that was added by jonathan?
15:35 Coke (the one that is outside of the existing test harness.)
15:35 Coke I'd report that as a bug.
15:36 Coke in the meantime, "make -j2 all test" will probably work.
15:37 Coke moritz++
15:38 moritz Coke++ # progress blogging
15:40 dalek r36034 | julianalbo++ | trunk (2 files):
15:40 dalek : [library] delete a file added by mistake in r36032, TT #86
15:40 Coke little more infrequent than rakudo. =-)
15:40 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36034
15:41 jq joined #parrot
15:41 Coke jonathan: happy birthday.
15:41 purl for (('to you', 'dear '.shift)[0,0,1,0]) { print "Happy birthday $_" }
15:43 * Coke tries to download parrot 0.9.0 and gets a 404.
15:44 cotto The Phantom Parrot From Outer Space
15:51 rblackwe joined #parrot
15:56 frodwith joined #parrot
16:13 pjcj joined #parrot
16:15 dalek r36035 | julianalbo++ | trunk (3 files):
16:15 dalek : [cage] fix a few warnings
16:15 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36035
16:15 Eevee joined #parrot
16:16 pjcj joined #parrot
16:26 * Coke wonders if the RELEASE tag for 0.9.0 in svn corresponds to 0.9.0 or 0.9.0.1
16:28 * particle forgets the languages/perl6 file that was changed to remove the 2nd =cut
16:28 Coke This makes it somewhat annoying in re: updating partcl's stable branch.
16:29 Coke ah well. I'll just let it languish at 0.8.1
16:29 particle i believe it's the new one, as the tarball on parrot.org is corrected
16:29 Coke particle: there is no tarball on parrot.org =-)
16:29 Coke I keep getting a 404.
16:29 particle 0.9.0.1 is cpan-only
16:30 particle ftp://ftp.parrot.org/pub/parrot/rele​ases/devel/0.9.0/parrot-0.9.0.tar.gz
16:30 shorten particle's url is at http://xrl.us/bedb83
16:30 Coke Oops! This link appears broken.
16:30 Coke DNS error - cannot find server.
16:30 * Coke tries from elsewehre.
16:31 Coke that's better.
16:31 Coke however, the link on http://www.parrot.org/download to "current dev release" is mising.
16:32 rg the tag is for 0.9.0 and does *not* contain the =cut fix.
16:33 particle seems chromatic got lazy. sigh.
16:34 rg i think there were some other commits inbetween so he couldn't really redo the tag.
16:34 Coke rg: that's what branches are for.
16:35 Coke heck, subversion even lets you commit to a tag. =-)
16:35 rg yes, for subversion a tag is the same as a branch
16:35 particle yep
16:36 Coke for partcl, I'll just ignore 0.9.0 and hope that 0.9.1 can be used for stable.
16:36 particle rather than create a 0.9.0.1 tag?
16:39 Coke yes.
16:39 Coke per c, the .1 is only there because of cpan. The release itself still thinks it's 0.9.0
16:40 Coke but I can see having both. sure.
16:40 Coke (my point was that it was fixable.)
16:41 Coke cotto: is there a ticket to track the FV change?
16:41 rg how is the rakudo failure relevant to partcl anyway?
16:42 Coke it's not. I only care that there are now multiple, confusingly named parrot releases.
16:43 particle yeah, that's teh sux
16:44 Coke (and I already spend enough time treading water with partcl.)
16:53 Coke particle: the change to 'make test' breaks this:
16:53 Coke 'make -j2 test'
16:53 Coke moritz discovered it. haven't seen a ticket go by yet.
16:54 particle i wonder why
16:57 Coke because deps are wrong.
16:57 Coke the newly added test is listed as a separate dep of 'test', but it doesn't depend on parrot being built.
16:57 Coke so -j2 tries to run it before the build is done.
16:58 Coke the test then fails and the build is aborted.
17:05 particle ah, easy fix, then
17:11 hercynium joined #parrot
17:19 Theory joined #parrot
18:05 chromatic joined #parrot
18:07 Zaba joined #parrot
18:14 Zaba joined #parrot
18:25 dalek r36036 | cotto++ | trunk/src/pmc (2 files):
18:25 dalek : [pmc] update *BooleanArray PMCs to use ATTRs
18:25 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36036
18:30 cotto Coke, I'm going to take a stab at fixing tcl now.  I'll file a TT if I don't get anywhere.
18:32 Coke cotto: +1
18:32 purl 1
18:32 cotto Is there an easy test for the bug that doesn't involve counting 3's?
18:33 Coke prove t/cmd_exprOld.t
18:34 Coke I can shorten that. moment.
18:34 frodwith joined #parrot
18:36 Coke $ ./tclsh -e "source lib/test_more.tcl; is [expr 1/3.0] 0.3333333333333333"
18:36 cotto shiny
18:36 Coke (there, now you only have to run one slow test)
18:37 Coke and i will happily provide a commit bit if you want.
18:38 particle can i get a smolder failure report feed that doesn't include bsd?
18:39 particle we obviously don't support bsd well enough, there's ~50 failing reports a day from that platform. to me, it's just noise.
18:40 Coke if no one is fixing them, we should TODO them.
18:40 Coke (as much as I dislike having more TODO tests.)
18:40 cotto Coke, can tcl easily be made to generate pir?
18:41 cotto --target=pir doesn't work
18:41 Coke cotto: I don't use PCT.
18:41 Coke so, not really.
18:41 cotto k
18:41 Coke you can use ../../parrot -D60 tcl.pbc foo.pir and troll through the several hundred EVAL_ files, though.
18:41 Coke er, foo.tcl
18:42 Coke I would also check out the "get_string" vtable override on float.
18:42 Coke I'm pretty sure that's getting invoked
18:42 particle can you add file/line annotations to those eval files?
18:42 Coke particle: it's on my list. parrot only started supporting this on the order of days ago.
18:42 particle yes, i know that :)
18:43 Coke I don't think I can make good use of them unless i can get PGE to tell me what line number something is on, though.
18:43 particle that won't happen for a bit
18:43 particle even file might help, though, since there are so many eval files
18:44 * cotto looks at amount of code generated and hopes the important stuff is near the end
18:45 Coke the annotations won't show up in the generated PIR of the eval_files, though.
18:45 Coke cotto: there is a LOT of pir compilation going on in tcl. =-)
18:45 cotto I'm up to about 20M of generated PIR for that one expression.
18:46 * chromatic has a theory as to Tcl's slowness.
18:46 * Theory tcls chromatic
18:46 cotto 30M...
18:49 Coke I'm not sure there's much to be done about that, though.
18:50 chromatic One Partcl expression expands to megabytes of PIR?
18:50 Coke if I compile a tcl file to pir, I have to do the initial compilation. say that file includes a 'proc foo {args} { ... }' ; I have to /at runtime/ dispatch that proc to the proc.
18:50 Coke that runtime dispatch means another invocation of the tcl -> pir compiler.
18:51 Coke I had an idea of using a dynamic grammar with PCT, but ISTR pmichaud thought there would be issues with that approach.
18:52 Coke er, "dispatch that proc to the proc" -> "dispatch the invocation of proc to the PIR subroutine that implements [proc]"
18:52 chromatic Pheme does something similar.
18:52 Coke since there's no builtins and the defaults are all overridable...
18:53 chromatic Invocation in Pheme first looks in a dynamic scoped dictionary, and then the global dictionary.
18:53 Coke there ya go.
18:54 chromatic That's... six PIR instructions?
18:54 Coke I have to do it /every time/ I invoke a command.
18:54 chromatic So does Pheme.
18:54 Coke k.
18:55 Coke cotto: note that whenever you invoke tclsh, you're getting 'init.tcl' loaded implicitly. and that snippet did an explicit source of another file.
18:56 cotto I'm just running ../../parrot -t -- tcl.pbc -e "puts [expr 1/3.0]" 2>expr.pir
18:57 cotto 130M, btw.  Is this going to stop anytime soon or should I go take a nap? ;)
18:57 Coke I get 124741 bytes for "puts [expr 1/3.0]"
18:57 cotto done
18:58 cotto so I'm doing it wrong?
18:58 Coke I suspect the -t isn't helping.
18:58 Coke but Iunno.
18:59 chromatic Can you nopaste the code for "puts [expr 1/3.0]"?
18:59 bricas anyone know of a current .deb for parrot? allison's ppa repository is currently out-of-date.
18:59 Coke which code. the generated EVAL_ ?
18:59 chromatic Yes, the 124741 byte version.
19:00 Coke it's in about 50 different chunks. moment.
19:02 nopaste "coke" at 72.228.52.192 pasted "evals in unhelpful order" (3346 lines) at http://nopaste.snit.ch/15421
19:02 NotFound Coke: Did you make different things for integer and decimal numbers in the source?
19:02 Coke NotFound: context?
19:03 chromatic .local pmc colons, split
19:03 chromatic colons = get_root_global ['_tcl'], 'colons'
19:03 chromatic split  = get_root_global ['parrot'; 'PGE'; 'Util'], 'split'
19:03 chromatic .local pmc colons, split
19:03 chromatic colons = get_root_global ['_tcl'], 'colons'
19:03 chromatic split  = get_root_global ['parrot'; 'PGE'; 'Util'], 'split'
19:03 NotFound Coke: replacing 1/3.0 with 1.0/3.0 gives a different result, one more '3'
19:04 Coke NotFound: yes. there's a TclInt pmc and a TclFloat one.
19:04 Coke (and a multi on tclint's divide vtable)
19:05 Coke so that [expr 1/3] generates the right thing.
19:05 chromatic 1/3.0 has to be parsed as a string at runtime?
19:05 Coke chromatic: basically.
19:06 Coke at least, in the worst case.
19:06 lathos This line: my $c = $str.buffer[$index];
19:06 lathos Is causing: too few arguments passed (0) - 1 params expected
19:06 lathos current instr.: 'undef' pc 465 (EVAL_37:159)
19:06 chromatic What's with all the get_root_globals fetches?
19:06 Coke rename expr {}; proc expr {args} {puts $args}; expr 1/3.0
19:07 Coke vs. expr 1/3.0 which could theoretically just "return 0.333333333"
19:07 chromatic Okay.
19:08 particle lathos: what does $str.buffer.PARROT return?
19:08 Coke (fetches) the duplicates are bugs.
19:08 chromatic Do you need to regenerate the PGE parser on every parse invocation?
19:08 lathos Perl6Array
19:09 lathos Odd thing is, the same method works a bunch of times, then suddenly dies.
19:09 particle odd indeed
19:10 particle did you check the generated pir?
19:10 Coke lathos: gc bug!
19:10 lathos Coke: :/
19:10 Coke (or not. but trying with -G on odd failures can be instructive)
19:10 particle put "parrot_trace 1;" before that call (and if it's in a loop, put "parrot_trace 0;" afterward)
19:10 Coke chromatic: I don't think so; I think that regenerating it could let us be more clever, but I don't think I am right now.
19:11 chromatic Rule of thumb: generally anytime anyone says "Hey, that's a GC bug!", what they should have said is "I don't know what's going on."
19:11 chromatic Coke, it's in an EVAL, so it looks like you're regenerating it.
19:11 Coke perhaps I misunderstand what you're saying.
19:11 Coke what's are you seeing in the EVAL?
19:12 lathos That produced *thousands* of lines of output.
19:12 chromatic ####### EVAL_2
19:12 chromatic .namespace ["PGE";"Grammar"]
19:12 * lathos tries the -G thing instead.
19:12 chromatic If that's in an eval file, it's generated while your program runs.
19:12 particle lathos: it's the last line that fails, isn't it?
19:13 Coke chromatic: PGE is generating that.
19:13 lathos 465 get_params PC22 (1), P0          PC22=FixedIntegerArray=PMC(0x29f648) P0=PMCNULL
19:13 chromatic While parsing your program?
19:13 lathos too few arguments passed (0) - 1 params expected
19:13 Coke chromatic: yes.
19:14 chromatic There are four of them; one for each Tcl file loaded?
19:15 lathos It's not a GC bug.
19:15 particle yeah, didn't expect it was.
19:16 Coke lathos: chromatic would say that even if the behavior changes with -G, it's not necessarily a GC bug. I have no idea if the converse is true.
19:16 particle can you nopaste the last 25-50 lines of pir?
19:17 chromatic The last so-called GC bug I identified isn't a GC bug.
19:18 Coke chromatic: I added the caveat here. I will try to just not ever say "GC bug" anymore. =-)
19:18 Coke however, 7 years of habits will die hard. =-)
19:18 Tene_ Hmm.  Maybe I should start adding "This is a GC bug" to every ticket i file.
19:19 Coke chromatic: I only see 3 invocations of PGE;Grammar; it is possible that one == tcl, one == expr, and one == globbing
19:19 lathos Seems to be that I read off the end of an array that was an attribute.
19:20 particle brr
19:22 Zaba joined #parrot
19:26 lathos OK, this is just weird.
19:27 dalek r36037 | rurban++ | trunk:
19:27 dalek : parrot.spec: fixed two issues from previosu change, detected by Gerd Pokorra
19:27 dalek : - no now parrot-doc
19:27 dalek : - $%{version} => %{version}
19:27 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36037
19:28 Coke chromatic: those global fetches might not even be necessary any more. they were at the top level rule, but that rule is apparently invoked multiple times occasionally for a single parrot sub.
19:29 Coke certainly not running code will make us faster.
19:29 chromatic Modestly, yes.
19:29 particle depends on how much code
19:31 ask joined #parrot
19:32 ask_ joined #parrot
19:34 Coke those globals are occasionally used, so just ripping them out isn't an option. I can be more clever about when I include them, however.
19:34 Coke though i suspect it's probably not worth it if we're ever going to switch to PCT.
19:34 Coke (since that'll be a big rewrite of that area of the code.)
19:35 chromatic Could speed up the test suite until then though.
19:37 Coke a bigger win is probably converting to 'box'
19:37 chromatic Probably.
19:37 purl Really? Probably? Are you Certain it's not certain? Are you sure it's unsure? I think you need to look harder.
19:38 Coke I do vaguely wish this worked:
19:38 Coke parrot::PGE::Util::split('foo')
19:39 Coke you know, because writing a compiler is haaaard
19:41 nopaste "coke" at 72.228.52.192 pasted "box" (9 lines) at http://nopaste.snit.ch/15422
19:41 nopaste "coke" at 72.228.52.192 pasted "not" (10 lines) at http://nopaste.snit.ch/15423
19:41 Coke using box drops that from ~1.4s to ~0.9s
19:47 dalek r36038 | julianalbo++ | trunk/examples/pir:
19:47 dalek : [pirric] fix and simplify the comparaison operators
19:47 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36038
19:50 * Coke times one of the spec tests with less assign.
19:56 Coke 1m52s to 1m50s. could be noise.
19:56 Coke (60+50)/(60+52)
19:56 purl 0.982142857142857
19:56 tomyan left #parrot
19:58 rob joined #parrot
20:09 david_ joined #parrot
20:10 david_ make does not seem to compile on icc 11
20:10 dmajnem2_ for some reason, my LD_LIBRARY_PATH does not seem to be affecting the parrot build system
20:11 mberends joined #parrot
20:11 Coke where is the failure occuring? (shouldn't LD_LIBRARY_PATH only matter for a built parrot you're trying to run?)
20:12 dmajnem2_ Coke: it cannot find libimf when it is testing the compiler
20:14 Coke Configure.pl at one point ignored the settings you passed in when probing for such things. You can turn on verbose information for that probe to see what it's doing now.
20:15 particle how do i put a parrot string in the value of a #define?
20:15 Coke perl Configure.pl --verbose-step=auto::gcc, e.g.
20:16 dmajnem2_ Coke: ah, thanks
20:16 Coke particle: parrot strings have to be generated at runtime, don't they?
20:16 NotFound particle: other than with magic?
20:16 Coke you could define it as a function that returned a parrot string.
20:17 Coke s/function/invocation/
20:17 particle #define PARROT_STRING_INF_POSITIVE    const_string(interp, PARROT_CSTRING_INF_POSITIVE)
20:17 particle isn't working
20:17 Coke is the extra define actually helpful there?
20:18 particle it leads to less typing later on
20:18 Coke how isn't it working?
20:18 particle printf("[[[%Ss]]]\n", PARROT_STRING_INF_POSITIVE);
20:18 particle printf(">>>%s<<<\n", PARROT_CSTRING_INF_POSITIVE);
20:18 particle [[[>>>Inf<<<
20:19 Coke printf takes parrot strings?
20:19 particle ah, perhaps i need Parrot_printf there
20:19 NotFound printf takes anything, but the result might not be the expected ;)
20:21 dmajnem2_ Coke: I manually modified the /etc/ld.so.conf file on my system. However, I think the parrot build system should have listened to LD_LIBRARY_PATH...
20:21 dmajnem2_ Is it possible that it does not listen at all to env variables? Because I do not think it listens to CC either
20:22 jan joined #parrot
20:23 NotFound dmajnem2_: LD_LIBRARY_PATH is used by the dynamc linker of the system, not by parrot
20:26 mberends joined #parrot
20:31 Coke but it is possible that we are blocking env vars from propagating to child processes.
20:35 NotFound Coke: I doubt that, giving that I have had several problems with the value of LANG interfering in the output expected by several tools.
20:36 Tene joined #parrot
20:36 tewk joined #parrot
20:37 NotFound Please remember to always set LANG to C when calling a program to parse his output ;)
20:37 NotFound The world will be a much better place.
20:41 Zaba joined #parrot
20:42 dmajnem2_ NotFound: if that is the case, then the configure system never uses CC at all instead of clobering it or something else.
20:43 NotFound dmajnem2_: use the Configure.pl options to set compiler, linker and flags.
20:45 Coke arguably Configure.pl should prefer env{CC}, but it probably doesn't atm.
20:47 NotFound Looks like not.
20:47 Coke chromatic: moved the global vars around a bit so they should only be pulled up when needed. (when they are needed, I make no effort to avoid using them more than once, but this is still an improvement.)
20:53 nopaste "coke" at 72.228.52.192 pasted "updated generated PIR" (2854 lines) at http://nopaste.snit.ch/15424
20:56 NotFound Looks like the value for 'cc' is taken from the perl used to run configure
20:57 dmajnem2_ IIRC, the README claims that it supports an env variable
20:58 Coke ack -i env README :: nothing
20:59 NotFound dmajnem2_: I don't see that
21:01 dmajnem2_ huh, I can't find it either, I guess I was mistaken. Sorry about that.
21:04 NotFound I don't see the usefulness of looking at the compiler used to build perl, we aren't going to link with perl libraries.
21:06 particle that will eventually be replaced, when parrot can detect everything it needs on its own
21:07 NotFound particle: maybe the universe collapse before that X-)
21:09 particle ok, $N0 = 'NaN' ; say $N0 # says: NaN
21:10 particle now, to get printf working... then commit!
21:10 NotFound Nantastic!
21:10 lathos Urgh.
21:11 particle actually, it says the platform-dependent value of NaN, which is why i need to get printf working...
21:13 Coke NotFound: I can't see anyone getting to it before 1.0
21:13 dalek r36039 | simon++ | branches/strings/pseudocode (3 files):
21:13 dalek : Implement char-wise equality testing, and rework the way native encoding iterates over stuff.
21:13 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36039
21:17 cjfields joined #parrot
21:17 cjfields nopaste?
21:17 purl nopaste is 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)
21:17 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/
21:20 * Coke tries to think of a way to get a less annoying list.
21:20 Coke (of nopaste)
21:20 mberends joined #parrot
21:20 NotFound paste?
21:20 purl paste is (see: nopaste) or like glue but a little safer to sniff. or http://nopaste.snit.ch:8001/ or http://scsys.co.uk:8001/ anywhere shadowpaste is or mmm, sticky paste or You there! Eating the paste. or <see> 2 girls, 1 paste
21:20 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/
21:20 nopaste "cjfields" at 128.174.127.121 pasted "pct crashes during make on Mac OS X" (39 lines) at http://nopaste.snit.ch/15425
21:21 cjfields pct is crashing on me : (
21:21 cjfields specifically, src/io/api.c:205: failed assertion 'pmc'
21:22 cjfields (and I agree the nopaste noise is annoying)
21:23 chromatic Hm, is it trying to flush a PMC that doesn't exist yet?
21:24 cjfields Dunno.  Anyone else seeing this?
21:25 Coke cjfields: I am not seeing that on osx/86
21:26 Coke ... why are you using gmake?
21:26 Coke are you not using apple's build tools?
21:26 Coke (vendor supplied gcc, make, etc.)
21:26 cjfields I'm using make, sorry
21:26 rg maybe because configure is telling us to?
21:26 rg You can now use `gmake' to build your Parrot.
21:27 cjfields exactly
21:27 dmajnem2_ hrm, where is Dl_info defined? I cannot seem to find it.
21:27 cjfields but the problem pops up either way
21:27 dmajnem2_ I only see it being used in exceptions.c
21:27 chromatic DL_info's part of the GNU backtrace library.
21:27 chromatic I think it's part of GCC.
21:28 Coke cjfields: I'm not seeing that. are you passing any options to Configure when running it?
21:28 cjfields No
21:28 Coke what version of osx and gcc?
21:28 cjfields I'll nopaste my configure output
21:28 Coke danke.
21:30 nopaste Someone at 128.174.127.121 pasted "output for 'perl Configure.pl'" (85 lines) at http://nopaste.snit.ch/15426
21:30 cjfields D'oh, that's me (forgot the nick)
21:33 cjfields osx = 10.5.6, gcc = 'gcc version 4.0.1 (Apple Inc. build 5465)'
21:33 Coke what does "gcc --version" give you?
21:33 Coke danke.
21:33 rdice joined #parrot
21:33 Coke (10.5.6) I'm only on 10.4.11, myself.
21:34 cjfields That may be the difference.  I've run into other issues w/ Leopard.
21:34 cjfields (and 10.6 is around the corner)
21:35 Coke leopard?
21:35 purl i heard leopard was a panther or not Panther or OS X 10.5 or at http://www.apple.com/macosx/leopard/
21:36 Coke purl++
21:36 cjfields This did work until recently (post 0.9 release).
21:37 Coke your best bet is probably an svn bisect, then.
21:38 Coke http://search.cpan.org/~infinoid/
21:40 cjfields okay, will check that out and report back on the revision causing the problem.  thanks!
21:40 Coke ayup. sorry I couldn't be of more help
21:41 cjfields s'okay
21:41 cjfields been busy lately working on perl5, just getting back up w/ parrot/Rakudo
21:43 dmajnem2_ what is the best way to set PARROT_HAS_BACKTRACE to false?
21:45 Coke Configure --ccflags=-DPARROT_HAS_BACKTRACE=0  # a guess
21:51 NotFound Bad idea. The usages check for definedness, not for true
21:52 Coke is there an opposite to -D ?
21:52 lathos -U
21:55 NotFound dmajnem2_: What is the problem?
21:55 purl well, the problem is likely to be in the pipes that feed the sink, so they run horizontally below the floor, I need to drain them below that
21:57 Coke purl, no, the problem is <reply>
21:57 purl okay, Coke.
22:01 dmajnem2_ NotFound: I wanted to see how the parrot source will react to compiling with icc's -ansi flag
22:01 dmajnem2_ I believe that extra dl* stuff is glibc specific so it freaks out.
22:02 NotFound dmajnem2_: try with -DBACKTRACE_VERBOSE
22:06 NotFound BTW that function uses mem_sys_free when free must be used.
22:14 dmajnem2_ NotFound: that lets me get past that one error and right into another
22:14 NotFound dmajnem2_: yes, I'm trying it and gives some ugliness
22:18 dmajnem2_ how 64 bit safe is parrot?
22:18 iblechbot joined #parrot
22:19 dmajnem2_ I tried the jit last night and it exploded on me pretty bad
22:19 dmajnem2_ also, -m=32 does not really work on my 64 bit machine
22:19 particle x64 jit is not fully supported
22:19 NotFound ... to say the least X-)
22:19 particle s/supported/implemented/
22:20 dmajnem2_ ah, ok. is there any way I can help whomever is working on it?
22:21 particle sure,  help yourself. you're the only one working on it :)
22:21 dmajnem2_ I have never written a JIT before so I am pretty sure I should not start with the one in Parrot, but I would be more than willing to help test it.
22:21 dmajnem2_ ah, I see
22:21 particle svn log will show you the folks who have committed to those files
22:39 dmajnem2_ when I use --ccflags on configure, it replaces the default ccflags. Is there any way to just append to the ccflags that are set by default?
22:53 NotFound dmajnem2_: I'm working on a fix for the Dl_Info thing
22:56 dmajnem2_ NotFound: neat
23:27 dalek r36040 | julianalbo++ | trunk (3 files):
23:27 dalek : check Dl_info availability
23:27 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36040
23:37 NotFound dmajnem2_: can you check if that solves your problem?
23:43 dmajnem2_ NotFound: at first glance, it does not
23:45 dmajnem2_ NotFound: it does not, but this could be due to how I use ccflags.
23:45 dmajnem2_ Let me try something else.
23:46 NotFound dmajnem2_: the fix is not for the ccflags issue, is just for the Dl_info
23:49 dmajnem2_ NotFound: seems to work with ansi
23:49 NotFound Good
23:58 dalek r36041 | julianalbo++ | trunk/src:
23:58 dalek : fix some problems in Parrot_print_backtrace
23:58 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=36041

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

Parrot | source cross referenced