Camelia, the Perl 6 bug

IRC log for #parrot, 2009-05-13

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:06 ilia joined #parrot
00:10 ilia joined #parrot
00:12 bacek_ joined #parrot
00:31 dalek parrot: r38730 | whiteknight++ | trunk/src (5 files):
00:31 dalek parrot: [docs] comment functions in a few files in src/*
00:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38730/
00:33 allison joined #parrot
00:38 Topic for #parrotis now Parrot 1.1.0 Released | http://parrot.org/ | 322 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets
00:47 gaurav left #parrot
00:48 dalek parrot: r38731 | whiteknight++ | trunk/src (2 files):
00:48 dalek parrot: [docs] add lots more function-level documentation for places in src/* that needed it
00:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38731/
00:58 dalek parrot: r38732 | whiteknight++ | trunk/src/io (4 files):
00:58 dalek parrot: [docs] add some function-level documentation for functions in src/io/* that needed it
00:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38732/
01:02 ilia joined #parrot
01:04 dalek parrot: r38733 | whiteknight++ | trunk/src/io/api.c:
01:04 dalek parrot: [io] small doc fixup. There is no 'src/io/common.c' file, it should be 'src/io/core.c' instead (I think)
01:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38733/
01:26 Whiteknight hmm...the IO system is a lot less complete then I thought it was
01:26 Whiteknight it doesn't look to me like it really uses layers at all
01:28 eternaleye joined #parrot
01:46 Ademan joined #parrot
01:54 tetragon joined #parrot
02:01 Theory joined #parrot
02:04 eternaleye joined #parrot
02:12 Andy joined #parrot
02:42 janus joined #parrot
02:45 szabgab joined #parrot
03:00 zostay joined #parrot
03:20 donaldh joined #parrot
03:31 dalek parrot: r38734 | petdance++ | trunk/src/dynpmc/pair.pmc:
03:31 dalek parrot: removed unused variable
03:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38734/
03:32 particle joined #parrot
03:41 dalek parrot: r38735 | petdance++ | trunk (2 files):
03:41 dalek parrot: Shimmed an unused interpreter
03:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38735/
04:02 nopaste "Util" at 68.191.99.24 pasted "pbc_to_exe patch for pmichaud, now supports all platforms." (264 lines) at http://nopaste.snit.ch/16532
04:02 cotto util++
04:03 cotto That's a lot longer than the old one.
04:04 dalek parrot: r38736 | petdance++ | trunk/include/parrot/exceptions.h:
04:04 dalek parrot: disappear the assertions if we run under splint
04:04 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38736/
04:04 Util It has to have a second code path for Win32. All one big string that can be directly used, vs a table of 16KB strings that must be copied to a block before use.
04:06 cotto It'll be very nice to have a more reasonable build time for rakudo.
04:11 Util While working on the patch, I had some trouble with the `make` dependencies not always rebuilding what I needed. In case anyone needs it, here is what I do on Rakudo (already built with --gen-parrot), after applying the patch :
04:11 Util cd parrot; rm pbc_to_exe{,.o,.c,.pbc}; make; cd ..; rm perl6{,.o,.c}; make
04:13 Util msg jonathan Could you try http://nopaste.snit.ch/16532 on your Win32 box with MS compiler? TIA
04:13 purl Message for jonathan stored.
04:14 cotto I've just been building against an installed parrot.
04:15 Util cotto: does pbc_to_exe get installed also, when parrot installs itself?
04:15 tetragon joined #parrot
04:16 cotto it does with install-dev
04:16 cotto I'd have to check for install
04:18 Util Be advised that pbc_to_exe runs itself *on* itself, so you may have to make install-dev again after patching.
04:20 cotto It worked (Hardy i386).  That's a massive improvement.
04:21 Util cotto: thanks for the quick testing!
04:22 cotto np.  That step of the build process had been bugging me for a while.  I'm glad to see it fixed.
04:30 dalek parrot: r38737 | petdance++ | trunk/include/parrot/exceptions.h:
04:30 dalek parrot: eliminate errors for dupe macros
04:30 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38737/
04:49 dalek parrot: r38738 | petdance++ | trunk/src/packfile.c:
04:49 dalek parrot: return NULL not 0 for pointers. Cast ->wordsize to int for %d
04:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38738/
05:20 eternaleye joined #parrot
05:21 Debolaz joined #parrot
05:42 dalek parrot: r38739 | cotto++ | branches/pmc_pct/compilers/pmcc (7 files):
05:42 dalek parrot: [pmcc] move ATTR serialization out of actions.pm
05:42 dalek parrot: make pmcc aware of the name of the file it's compiling
05:42 dalek parrot: add a cli option to specify the search path for .dump files
05:42 dalek parrot: add stub stage to generate output files
05:42 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38739/
05:46 bacek_ cotto++ # Yeah!
05:58 cotto HLLCompiler is kinda nice once you understand it
05:59 cxreg I bisected that /m bug using git.  git++
06:00 cotto cxreg++
06:01 cxreg http://rt.perl.org/rt3/Publ​ic/Bug/Display.html?id=3038
06:01 chromatic joined #parrot
06:01 cotto That's a small number.
06:02 cxreg no kidding
06:03 uniejo joined #parrot
06:31 Tene jonathan: ping
06:52 iblechbot joined #parrot
07:20 donaldh joined #parrot
07:47 cotto pmichaud, ping
07:56 dalek parrot: r38740 | cotto++ | branches/pmc_pct/compilers/pmcc (4 files):
07:56 dalek parrot: [pmcc] use PMC::Emitter::$?filename to store the name of the file being compiled
07:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38740/
08:00 dalek parrot: r38741 | cotto++ | branches/pmc_pct/compilers/pmcc/pmcc.pir:
08:00 dalek parrot: [pmcc] revert accidental commit
08:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38741/
08:02 cotto msg pmichaud Could you look at http://nopaste.snit.ch/16534 and tell what to do to make the evalfiles override work correctly?  The nopaste is the same code in the pmc_pct branch.
08:02 purl Message for pmichaud stored.
08:10 Tene purl: msg pmichaud I'm running spectest_regression right now on a patch to make everything actually compile under a different .HLL.  I'll commit if it passes, but I suspect you'll want to change some things, so please review my commit thoroughly...
08:10 purl Message for pmichaud stored.
08:11 Tene purl: msg pmichaud I'm a little concerned about how rakudo is modifying core parrot classes...
08:11 purl Message for pmichaud stored.
08:22 cotto msg purl hi
08:22 purl Message for purl stored.
08:23 dalek parrot: r38742 | fperrad++ | trunk/src/io/unix.c:
08:23 dalek parrot: [codingstd] Correctly indented preprocessor directives
08:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38742/
08:32 dalek rakudo: 1064529 | tene++ |  (4 files):
08:32 dalek rakudo: Make everything actually compile under a different HLL.
08:32 dalek rakudo: Not completely right, but nothing too wrong either.
08:32 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​06452996dfcd185c24550bc3fb4a7b44a54de8f
08:46 masak joined #parrot
09:09 jq joined #parrot
09:10 nopaste "tene" at 98.232.146.13 pasted "spectest fails in .HLL 'perl6' in rakudo" (71 lines) at http://nopaste.snit.ch/16535
09:11 Tene purl: msg pmichaud look at http://nopaste.snit.ch/16535
09:11 purl Message for pmichaud stored.
09:15 cognominal joined #parrot
10:01 dalek parrot: r38743 | fperrad++ | trunk/t/codingstd/c_function_docs.t:
10:01 dalek parrot: [codingstd] unTODO some files
10:01 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38743/
10:02 donaldh joined #parrot
11:20 donaldh joined #parrot
12:03 burmas joined #parrot
12:12 dalek parrot: r38744 | bacek++ | branches/pmc_pct/compilers/pmcc/src/builtins.pir:
12:12 dalek parrot: Add sub defined into util
12:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38744/
12:12 dalek parrot: r38745 | bacek++ | branches/pmc_pct/compilers​/pmcc/src/emitter/pmc.pm:
12:12 dalek parrot: Add pre_method_gen to Emitter::PMC
12:12 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38745/
12:19 bkuhn joined #parrot
12:20 register joined #parrot
12:24 register twek are you online?
12:24 register I am not a bot I just with to have a small chat with U
12:24 register wisg
12:24 register wish
12:32 dalek parrot: r38746 | bacek++ | branches/pmc_pct/compilers/pmc​c/src/emitter/pmc/default.pm:
12:32 dalek parrot: Add pre_method_gen and stub for get_vtable_func into Emitter::PMC::default
12:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38746/
12:32 dalek parrot: r38747 | bacek++ | branches/pmc_pct/compilers/pmcc/src/builtins.pir:
12:32 dalek parrot: Add couple of useful methods into builtins
12:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38747/
12:32 dalek parrot: r38748 | coke++ | trunk/DEPRECATED.pod:
12:32 dalek parrot: We can't remove something -in- the 1.4 release, but immediately after it.
12:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38748/
12:32 dalek parrot: r38749 | bacek++ | branches/pmc_pct/compilers​/pmcc/tools/vtable_pm.pl:
12:32 dalek parrot: pmc was renamed to pmcc
12:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38749/
12:36 HG` joined #parrot
12:39 Infinoid good morning
12:40 rg1 joined #parrot
12:42 ruoso joined #parrot
12:45 cognominal joined #parrot
13:05 Coke (pbc_to_exe changing to Perl) - I'd avoid that, because then our installed code requires Perl5.
13:08 Coke ... caught up, see that's covered, nevermind.
13:09 gryphon joined #parrot
13:21 Util For the record, pbc_to_exe changing to Perl is off the table (and was only ever suggested as a sub-week measure). The new patch (http://nopaste.snit.ch/16532) is still in PIR.
13:47 Coke Util++
13:49 moritz Util: I know nothing nearly about the compilers and the OSses, but wouldn't a distinction between compilers make more sense than a distinction between OSses?
13:49 moritz (I also don't know if the compiler information is easily accessible)
13:55 moritz Util: anyway, your patch works fine for me (linux amd64 with gcc-4.1)
13:55 davidfetter joined #parrot
13:55 moritz will test with gcc-4.3 and --optimize next
13:57 Andy joined #parrot
14:37 davidfetter joined #parrot
14:40 particle- msg whiteknight please remember that *all* api changes require deprecation.  even if they're most likely unused, not well documented, or don't do the right thing.  if it is a public interface, whether by spec or de facto, it must be properly deprecated in the post 1.0 world.
14:40 purl Message for whiteknight stored.
14:41 Coke msg whiteknight also, the notice can go in now, but the change cannot occur until AFTER the next big release, not IN the next big release.
14:41 purl Message for whiteknight stored.
14:41 particle- perhaps a wider audience needs this message.
14:42 moritz Util: your patch also works here with gcc-4.3 and --optimize
14:42 jonathan Also don't forget the catch-all get-out-of-jail-free card on that stuff that was in 1.0.
14:43 jonathan Util: Will try your patch on Win32/MSVC++ later today.
14:43 jonathan (I refer to:
14:43 jonathan All C API functions that aren't currently named according to the
14:43 jonathan 'Parrot_<system>_*' scheme will be renamed. If you depend on these
14:43 jonathan functions in an extending/embedding interface or C-level custom PMCs,
14:43 jonathan check in 1.4 or 2.0 for the new names.
14:43 jonathan )
14:44 particle- maturing as a software development organization is not easy.
14:45 jonathan Not sure I get your point.
14:45 Coke jonathan: yay, I wasn't particularly happy with that entry as it basically sets aside the deprecation policy for 2 releases. :|
14:46 Coke s/yay/yah/
14:46 dalek parrot: r38750 | whiteknight++ | trunk (2 files):
14:46 dalek parrot: temporary fix and deprecation node for TT #664
14:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38750/
14:46 Coke I think having a process is nice and all, but having working code would be better.
14:47 jonathan pobject_lives for example was one thing that this deprecation policy explicitly says we don't have to worry about renaming.
14:47 Coke (which is a non-sequitor to the GOOJF entry)
14:47 jonathan (I agree in the long run something like this shouldn't be there. But I think it was the pragmatic decison for 1.0.)
14:48 Coke I tend to think it means that we shouldn't have called it 1.0. =-)
14:52 Theory joined #parrot
14:52 mikehh joined #parrot
14:55 Tene purl: msg pmichaud Many of those failures come from Actions.pm trying to call things that are now in the perl6 namespace... I'm thinking maybe we need to export them.
14:55 purl Message for pmichaud stored.
14:56 Tene purl: msg pmichaud I'll be working on this during spare time during class today... I'll have more to say after 4:00 PST
14:56 purl Message for pmichaud stored.
14:57 Util moritz: (compiler vs OS) Yes, exactly so. The "XXX" comment in the patch is about that issue. I could not find a good way to identify the compiler, and was favoring a completed patch over that edge case.
14:57 Util If the current patch tests well enough for me to commit (hopefully in the next few hours), I will then try something like `$P0['cc'] == 'cl'` as a refinement.
14:57 iblechbot joined #parrot
15:03 dalek parrot: r38751 | petdance++ | trunk/include/parrot/exceptions.h:
15:03 dalek parrot: my splint versions of the assertions don't actually work. :-(
15:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38751/
15:10 Andy is src/exec_save.c anything getting used?
15:13 Coke if it was in there before 1.0, theoretically, yes.
15:14 Andy it doesn't get built
15:15 particle- is the exec core around still?
15:15 Andy I don't know.
15:15 Andy I'm just lookin' at parts.
15:20 donaldh joined #parrot
15:21 Andy sure looks to me like it's unused.  removing src/exec_save.* has no effect on a build
15:22 particle- to 'make fulltest'
15:22 particle- *do
15:23 Andy ok, but it doesn't cause any problems with a regular make
15:23 Coke note that even fulltest doesn't necessarily mean it's not used on some platform
15:23 Coke (since core availability varies by platform)
15:23 particle- it may be unused, but we don't have sufficient proof yet
15:24 particle- you're on the right track, though, andy
15:24 Andy prob'ly ditto exec_start.c
15:26 register joined #parrot
15:31 pmichaud cotto: ping
15:33 pmichaud message Tene (re: actions.pm calling things in perl6 namespace)   actions.pm should be running from the perl6 namespace, so it shouldn't be an issue.  Either that or I'm not understanding the problem.
15:33 purl Message for tene stored.
15:34 jan joined #parrot
15:39 rdice joined #parrot
15:40 darbelo joined #parrot
16:10 register left #parrot
16:18 whoppix joined #parrot
16:21 rdice joined #parrot
16:26 cotto pmichaud, pong
16:33 Tene pmichaud: the problem was that I was still waking up and telling you my "solution" generated in my dream. :)
16:40 cghene joined #parrot
16:44 pmichaud cotto:  you need to add :flat and :flat :named to your call to the superclass method
16:50 cotto pmichaud, I still get the same result after adding those:
16:50 nopaste "cotto" at 96.26.202.243 pasted "after adding :flat and :flat :named" (19 lines) at http://nopaste.snit.ch/16537
16:56 pmichaud cotto: it's trying to execute whatever is coming back from your compiler (which isn't executable)
16:56 pmichaud if you're just returning a parse tree, then you probably want to be doing --target=parse
16:58 cotto Thanks!  That makes it much clearer what's happening.
17:00 cotto How could I prevent the compiler from trying to execute anything, since pmcc doesn't really care about that right now?
17:00 riffraff joined #parrot
17:00 particle- cotto: you just want things parsed?
17:01 pmichaud Yes, I was just thinking that perhaps HLLCompiler should be smart enough to know that if it gets a parse/PAST/POST tree back it should produce a warning and exit, instead of the cryptic invoke message.
17:01 particle- there's a trick with pasm, just issuen 'end' statement first
17:01 cotto I have a separate stage to generate some output file, but I don't care about anything after that.
17:01 pmichaud cotto: oh, then you ought to be customizing the stages.
17:01 particle- cotto: add target='separate-stage-name'
17:02 pmichaud see the 'stages' method on HLLCompiler
17:02 cotto pmichaud, I'm deleting the post, pir and evalpmc stages, and adding a custom gen_files.
17:02 pmichaud you can set the compiler to go through whatever sequence of stages you want.
17:02 particle- i wrote a blog post about customizing hllcompiler stages last year
17:02 cotto yup.  nice feature that
17:03 pmichaud (the api for doing that will be changing shortly, but it'll work for now)
17:03 cotto So for now the best solution is to pass --target=last_stage?
17:04 pmichaud no, customizing the stages is okay.
17:04 pmichaud There's a 50/50 chance I'll continue to support the 'stages' attribute.  And if it isn't supported, it'll be easy to switch to whatever the new API is.
17:04 cotto ok, but it's still trying to execute what the last stage returns.  I don't want that.
17:05 pmichaud if it's still trying to execute, then your stages aren't being set properly.
17:05 pmichaud The error message is coming from evalpmc, so it's still getting there somehow.
17:05 cognominal joined #parrot
17:07 nopaste "cotto" at 96.26.202.243 pasted "error coming from 'eval'" (5 lines) at http://nopaste.snit.ch/16538
17:07 cotto should I override 'eval', which is where the error is coming from?
17:07 pmichaud oh, wait, you're right.
17:08 pmichaud From your main routine (the one that calls 'command_line'), just pass a target parameter there.
17:08 pmichaud It'll be used as the default.
17:08 cotto ok
17:08 pmichaud so you can have    ...'command_line'(args, 'target'=>'gen_files')
17:08 cotto yup
17:09 cotto Thanks for helping me figure that out.
17:09 cotto pmichaud++
17:12 NotFound joined #parrot
17:15 dalek rakudo: cf98479 | pmichaud++ | docs/spectest-progress.csv:
17:15 dalek rakudo: spectest-progress.csv update: 388 files, 11257 passing, 0 failing
17:15 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​f98479eeebb2176267698eb1589e511abcc92e0
17:21 whoppix joined #parrot
17:32 jan joined #parrot
18:14 cotto bacek, you're going to like this
18:15 cotto time?
18:15 purl time is 18:12:06 2009 and (did you mean "clock"?) or flowing like a river
18:15 cotto clock
18:15 cotto clock?
18:15 purl cotto: LAX: Wed 11:15am PDT / CHI: Wed 1:15pm CDT / NYC: Wed 2:15pm EDT / LON: Wed 7:15pm BST / BER: Wed 8:15pm CEST / IND: Wed 11:45pm IST / TOK: Thu 3:15am JST / SYD: Thu 4:15am EST /
18:15 cotto or at least you will when you wake up
18:19 dalek parrot: r38752 | cotto++ | branches/pmc_pct/compilers/pmcc (6 files):
18:19 dalek parrot: [pmcc] make pmcc emit files when involed from the command line, give some functions more accurate names
18:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38752/
18:19 dalek parrot: r38753 | cotto++ | branches/pmc_pct/compilers/pmcc/pmcc.pir:
18:19 dalek parrot: [pmcc] remove an accidentally committed say
18:19 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38753/
18:22 rdice joined #parrot
18:24 NotFound Some idea for a pipe write test that does not need temporary files?
18:26 cotto What's wrong with temporary files?
18:27 NotFound That's for bonus points ;)
18:28 NotFound Some idea for a pipe write test? Bonus points for avoiding temporary files?
18:29 cotto You could write up a tiny pir program that stores stdin to a temp file and pipe to that.
18:29 cotto no bonus points, though
18:30 NotFound Negative point for using two temporaries ;)
18:31 rg1 you need to fork if you want to avoid temporary files
18:31 moritz why two temporaries?
18:31 NotFound Hey, if it were easy I didn't ask ;)
18:31 moritz rg: there's no fork on windows (afaik)
18:31 NotFound The generated pir program and the result.
18:32 moritz it doesn't have to be generated
18:32 moritz it can simply live in the svn repo
18:32 moritz (to avoid race conditions)
18:32 rg moritz: there must be something, but yes, i figured there would be the problem
18:32 NotFound There is some other test that aleady does that?
18:52 particle- doesn't parrot have file/temp.pir?
18:52 particle- or equiv?
18:52 purl i guess equiv is getting the whole has_many
18:52 NotFound examples/pasm/cat.pasm looks like a good candidate
18:59 Tene pmichaud: what do you want me to do with things in parrot namespace that call perl6 functions?
18:59 Tene pmichaud: like Role or Class
18:59 Tene pmichaud: I'm doing get-root-global (rakudo-hll, ...) then invoking it that way
19:00 pmichaud Tene: depends on the function.  If they're static, then we should be using .const 'Sub'
19:00 pmichaud do you have an example handy?
19:01 dalek rakudo: 3f8ff62 | pmichaud++ | src/builtins/io.pir:
19:01 dalek rakudo: Default file I/O to utf8 encoding.
19:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​f8ff6258e1e6a9a8d3b6c66a7a4d667c85e6bea
19:01 dalek rakudo: 7b56f00 | pmichaud++ | :
19:01 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
19:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​b56f00fbbd3ac7cab98c20429051e7cfd2785ca
19:02 Tene pmichaud: src/parrot/classhow.pir
19:02 Tene 'prefix:?'(...)
19:03 pmichaud I'd use the const Sub approach.
19:04 Tene can you show me an example here?
19:04 pmichaud checking.
19:04 purl i think checking is just different
19:04 pmichaud You might be able to do simply:
19:05 pmichaud .const 'Sub' $P0 = 'prefix:?'
19:05 pmichaud .tailcall $P0($I0)
19:05 pmichaud but there might be compliciations since 'prefix:?' is a :multi
19:05 Tene um... how do you look up by hll namespace with that?
19:05 pmichaud if that's the case, then simply
19:05 pmichaud you don't have to look up by hll namespace
19:05 pmichaud it's looking up by :subid
19:06 Tene oh
19:06 Tene some don't have subid
19:06 pmichaud since 'prefix:?' will be part of the same compliation unit as ClassHOW.pir (as well as the rest of the perl6 stuff), it's a local lookup.
19:06 Tene !dispatch-method
19:06 pmichaud Any sub w/o an explicit :subid uses its name as its subid.
19:06 Tene ah
19:06 Tene thanks
19:07 Tene :)
19:07 pmichaud If for some reason that doesn't work (e.g., because something is a multi and it's getting in the way), then feel free to give subs an explicit unique subid.
19:10 Tene making progress. :)
19:20 donaldh joined #parrot
19:21 dalek parrot: r38754 | NotFound++ | trunk (3 files):
19:21 dalek parrot: [core] fix open pipe for write on linux, add a test for it
19:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38754/
19:29 jonathan Tene: I'd pondered subclassing Parrot's Role at some point in the future rather than adding bits to it.
19:29 jonathan Tene: But it's a drop in the bucket when considered agaisnt all the other stuff we add to Parrot classes, so it's never really been high priority for me.
19:29 NotFound Urgh. Test pass in my laptop but fails in my desktop :/
19:30 jonathan Tene: Feel free to do a short-term-ish fix on ClassHOW.pir too - I expect Perl 6 will have it's own subclass of P6metaclass at some point also.
19:31 pmichaud I'm not worried about the places we muck around in parrot's classes/roles (yet)
19:31 Andy joined #parrot
19:32 jonathan Tene: I fixed something a copule of days ago that I think will also fix http://gist.github.com/109986 btw
19:33 jonathan erm, maybe even yesterday :)
19:42 moritz bug admins, please delete RT #65614 (spam)
19:44 cotto moritz, I don't see any spam. ;)
19:45 moritz cotto: that's good ;-)
19:45 NotFound Can someone try prove -v t/op/io.t with r38754 on linux?
19:46 moritz NotFound: sure, give me a second...
19:46 cotto NotFound, test 4 fails
19:46 nopaste "cotto" at 96.26.202.243 pasted "io test failure" (22 lines) at http://nopaste.snit.ch/16540
19:47 NotFound Is working in one of my systems and failing on the other. Don't know why, the pipe is working.
19:48 moritz same error here
19:49 PacoLinux same here
19:49 particle- moritz: you can move it to the spam queue
19:50 particle- that's how you deal with rt spam
19:50 nopaste "NotFound" at 213.96.228.50 pasted "pipe write example" (6 lines) at http://nopaste.snit.ch/16541
19:50 moritz particle-: thanks
19:50 NotFound Can you try that to verify that the pipe is really working?
19:50 moritz NotFound: works here
19:51 NotFound Strange...
19:51 purl strange is but true
19:52 nopaste "darbelo" at 200.49.154.172 pasted "Results of prove -v t/op/io.t for OpenBSD -current, In case someone cares." (24 lines) at http://nopaste.snit.ch/16542
19:53 Coke anyone know who runs use.perl?
19:53 Coke use.perl?
19:53 purl i think use.perl is use.perl.org, Pudge's slashcode test case or (see use perl) or http://www.faisal.com/images/weblog-lc.gif or (: use.perl journal rss) or slow or broken (pick one) or *horrible* from a mobile phone
19:53 Coke seen pudge?
19:53 purl pudge was last seen on #perl 19 days, 1 hours, 30 minutes and 4 seconds ago, saying: not as funny as your initial stupidity, of course.  [Apr 24 18:20:25 2009]
19:53 Coke pudge?
19:53 purl it has been said that pudge is using what ARE the common meanings
19:53 NotFound darbelo: thanks
19:53 moritz NotFound: is the one machine wheere it passes the one where you wrote it?
19:54 NotFound moritz: yes
19:54 Tene jonathan: still looks broken to me...
19:54 moritz NotFound: maybe forgot to add a file?
19:54 moritz NotFound: (I haven't looked at the test, ,so I don't know if that makes sense...)
19:54 jonathan Tene: OK, it must be something else then.
19:54 NotFound moritz: no, the file cat.pasm was already in the repo
19:55 jonathan Tene: It's ticketed so I'll get to it.
20:00 TimToady phone
20:00 Coke be there in 2m
20:03 Tene we still have a parrot issue with HLL and loadlib
20:03 Tene if you load-bytecode something that uses loadlib, you get fails
20:03 Tene depending on HLL
20:03 Tene frex, --target pir with hll'd rakudo
20:04 NotFound What gcc version are tou using? Mine that pass is 4.3.3, fails in 4.2.4
20:04 Tene fails without .loadlib perl6-group and ops
20:04 moritz 4.3.2 (fail)
20:07 NotFound I'll try with a fresh checkout on the passing machine
20:13 NotFound Pass
20:14 NotFound I run out of ideas
20:14 jhorwitz joined #parrot
20:19 NotFound perl versions are: 5.10.0 pass, 5.8.8 fails
20:26 PacoLinux joined #parrot
20:30 moritz 5.10.0 fails (here)
20:31 darbelo 5.10.0 fails on OpenBSD too.
20:33 wilig joined #parrot
20:34 dduncan joined #parrot
20:44 Coke what's failing?
20:44 purl failing is good!
20:45 rg no, purl, failing is bad!
20:45 purl okay, rg.
20:45 darbelo rg: You're no fun ;)
20:47 dduncan left #parrot
20:51 moritz purl?
20:51 purl moritz?
20:51 moritz purl: you should answer with "purl is failing bad" or so ;-)
20:51 purl OK, moritz.
20:57 Infinoid Bilbo Baggins, huh
20:57 Infinoid is this pre-evil-ring Bilbo or post-evil-ring Bilbo?
20:59 cotto also, who's supposed to be able to vote?  I can change the options, but I don't see anything about voting.
20:59 Coke I presume it's a test for vote needed at the annual meeting.
20:59 Coke did you login ?
21:00 cotto It'd be odd if I could edit without logging in.
21:01 Coke if I cancel my vote, I see "yes/no" radio buttons and a vote button.
21:01 Coke if I vote, I see the tally.
21:01 Coke you may have content privs.
21:01 Coke (but not voting privs)
21:02 Coke I see nothing restricting who can vote.
21:02 Coke what browser are you using (works here in chrome)
21:03 cotto firefox, so it's probably a permissions thing
21:04 Coke I was nearly named Bilbo. Thankfully at least one of my parents was sober.
21:04 cotto One of the kids at my church is named "Zelda".
21:04 Coke oh dear jeebus.
21:05 Coke I just tried with ff3.0.9 on winxp, worksforme.
21:05 cotto ok, so it's definitely permissions
21:25 dalek parrot: r38755 | NotFound++ | trunk/t/op/io.t:
21:25 dalek parrot: [test] TODOed pipe writing test, don't know why fails
21:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38755/
21:30 darbelo cotto: ping
21:30 cotto darbelo, pong
21:31 darbelo are there any examples I can check for 'group whatever' dynpmcs
21:32 cotto sure.  The digest dynpmcs in src/dynpmc use them.
21:32 cotto (md5, sha1, etc)
21:33 rdice joined #parrot
21:34 darbelo Oh. Yep, there it is. Sorry missed that before.
21:38 cotto np
21:40 darbelo One more question.
21:41 darbelo I need to get the pointer stored on the DecContext singleton. Should I use a method or somethong else?
21:41 darbelo s/somethong/somthing/
21:42 darbelo s/somthing/something/ # Fingers i h8 you.
21:42 cotto Why?
21:42 cotto nm
21:43 cotto obvious
21:43 darbelo To pass it to the decDoSomethingToNumber(number, othernumber, context)
21:43 cotto thining..
21:43 cotto probably a method since get/set_pointer are taken
21:43 cotto btw, lua + nes = awesome: http://www.youtube.com/watch?v=IvDXZmS2MAU
21:44 Infinoid (the singleton pmc api)--
21:44 darbelo A method will expose the pointer to PIR, and everyone else. Which make me kinda nervous.
21:44 darbelo It's get-only, but still.
21:45 cotto yeah, the current state of things is not at all ideal
21:46 cotto I wouldn't mind working on making things saner, but the change couldn't be committed until after the next stable release (1.4, July 21)
21:46 cotto (or at least I think so, since it'd be an api change)
21:47 Infinoid yeah, some language dynpmcs might depend on the old behavior
21:47 cotto exactly
21:48 darbelo I would like PMC in a group to have a way to 'reach into eachother's guts'. So to speak.
21:48 Infinoid how would you fix it?  I've been thinking about just adding a singleton flag to struct _vtable.flags
21:49 Infinoid darbelo: shared state, hmm.  like a shared struct?  or inherited attrs?
21:49 cotto Infinoid, I haven't thought about it yet.
21:50 Infinoid darbelo: Maybe you could define a common struct typedef in a central header file and give each of your PMCs an attr instance of that struct?
21:50 darbelo Something akin to a PARROT_NAMEOFTHEOTHERPMC(pmc) accsessor.
21:50 darbelo But that would require reworking the wayt the groups are built.
21:50 Infinoid ah, is that missing for dynpmcs?  hmm.
21:51 Infinoid You'd also have to be quite sure that the PMC you've got is of the right type, subclasses might have a different attr struct layout
21:52 dalek parrot: r38756 | petdance++ | trunk/src/extend.c:
21:52 dalek parrot: removed two unused vars
21:52 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38756/
21:52 cotto Infinoid, actually subclasses will have a superset of the parent class' ATTR struct.
21:52 Infinoid Even with MI?
21:52 cotto We don't support MI for ATTRs.
21:52 Infinoid I was thinking the ordering might change
21:52 Infinoid oh, ok
21:53 Infinoid (is this why we don't support MI for ATTRs?)
21:53 cotto yes
21:53 darbelo It could only work for the members of the group, those are known at compile time.
21:54 darbelo I't a matter of generating an extra header. But that would require reworking the wayt the groups are built, and of pmc2c. Becouse it adds an extra pass.
21:55 cotto do not want
21:55 cotto or at least not until pmcc is ready
21:55 darbelo Yeah, I'm not volunteering either.
21:58 darbelo Back to reality, then. There's no way to reach into the guts of another PMC that I can use?
21:58 Infinoid uh, there's already a VTABLE_PMC_IS_SINGLETON flag in vtables[n]->flags
21:59 cotto darbelo, what kind of gut reaching into do you want to do?
21:59 darbelo Just get the pointer stored in the ATTR
22:00 cotto Ok.  I thought you were referring to something more promiscuous.
22:01 cotto just use a method for now
22:03 cotto actually, you could have a common abstract base class with the context as its ATTR and inherit from that
22:03 cotto then PARROT_BIGFOO(x)->context would work on anything that inherited from the base class
22:04 cotto and it'd stay hidden from PIR
22:06 darbelo A common ancestor ot both DecNum and DecContext. I there a way to make that non-instantiable?
22:06 darbelo nm
22:06 darbelo You said abstract.
22:06 cotto I haven't played with abstract PMCs, so there might be some gotchas
22:07 dalek parrot: r38757 | petdance++ | trunk/config/gen/makefiles/root.in:
22:07 dalek parrot: many new splint flags
22:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38757/
22:07 dalek parrot: r38758 | petdance++ | trunk/src/packfile.c:
22:07 dalek parrot: add a PARROT_WARN_UNUSED_RESULT
22:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38758/
22:08 cotto idk if it'd need to be an ancestor of DecContext
22:08 darbelo It' be pretty trivial: one ATTR, no methods. There isn't too much I can get wrong ;)
22:08 cotto yup
22:10 darbelo Ha. It even works now! : https://trac.parrot.org/parrot/ticket/638
22:12 darbelo That would put another ATTR on DecNum, an unused pointer to a decContext structure. Right?
22:14 cotto phone: bbs
22:17 Infinoid I think the common ATTR would be in the base class, whatever you're calling that.  (DecBase?)
22:17 Infinoid then that field would automagically appear in your subclasses
22:17 Infinoid #638 was about vtable function pointer initialization
22:17 dalek parrot: r38759 | petdance++ | trunk (2 files):
22:17 dalek parrot: removed unused return values. shimmed unused arguments. Added some splint decorators.
22:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38759/
22:18 Andy I love a good day with the code shears.
22:18 Infinoid Andy++
22:18 Andy I don't think it's bad to modify the func signatures I did.
22:20 Infinoid I'm not sure any code outside the parrot codebase itself calls those
22:20 cotto darbelo, sounds good
22:20 darbelo DecNum is going to accsess the field in DecContext and leave it's own completely untouched.
22:21 Infinoid in fact, I think only IMCC, PIRC and the Packfile PMCs would call the C packfile API
22:21 darbelo The macros support that?
22:23 Andy holy crud, please enjoy pf_debug_packed_size() in src/packfile.c
22:23 Andy line 2632
22:23 Andy I'm not normally Mr. Optimization, but I think that's a fair one in this case.
22:24 dalek parrot: r38760 | petdance++ | trunk/src/packfile.c:
22:24 dalek parrot: use character \0 instead of 0
22:24 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38760/
22:24 jonathan Andy: Heh, gotta leave the optimizer some work. ;-)
22:25 Andy jonathan: No, I don't think  we do. :-)
22:25 jonathan :-)
22:25 cotto Andy, nice find.  I don't usually find code that funny.
22:26 jonathan Andy: I bet it dates back to a time when the C string was stored in the bytecode and we needed to calculate its length.
22:27 Andy Clearly it's trimmed-down cut'n'paste that's never been revisited.
22:27 jonathan Aye.
22:27 jonathan Well, it's not wrong, just sub-optimal.
22:27 Andy whoo!  Saved 32 bytes in the .o file!  WHOOOOO!
22:27 jonathan ;-)
22:27 Andy MAKE A SPECIAL RELEASE
22:27 jonathan lol
22:27 Andy DAMN THE MONTHLY SCHEDULE
22:27 Andy THIS IS A PERLBUZZ SPECIAL REPORT....
22:28 Andy running make test and going home for dinner.
22:29 cotto it's a good thing you can parallelize
22:29 Andy ?
22:29 Andy you mean two projects at once?
22:29 moritz going home, and running 'make test'
22:29 Andy nohup make test &
22:36 bacek good morning
22:36 cotto hi, bacek
22:36 bacek cotto++ # Step 4 even closer!!!
22:37 cotto profit++
22:41 bacek cotto: header files named "pmc_foo.h"
22:42 cotto easy fix
22:43 bacek indeed
22:43 Theory joined #parrot
22:44 bacek afk # @kids ~~ School, $self->work
22:49 Tene pmichaud: what about perl6multisub.pmc?  it looks up !DISPATCH-JUNCTION-MULTI from the parrot ns explicitly...
22:49 pmichaud it should be using const.
22:50 pmichaud oh
22:50 pmichaud it can't do that, it's a pmc
22:50 pmichaud ummmmmmm.
22:51 pmichaud maybe !DISPATCH-JUNCTION-MULTI can always go into the perl6 .HLL ?
22:51 pmichaud and perl6multisub.pmc always looks for it there?
22:53 Tene it uses get-hll-namespace(interp), but pmcs are *always* in the parrot namespace
22:53 pmichaud maybe stick !DISPATCH-JUNCTION-MULTI in both namespaces?
22:54 Tene OK
22:54 Tene for now
22:54 pmichaud (yes, I realize none of these answers are particularly appetizing.  It's annoying that PMCs always live in the parrot namespace)
22:54 pmichaud the other option is to have perl6multisub.pmc always look for things starting at the root namespace
23:04 pmichaud afk, dinner
23:20 donaldh joined #parrot
23:23 Tene pmichaud: all tests passing :)
23:23 rg <purl>ship it!</purl> ;)
23:23 Tene pmichaud: I'll leave it with hll parrot for now...
23:24 Tene feels like hll perl6 is slower... need to check.
23:40 jonathan Tene++ # nice work!
23:41 * jonathan -> sleep
23:43 dalek parrot: r38761 | cotto++ | branches/pmc_pct/compilers/pmcc/pmcc.pir:
23:43 dalek parrot: [pmcc] pmc headers are named supposed to be named pmc_foo.h.  Fix that.
23:43 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38761/
23:45 Tene everything that failed before is passing now, but just now doing a last spectest run.

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

Parrot | source cross referenced