Camelia, the Perl 6 bug

IRC log for #parrot, 2010-08-19

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 Psyche^ joined #parrot
00:15 chromatic joined #parrot
00:56 kurahaupo joined #parrot
01:21 kid51 joined #parrot
01:25 * kid51 backscrolls, then asks "It appears we have not yet released 2.7.0 -- correct?"
01:26 chromatic I saw the release announcement.
01:27 cotto_work I was later than normal but semed to hit parrot-dev and parrot-users just fine
01:27 kid51 Channel Topic needs changing
01:27 Topic for #parrotis now Parrot 2.7.0 "Australian King" Released! | parrot.org Log:  irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close 13 tickets, merge outstanding branches, help NotFound clean up PBC tests
01:28 cotto_work no it doesn't
01:28 cotto_work ;)
01:28 cotto_work time for not-work
01:28 chromatic What's "not-work"?
01:28 kid51 msg NotFound If there's anything I can do to help you from the Darwin/PPC angle on the PBC tests, please let me know.
01:28 purl Message for notfound stored.
01:32 kid51 Ah, I guess the fact that it was later than usual meant that it has not yet been included in the 'digest' versions of various mail lists.
01:33 kid51 But I see it on the news interface and on www.parrot.org
01:33 chromatic Likely.
01:33 kid51 mikehh++
01:33 bacek_in_sing joined #parrot
01:34 kid51 bacek_in_sing: Is 'sing' Singapore?
01:34 bacek_in_sing kid51: yes. Biz trip.
01:34 kid51 Is it tropically hot there all year round?
01:34 kid51 Rainy season? Dry season?
01:35 bacek_in_sing it's about +32C.
01:35 bacek_in_sing Cloudy, rainy.
01:35 bacek_in_sing Didn't see sun for last couple of days :)
01:35 kid51 purl +32C
01:35 purl kid51: sorry...
01:35 kid51 purl can you do temperature conversions?
01:35 purl kid51: no idea
01:36 bacek_in_sing purl: convert 32 celsius to farenhiet
01:36 purl I don't know how to do that.
01:36 bacek_in_sing meh
01:36 kid51 purl convert 32 celsius to fahrenheit
01:36 purl 32 Celsius is 89.6 Fahrenheit.
01:36 Chandon 20 is room temperature, 30 is hot.
01:36 kid51 spelling
01:36 purl somebody said spelling was not one of Nicholas's strong points or trucky. or tricky :)
01:36 chromatic 90 F
01:36 bacek_in_sing purl: 9/5*32+32
01:36 purl 89.6
01:36 kid51 So, basically, the weather in Singapore today is just like the weather in New York City today :-(
01:37 bacek_in_sing kid51: may be :)
01:37 * kid51 is demoralized by the endless hot NYC weather
01:37 bacek_in_sing it's much more humid is Singapore.
01:37 kid51 15 C in San Francisco seems mighty nice after the last 7 weeks
01:38 bacek_in_sing And I do like hot weather
01:39 kid51 make test PASS; smolder still down
01:40 * kid51 is going to a Ruby meetup tomorrow night
01:40 kid51 ... 'cause the topic is test-driven development
01:47 cotto ~~
01:47 theory joined #parrot
01:48 kid51 Are there any GSOC branches in Subversion which need testing over next week?
01:49 cotto gsoc_instrument doesn't
02:01 dalek parrot-linear-algebra: 95996f9 | Whiteknight++ | / (5 files):
02:01 dalek parrot-linear-algebra: fix a bounds issue in row_combine which was setting off a segfault. Implement/fix a lot more tests.
02:01 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/95996f9f7256a1865b3cca620a3c333850bb6269
02:01 dalek parrot-linear-algebra: df0721b | Whiteknight++ | / (2 files):
02:01 dalek parrot-linear-algebra: ComplexMatrix2D.get_integer* returns the magnitude of the complex value, not just the real part of it. This matches behavior of Parrot's Complex PMC, and makes a few more tests pass. Also, fix the row_combine test. NQP is casting the complex values to floats for the addition, which was screwing up the result. Be explicit that the arithmetic should happen by the Complex PMC's rules
02:01 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/df0721b5f0ca3e0e8d66e376c357d21bc6278c8a
02:01 dalek parrot-linear-algebra: c201fae | Whiteknight++ | t/pmc/complexmatrix2d.t:
02:01 dalek parrot-linear-algebra: add GEMM test methods for ComplexMatrix2D. All tests pass for the core matrix types.
02:01 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/c201faed208ae33290d6376ceb72ba3cd58495f0
02:04 whiteknight ...and with that, I'm off to bed
02:06 * cotto is relieved to find that his two mistakes of not noticing that set.ops was modified and forgetting to run bootstrap-ops canceled out.
02:07 mj41_ joined #parrot
02:16 dalek parrot: r48564 | cotto++ | trunk (6 files):
02:16 dalek parrot: [pmc] add cot and csc to the Float PMC, closing TT #481
02:16 dalek parrot: patch courtesy of paul_the_greek++
02:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48564/
02:17 dukeleto cotto: so if I modify an ops file, i have to run something for that to take effect?
02:18 cotto yup
02:18 cotto unless it's a dynop
02:18 dukeleto cotto: i have been going crazy modifying math.ops and not seeing any difference
02:18 chromatic MATH IS A FUNDAMENTAL PROPERTY OF THE UNIVERSE YOU CANNOT CHANGE IT
02:18 cotto we'll see about that
02:19 cotto dukeleto, you need to gripe more.  Sadly, making the changes take place automatically causes a circular dependency.
02:19 * dukeleto gripes
02:19 nopaste "kid51" at 192.168.1.3 pasted "t/pmc/nci.t fails one test at r48563 on Darwin/PPC" (116 lines) at http://nopaste.snit.ch/22891
02:19 dukeleto cotto: thanks for the gem of knowldege. I am going to put it to good use
02:20 cotto though I'm seeing now that bootstrap-ops causes something to break
02:20 chromatic Ugh, that _CONST_STRING is a mess.
02:20 kid51 msg NotFound see http://nopaste.snit.ch/22891
02:20 purl Message for notfound stored.
02:20 dukeleto chromatic: i wish our math ops knew that
02:21 cotto Ah.  needs a clean after the boostrap-ops to clear out the old pbc
02:46 cotto Interesting.  Apparently allison's working at Canonical now.
02:48 janus joined #parrot
02:48 allison cotto: Yah, the first couple of weeks have been busy, but it's settling down.
02:49 tcurtis joined #parrot
02:50 cotto what are you architecting?
03:00 allison cotto: Ubuntu
03:00 allison cotto: the whole project and all the various distributions within it (Kubuntu, etc)
03:01 allison cotto: which is, of course, a ridiculously huge task, and there's no way one person could do it alone
03:01 allison cotto: they've already got a good distributed design process in their "blueprints"
03:02 atrodo wow!
03:02 allison cotto: but what they haven't had, until now, is someone to watch over the overall consistency
03:02 allison cotto: i.e. what we call the "Chief Architect"
03:10 cotto sounds heavy
03:11 cotto and a great place to make a difference
03:45 bacek_in_sing joined #parrot
04:10 Coke joined #parrot
04:11 Coke ~~
04:23 dukeleto allison: congrats on your new gig. does that mean you are moving or is it telecommute?
04:25 dukeleto cotto: so if I change a .ops file, you need a "make bootstrap-ops clean" ? that can get time-consuming
04:26 cotto dukeleto, yes, that's an unfortunate consequence of the way the build currently works
04:32 cotto actually, you don't technically need the second clean unless you're invalidating pbc
04:33 cotto you can also just run ./ops2c --core directly
04:35 macroron joined #parrot
04:37 dukeleto cotto: interesting. i am not sure if i am invalidating pbc. basically, i just want to modify math.ops and run tests, iteratively
04:38 cotto if you're not adding or removing ops, you're not invalidating pbc
04:38 cotto (or messing with packfiles, etc)
04:38 dukeleto cotto: ok, gotcha. I am just modifying currently existing ops
04:39 cotto definitely safe then
04:45 dalek plparrot: 804ec61 | leto++ | t/sql/plperl6.sql:
04:45 dalek plparrot: Add a test for PL/Perl6 that uses grammars
04:45 dalek plparrot: review: http://github.com/leto/plparrot/commit/8​04ec6110391a6d65788de682280321581c18d7d
04:45 dalek plparrot: 801ddfd | leto++ | t/sql/plperl6.sql:
04:45 dalek plparrot: Refactor PL/Perl6 grammar example to use boolean context
04:45 dalek plparrot: review: http://github.com/leto/plparrot/commit/8​01ddfd1f0d739b2214c9ae6ebffb083510a5da0
04:53 dukeleto cotto: armed with the info you have told me about ops, i think i can close a ticket or two this week. thanks!
04:53 dafrito joined #parrot
04:55 cotto excellent
05:08 * tcurtis still can't get Parrot to build.
05:08 tcurtis well, I can get it to build.
05:08 tcurtis It's getting it to work that's the problem.
05:13 Chandon Try "make actually-work"
05:13 tcurtis make: *** No rule to make target `actually-work'.  Stop. :)
05:16 dalek partcl-nqp: 27478ef | coke++ | / (8 files):
05:16 dalek partcl-nqp: instead of directly invoking .subs, go through a helper sub so we can do
05:16 dalek partcl-nqp: some extra handling.
05:16 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/27478ef49b56f42e1345466f8b3d084ac4ece370
05:19 * tcurtis broke down and installed 2.7.0, which works.
05:24 darbelo joined #parrot
05:29 cotto I ran into some stupidness wrt pbc versions when I last tried to play with PIRATE, which needed tree-optimizations, which needed an updated plumage, which needed a yak shaved, which meant I had to go to the store and ended up buying some cookies instead
05:30 darbelo Mmm. Cookies.
05:31 * darbelo goes off to check if he has any left.
05:33 cotto I bet you'll be able to but lots of cookies when your gsoc $$$ comes in.
05:35 NotFound msg purl messages
05:35 purl Message for purl stored.
05:36 NotFound Ugh
05:37 NotFound msg kid51 I don't see why it fails just one test, maybe a hardware problem?
05:37 purl Message for kid51 stored.
05:38 allison dukeleto: it's telecommute and I'm moving
05:38 tcurtis NotFound: is there a way to install Winxed automatically?
05:38 NotFound tcurtis: not yet
05:40 NotFound tcurtis: I think there is a plumage  metadata available, but just for testing.
05:41 tcurtis NotFound: What would I have to put where to be able to run it outside of the build directory (assuming that's currently possible)?
05:42 NotFound tcurtis: export WINXED_PATH=....
05:43 dalek plparrot: 5830d43 | leto++ | / (2 files):
05:43 dalek plparrot: Make 'make installcheck' pass
05:43 dalek plparrot: review: http://github.com/leto/plparrot/commit/5​830d43eef3ac7acd8c3592ad514b9539a0679fe
05:44 kurahaupo joined #parrot
05:46 dukeleto allison: very nice. moving back to PDX?
05:46 allison dukeleto: probably, yes, I haven't decided yet
05:49 tcurtis NotFound: great. :) I'm going to try it out.
05:53 NotFound tcurtis: you're welcome
05:53 dalek parrot: r48565 | chromatic++ | trunk (14 files):
05:53 dalek parrot: [str] Revised STRING iterator interface (TT #1456)
05:53 dalek parrot: These two patches from Nick Wellnhofer improve the algorithmic performance of
05:53 dalek parrot: STRING iteration especially for variable-width encodings.
05:53 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48565/
06:00 dalek rakudo: 7530af5 | mathw++ | docs/ChangeLog:
06:00 dalek rakudo: Update ChangeLog for 2010.08 release.
06:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​530af51235df6c47d34843bee97ce1d3140d726
06:00 dalek rakudo: f1b8aca | mathw++ | docs/announce/2010.08:
06:00 dalek rakudo: Finish release announcement for 2010.08.
06:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​1b8aca2039804d393b44903406960591dcebd10
06:00 dalek rakudo: 99a4e24 | mathw++ | docs/release_guide.pod:
06:00 dalek rakudo: Update release guide with 2010.08 release.
06:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​9a4e24d0705a485ce2c6ba6a1ddd47280705a10
06:03 dalek TT #1456 closed by chromatic++: String iterator rewrite
06:03 dalek TT #1456: http://trac.parrot.org/parrot/ticket/1456
06:08 bacek_in_sing joined #parrot
06:12 uniejo joined #parrot
06:25 chromatic I've just invited Nick and Luben to submit CLAs.
06:27 dalek parrot: r48566 | chromatic++ | trunk/src/gc/alloc_resources.c:
06:27 dalek parrot: [gc] Forced freeing of empty blocks in compacting.
06:27 dalek parrot: This patch is from TT #1742 by Nick Wellnhofer.
06:27 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48566/
06:36 dalek TT #1742 closed by chromatic++: Skip compact_pool if all blocks are almost full
06:36 dalek TT #1742: http://trac.parrot.org/parrot/ticket/1742
06:43 dalek parrot: r48567 | NotFound++ | trunk (3 files):
06:43 dalek parrot: remove annotations from native_pbc, now packfile tests use its own version and it wasn't related with the other native_pbc files anyway, TT #1712
06:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48567/
07:00 dalek parrot: r48568 | NotFound++ | trunk/MANIFEST:
07:00 dalek parrot: update MANIFEST, forgoten in r48567
07:00 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48568/
07:02 tcurtis joined #parrot
07:20 fperrad joined #parrot
07:40 mikehh joined #parrot
07:58 dalek plparrot: a1bc962 | leto++ | .gitignore:
07:58 dalek plparrot: Add plparrot_secure.h to .gitignore
07:58 dalek plparrot: review: http://github.com/leto/plparrot/commit/a​1bc9629f5de2ae5d8d912c17a3e4cda19ab6a39
08:20 cotto note to self: when copy/pasting 5-digit numbers into vim, be very careful that it's in insert mode
08:21 moritz :-)
08:22 moritz my vim automatically switches to insert mode when I paste stuff into it
08:23 moritz sadly I don't understand most of my cargo-culted .vimrc, so I can't tell you which line is responsible for that :/
08:23 cotto gvim is smart about that but I wasn't using it
08:24 bacek_in_sing moritz: set mouse=a?
08:24 moritz not sure if that's what responsible, singing bacek :-)
08:33 cotto It's nice how Trac doesn't have any tests to get in the way to the plugin development process.
08:52 pgollucci joined #parrot
09:00 * cotto has a poc of the github plugin mapping from svn revisions to git hashes
09:00 cotto way better than sleep
09:07 cotto git++
09:07 cotto and svn-- just because
09:08 moritz and cotto++
09:10 x3nU git sucks because isn't portable ;f
09:12 moritz and svn is?
09:12 moritz try an svn checkout with two files of the same name but with different case on windows
09:13 * cotto hugs x3nU
09:13 moritz and see what awesome error message you get, and if you would guess what the problem is from the error message
09:14 cotto and now it fails somewhat gracefully
09:20 sorear poc?
09:20 purl somebody said poc was this chat, which is running under same in vmware or proof of concept. or piece of crap or Pint of Custard or Point of Contact
09:22 cotto proof of concept
09:22 cotto I know it can work.
09:24 cotto http://github.com/cotto/github-trac for the curious
09:24 lucian joined #parrot
09:24 x3nU you know, svn at least works on windows
09:25 x3nU git needs whole posix ecosystem
09:25 x3nU msys or cygwin for example
09:25 x3nU ;/
09:25 * cotto needed to go to sleep 2 hours ago.  Better late than never.
09:26 sorear x3nU: [citation needed]
09:27 x3nU http://en.wikipedia.org/wiki/Git_(software)
09:27 x3nU see portability section
09:27 x3nU msys or cygwin, there's no pure windows version
09:27 x3nU which sucks
09:28 sorear um, Git_(software)
09:29 sorear Git_(protocol) has a half dozen implementations
09:29 sorear you just gave a reason not to use... ONE of them
09:30 x3nU yeah, there's git# but it seems immature
09:33 moritz what's wrong with msys? it installs a few MB of POSIX libs. So what?
09:33 x3nU if i wanted posix libs i would install linux ;f
09:34 x3nU also msys git version is a bit outdated
09:34 moritz you typically don't develop on embedded systems, and on normal PCs and laptops disc space is ridiculosly cheep
09:34 moritz x3nU: somehow both arguments aren't convincing for me
09:34 moritz not portable != the bleeding edge isn't ported as fast
09:40 x3nU you can't call app which uses posix calls portable, but whatever - there's no accounting for taste ;d
09:40 moritz well, if POSIX is ported, I can call them portable
09:40 x3nU you will prefer git i - svn :)
09:40 moritz just like I can call perl scripts portable, if perl is ported to the platform in question
09:40 x3nU moritz: yeah, so if there is wine for linux so every app on the earth is portable
09:41 moritz x3nU: except that most windows apps I've tried didn't work well on wine
09:48 Infinoid x3nU: You're objecting to installing a few MB of libraries, but you're running on a platform where it seems *every* installable application comes with a few MB of extra (and often redundant) libraries, and often much more than a few MB of those?
09:48 x3nU it's not about space
09:48 x3nU but when i use cygwin or msys
09:50 Infinoid I actually like msys.  cygwin is trying to emulate posix.  msys is just supporting gcc code on the platform.
09:50 x3nU i must use bash shell with everything that is specific for posix
09:50 x3nU i mean unix shell, paths etc
09:51 x3nU it feels so different from the rest of system
09:51 Infinoid One might argue that that's a good thing, but I think that's offtopic :)
09:51 moritz x3nU: you don't have to use bash. You can use a GUI frontend for git
09:52 Infinoid x3nU: arguably, Anything that uses a shell prompt on windows feels different from the rest of the system, whether that prompt is running bash or cmd.exe
09:54 x3nU moritz: that gui frontend is garbage IMHO it had only few functions (and looks ugly ;) so i had to use CLI version
09:54 sorear "that"?
09:54 purl "that" is probably implied.  thoth probably has the exact usage rule.
09:54 x3nU it's not that i'm not comfortable with shell, but on windows i want windows shell
09:58 Infinoid Is there any particular reason why can't you run git from windows shell?
09:59 moritz Infinoid: could you please patch dalek to report http://github.com/jnthn/6model on #perl6?
10:00 arnsholt I haven't tried it, but Tortoise git should work for git in windows shell
10:00 arnsholt The Tortoise SVN is pretty good at least
10:00 Infinoid x3nU: "I'm using the MinGW port from cmd.exe, i.e. not from a posix shell" -- http://marc.info/?l=git&m=119243039514160
10:04 fperrad x3nU: see http://code.google.com/p/msysgit/
10:05 x3nU Infinoid: it gives some errors when runned from cmd and replaces some native windows commands
10:05 x3nU so that's why i must use bash with  msysgit
10:06 Infinoid "replaces some native windows commands" sounds like it's at the wrong place in your $PATH.
10:06 Infinoid moritz: can do
10:06 moritz Infinoid++
10:06 sorear git replaces commands?
10:06 Infinoid I think having msys in his path must be responsible for that
10:07 x3nU Infinoid: replacing commands is intented
10:07 x3nU installer warns about that
10:08 x3nU also
10:08 x3nU i don't get how github supports svn
10:08 Infinoid I don't see why replacing native windows commands is an argument for using bash, though
10:08 moritz with magic, of course :-)
10:08 dalek joined #parrot
10:09 x3nU when i have commited something to my repo
10:09 x3nU with svn
10:09 x3nU i don't see any changes on site
10:09 x3nU but i can checkout it through svn
10:11 sorear congratulations, you've hung yourself.
10:11 sorear next time, think twice before playing with rope.
10:11 x3nU Infinoid: you know, you can install msysgit in two ways - first is everything works from cmd (or don't work :p) and installer edit your path etc second when there's bash shell which is separate from windows shell (path etc)
10:11 sorear features announced on Apr 01 should not be regarded as type specimens for git's robustness
10:12 x3nU sorear: read-only access was annouced on apr 01, but read-write was annouced later :D
10:13 x3nU but whatever i'm going to use git through shell account - that's most clean way imo
10:14 dalek joined #parrot
10:15 Infinoid moritz: github: 6model/master will output to freenode/#perl6
10:15 moritz Infinoid++
10:15 Infinoid Lemme know if it works.
10:16 moritz I will, once jnthn++ commits something
10:16 Infinoid Kind of scary - I've been playing with perl5 so little recently that I can't remember if digits are ok as the first character of a package element (modules::local::6model)
10:16 Infinoid though it seems to have worked so far...
10:16 moritz it works, if it's not the first part of the namespace
10:16 moritz ie 6model::foo::bar wouln't work
10:17 Infinoid no problem then.
10:17 moritz szbalint++ explained that difference to me :-)
10:18 szbalint you mean szabgab? :)
10:18 szbalint ah
10:18 moritz szbalint: no, you did
10:18 moritz when I was in Vienna
10:18 szbalint yeah, I ran into that with 123people :)
10:18 szbalint Foo::123bar works
10:31 dalek rakudo: 5b08f4e | masak++ | src/core/Str.pm:
10:31 dalek rakudo: [core/Str] added missing goto in PIR
10:31 dalek rakudo:
10:31 dalek rakudo: Discovered by jnthn++.
10:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​b08f4e8e1402479bc111e13defaeab381b45987
10:59 pgollucci joined #parrot
11:32 Coke joined #parrot
11:35 jhelwig joined #parrot
11:56 whiteknight joined #parrot
12:12 whiteknight_ joined #parrot
12:36 ruoso joined #parrot
12:58 whiteknight good morning, #parrot
12:58 whiteknight mikehh++ on the release.
12:58 moritz good morning mr. withworth!
12:58 tadzik joined #parrot
12:59 whiteknight good morning moritz
12:59 whiteknight how are you today?
13:00 moritz quite well
13:00 moritz expecting a rakudo compiler release today :-)
13:13 whiteknight oh yes, it is that day
13:13 whiteknight is this going to be a good release?
13:17 masak joined #parrot
13:22 dalek TT #1746 created by masak++: A way to get Rakudo to segfault
13:22 dalek TT #1746: http://trac.parrot.org/parrot/ticket/1746
13:23 masak probably too late to get a fix into today's Rakudo release, but...
13:25 masak the segfault is surprisingly consistent, so I thought it might be a good thing to send along to someone with good debug-fu.
13:30 GodFather joined #parrot
13:46 dalek tracwiki: v14 | Paul C. Anagnostopoulos++ | Deprecation
13:46 dalek tracwiki: http://trac.parrot.org/parrot/wiki/De​precation?version=14&action=diff
13:52 Paul_the_Greek joined #parrot
13:57 dalek rakudo: 3f0bfbb | pmichaud++ | src/ (4 files):
13:57 dalek rakudo: Switch Nil to be an undefined Parcel constant.
13:57 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​f0bfbb48591e763f331a5f7fccc3f91ce12759e
13:57 dalek rakudo: 1f5a79f | pmichaud++ | / (4 files):
13:57 dalek rakudo: Merge branch 'master' of github.com:rakudo/rakudo
13:57 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​f5a79f8d6651a95ac1286ccf4c06ee31b4ef0d7
13:59 bubaflub joined #parrot
14:00 Paul_the_Greek Where are ParrotDecprecations and ParrotDeprecationsx.xx linked in the Wiki?
14:17 whiteknight they may not be
14:18 Paul_the_Greek msg cotto I have edited the two ParrotDep pages that you told me about. Noted this on ticket. I think you can commit it now.
14:18 purl Message for cotto stored.
14:19 Paul_the_Greek Should I edit the main Wiki page to add those links?
14:20 dalek tracwiki: v10 | Paul C. Anagnostopoulos++ | ParrotDeprecations
14:20 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Parro​tDeprecations?version=10&action=diff
14:20 dalek tracwiki: v5 | Paul C. Anagnostopoulos++ | ParrotDeprecationsFor2.9
14:21 dalek tracwiki: http://trac.parrot.org/parrot/wiki/ParrotDe​precationsFor2.9?version=5&action=diff
14:21 dalek tracwiki: v6 | Paul C. Anagnostopoulos++ | ParrotDeprecationsFor2.9
14:21 dalek tracwiki: http://trac.parrot.org/parrot/wiki/ParrotDe​precationsFor2.9?version=6&action=diff
14:23 pyrimidine joined #parrot
14:33 dalek rakudo: ee31f3d | moritz++ | docs/announce/2010.08:
14:33 dalek rakudo: [announce] those diacritics are easy to mis-remember :-)
14:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​e31f3d9a9e9408c36e05744c1166707ea74381c
14:39 dalek rakudo: 4f1dee5 | pmichaud++ | docs/announce/2010.08:
14:39 dalek rakudo: Add note about Nil now being undefined.
14:39 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​f1dee534da9942293afb94059895d7a74a94906
14:39 dalek rakudo: 90637b6 | jnthn++ | docs/announce/2010.08:
14:39 dalek rakudo: Tiny tiny tweakies.
14:39 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​0637b66e61b44da794ecbee4b3918c7af1060f9
14:50 bubaflub joined #parrot
14:57 bubaflub_ joined #parrot
15:01 pyrimidine joined #parrot
15:03 theory joined #parrot
15:03 theory_ joined #parrot
15:13 dalek winxed: r594 | NotFound++ | trunk/winxedst1.winxed:
15:13 dalek winxed: initial support for HLL modifier
15:13 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=594
15:43 chromatic joined #parrot
15:48 plobsing_work joined #parrot
15:52 tcurtis joined #parrot
15:57 pyrimidine joined #parrot
16:12 dalek parrot: r48569 | chromatic++ | trunk (6 files):
16:12 dalek parrot: [hash] Added hash iteration macros.
16:12 dalek parrot: Patch courtesy Luben Karavelov, TT #1741.
16:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48569/
16:12 dalek parrot: r48570 | chromatic++ | trunk (2 files):
16:12 dalek parrot: [hash] Renamed hash->bucket_indices to hash->index.
16:12 dalek parrot: Patch courtesy Luben Karavelov, TT #1741.
16:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48570/
16:12 smash joined #parrot
16:13 smash hello everyone
16:13 moritz oh hai
16:19 theory joined #parrot
16:19 plobsing_work ping chromatic
16:20 chromatic pong
16:21 plobsing_work I looked into constant table unpack being 20% of rakudo startup.
16:21 plobsing_work The majority of the time spent unpacking constants is spent unpacking *hash* constants
16:21 chromatic That agrees with what I've seen in profiles.
16:22 plobsing_work I have a few ideas about how we might improve this. First thing that comes to mind: collisions when building a hash from serialized format should not cause a string-compare
16:23 chromatic True.
16:23 chromatic ... unless the hash thaws into an interpreter with a different hash seed.
16:23 chromatic That doesn't *conflict* with what you say, but yeah.
16:24 plobsing_work I'm thinking string comparison is part of what makes collisions expensive (correct me if I'm wrong)
16:24 chromatic It's most of what makes collisions expensive.
16:24 chromatic The indirection in hash->compare throws out any possibility of inlining the cheap string comparisons.
16:25 plobsing_work keys in serialized hashes are already unique (because they were previously in a hash)
16:26 chromatic Seems like freeze and thaw could walk the bucket list themselves.
16:27 chromatic You have to fixup the next pointers to get the collisions right, but even so....
16:27 plobsing_work that would be a lot better than calling hash_put $n times (as is done now)
16:27 chromatic Is it worth storing that extra information in the PBC?
16:28 plobsing_work how much extra information are we talking about?
16:28 chromatic Any information necessary to recreate the ->next pointers.
16:28 plobsing_work 1 extra integer per bucket?
16:28 chromatic Right.
16:29 plobsing_work size isn't killing us, our hashes are.
16:30 chromatic Branch away!
16:31 * chromatic steps away for 30m
16:33 whiteknight joined #parrot
16:35 cotto dalek watches projects on the Modules wiki page, right?
16:39 darbelo cotto: It should.
16:43 * cotto adds his github-trac fork
16:52 dukeleto cotto++ # for recent work with git+trac integration
16:54 dalek tracwiki: v14 | cotto++ | Modules
16:54 dalek tracwiki: add github-trac
16:54 dalek tracwiki: http://trac.parrot.org/parrot/wiki/​Modules?version=14&action=diff
17:01 cotto the parallel build is considerably lta
17:02 chromatic For which?
17:05 * cotto heads to work, where he will contemplate the meaning of chromatic's question
17:10 theory joined #parrot
17:13 DrForr left #parrot
17:19 whiteknight does nqp support BUILD?
17:20 whiteknight or, any other kind of constructor mechanism that I could hijack?
17:21 tcurtis new.
17:21 ash_ joined #parrot
17:23 Paul_the_Greek joined #parrot
17:24 whiteknight tcurtis: okay, are there any examples of that around that I could follow?
17:25 tcurtis whiteknight: http://github.com/ekiru/tree-optimizatio​n/blob/master/src/Tree/Optimizer.nqp#L19 is pretty simple.
17:27 cotto_work chromatic: what do you mean?
17:29 whiteknight tcurtis: thanks
17:30 tcurtis whiteknight: welcome.
17:30 purl Welcome to #dbix-class.  I'm sorry.
17:31 cotto_work msg Paul_the_Greek Your patch to 1207 causes some test failures.  I noted which ones in the ticket.
17:31 purl Message for paul_the_greek stored.
17:32 Paul_the_Greek cotto_work:  My fault for not seeing those test failures. Not sure how I missed them since I changed lexicals.t and ran the tests.
17:33 Paul_the_Greek Oh, perhaps I only ran test_core. Bad.
17:33 cotto_work did you remember bootstrap-ops?
17:33 cotto_work It's easy to forget.
17:34 chromatic cotto_work, which parallel build system is LTA?
17:34 Paul_the_Greek Yes, or lexicals.t wouldn't have worked. I must not have run all the tests.
17:35 Coke so, implementing things in partcl-nqp is definitely easier than in partcl (pir) was. I wonder how much of this is that it's nqp vs. pir, and how much is that I've already done it once.
17:35 Paul_the_Greek I annotated the ticket to say that I'll deal with it when I return home.
17:35 cotto_work chromatic: parrot's
17:35 purl parrot's is modelled after perl 5's
17:35 dukeleto Paul_the_Greek: make coretest is good for a basic sanity check, but "make test" should be run before committing. "make fulltest" is better but a lot longer
17:36 Paul_the_Greek Absolutely. I think I just screwed up. Didn't know about fulltest, though.
17:37 cotto_work Now you know.
17:37 purl And knowing is half the battle.
17:37 jnthn Coke: I tend to find that working in a higher level language means more of my mental capacity can go on the problem at hand rather than meta-issues like how to write the code to do it.
17:40 Coke jnthn: yah. I've said this before: if we had parrot to do over, I'd make sure we started out with a simple HLL like scheme or something to drive things.
17:40 pgollucci joined #parrot
17:40 chromatic If we had Parrot to do over, I'd make sure we started to implement Perl 6 from day two.
17:41 Coke chromatic: ok, s/scheme/Perl 6/ then, and we can both be happy.
17:41 Coke ... in our delusional back to the future mental movie.
17:41 cotto_work And I want a pony.
17:41 Paul_the_Greek Do both.
17:41 jnthn ...no, let's not do the pony...
17:41 cotto_work only a metaphorical one, though, so I don't have to feed it or clean up after it
17:42 Paul_the_Greek Cats are lower maintenance.
17:42 Coke ugh. I used to muck stalls. happy to not have that chore anymore.
17:42 dafrito joined #parrot
17:47 Paul_the_Greek I installed Git on my busted-ass laptop down here at the beach. Might as well play with it.
17:54 cotto_work might as well
17:54 ash_ git is really useful, i'd read up on stashes, and branching, git does those differently than most other source code management tools
17:55 pyrimidine joined #parrot
17:57 pyrimidine_ joined #parrot
18:03 cotto_work joined #parrot
18:11 cotto_work Someone needs to bump the pbc minor version in src/ops/core_ops.c to 7 (or run bootstrap-ops to do it slowly but automatically)
18:24 Coke automatically++
18:25 Coke (hand editing generated files)--
18:26 cotto_work it's literally a single-character change
18:26 cotto_work -  6,    /* minor_version */
18:26 cotto_work +  7,    /* minor_version */
18:26 cotto_work that'd take a couple minutes to do automatically
18:28 tadzik joined #parrot
18:30 Andy joined #parrot
18:30 Coke ebenso.
18:30 davidfetter joined #parrot
18:33 dukeleto I would like to show an example in my PL/Parrot talk for a stored procedure in PIR that does something nontrivial that is not easy to do in SQL. Anybody have any ideas? Anything that shows off PIR would be good.
18:35 sorear GMP binding which ensures that blobs only contain prime numbers in a constraint
18:36 Coke does it have to be PIR as opposed to an HLL?
18:36 Coke partcl-nqp: namespace eval { puts hi} # this work yet?
18:36 p6eval partcl-nqp:  ( no output )
18:37 * Coke sniffles.
18:40 moritz partcl-nqp: namespace eval { puts hi}
18:40 p6eval partcl-nqp: OUTPUT«wrong # args: should be "namespace eval name arg ?arg...?"␤current instr.: '_block17' pc 46080 (src/Partcl/Grammar.pir:40)␤»
18:41 Coke partcl-nqp: namespace eval foo { puts hi} # this work yet?
18:41 p6eval partcl-nqp: OUTPUT«can not find channel named "hi"␤current instr.: '_block17' pc 46080 (src/Partcl/Grammar.pir:40)␤»
18:41 Coke partcl-nqp: puts hi
18:41 p6eval partcl-nqp: OUTPUT«hi␤»
18:42 Coke partcl-nqp: namespace eval foo { proc hi {} {puts hi}; hi}
18:42 p6eval partcl-nqp: OUTPUT«hi␤»
18:42 Coke partcl-nqp: namespace eval foo { puts hi }
18:42 p6eval partcl-nqp: OUTPUT«hi␤»
18:42 Coke *facepalm*
18:42 dukeleto sorear: that sounds cool! We don't have triggers yet, but a stored procedure that does that would be cool. But I don't think Parrot has access the GMP's prime functions yet
18:42 Coke puts hi # this isn't a comment.
18:42 Coke partcl-nqp: puts hi # this isn't a comment.
18:42 p6eval partcl-nqp: OUTPUT«can not find channel named "hi"␤current instr.: '_block17' pc 46080 (src/Partcl/Grammar.pir:40)␤»
18:42 Coke partcl-nqp: puts hi ;# this is a comment.
18:42 p6eval partcl-nqp: OUTPUT«hi␤»
18:42 dukeleto Coke: currently only PIR and Rakudo are supported
18:43 Coke moritz++
18:43 dukeleto Coke: if you have a good idea for PL/Perl 6, i am all ears. I have 2 nice examples for PL/Perl 6 already : sums of fibonacci numbers and Perl 6 grammars
18:46 NotFound dukeleto: maybe something more mundane, like checking a user name in /etc/passwd
18:47 dukeleto NotFound: that could be good
18:48 dukeleto Coke: i would love to try to get PL/Partcl working. PL/Lua and PL/Cardinal as well
18:49 NotFound dukeleto: an example using pir generated with winxed will be nice.
18:52 Coke dukeleto: if there's anything I can do to help with pl/partcl, let me know.
18:52 sorear dukeleto: I was actually thinking of it being a dlfunc demo
18:53 sorear dukeleto: I had temporarily forgotten we even had a BigInt pmc
18:55 dukeleto sorear: a dlfunc example would actually be very cool
18:55 dukeleto NotFound: interesting. is there a PBC for winxed that can be loaded?
18:57 NotFound dukeleto: you don't need any pbc, just the generated pir.
18:58 cotto_work msg dafrito You map-svn script needs format:%b instead of format:%B to work on my system.  With that change it appears to work fine.
18:58 purl Message for dafrito stored.
18:59 cotto_work seen dafrito
18:59 purl dafrito was last seen on #parrot 3 days, 15 hours, 59 minutes and 45 seconds ago, saying: Andy: You could also put a link for "Template Toolkit" if you want  [Aug 16 02:59:38 2010]
19:00 * cotto_work wonders how his .swp file ended up in his git repo
19:00 dafrito cotto_work: I think "git svn find-rev" might obviate the need for my script
19:01 dukeleto dafrito: that sounds about right
19:02 dukeleto NotFound: i see, that is pretty cool. so if a user writes a snippet of Winxed, how do I turn that into PIR ?
19:03 dafrito cotto_work: Assuming you have a repo that has SVN metadata (such as from the tarballs on the wiki). Otherwise, find-rev will be really slow
19:06 cotto_work indeed
19:06 NotFound dukeleto: there is no plumage installer yet, the user must install winxed from svn
19:07 japhb It's installable now?  Do you need help making plumage aware of that?
19:08 NotFound japhb: no, It still needs some thinking and a few changes.
19:08 japhb OK, just let me know, I'd be happy to help with any Plumage-related issues.
19:10 dukeleto Coke: does Partcl install a PBC into the languages/ directory of parrot ?
19:12 dalek winxed: r595 | NotFound++ | trunk/winxedst1.winxed:
19:12 dalek winxed: use the print opcode instead of the method in the cry predef to avoid issues
19:12 dalek winxed: with HLL mapping
19:12 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=595
19:13 plobsing_work NotFound: not being able to install winxed is made more painful by the fact that I need to run winxed from within the svn checkout directory (otherwise parrot can't find the stage2 pbc file)
19:14 NotFound plobsing_work: set WINXED_PATH to it in the environment
19:14 plobsing_work thanks
19:14 NotFound Is a temporary solution
19:15 dafrito cotto_work: Do you have your trac plugin in a repo somewhere?
19:15 cotto_work find-rev looks good
19:16 cotto_work dafrito: yes.  http://github.com/cotto/github-trac
19:16 cotto_work not especially fast, but once I have the map I can slurp it into a db
19:17 cotto_work you want a commit bit?
19:17 dalek winxed: r596 | NotFound++ | trunk/winxedst1.winxed:
19:17 dalek winxed: fix HLL namespace modifier
19:17 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=596
19:18 Chandon joined #parrot
19:18 dafrito sure, please :)
19:19 cotto_work done
19:23 cotto_work If you want to install it and play with it, you have to install an older version of GitPython
19:24 cotto_work I used 0.1.7 from here: http://pypi.python.org/pypi/GitPython/
19:24 cotto_work After that, following the install procedure in the README worked fine
19:25 cotto_work (1111-646)/4
19:25 purl 116.25
19:26 cotto_work 48000/116
19:26 purl 413.793103448276
19:26 cotto_work It looks like it'll be a while before the revision map using find-rev will be done
19:27 Coke dukeleto: there is no "make install" for partcl yet.
19:28 Coke do we have any pointers on how to do that? ;)
19:33 cotto_work 414/60
19:33 purl 6.9
19:34 Coke partcl-nqp: puts [expr 414./60]
19:34 p6eval partcl-nqp: OUTPUT«414␤»
19:34 Coke partcl-nqp: puts [expr 414.0/60]
19:34 p6eval partcl-nqp: OUTPUT«414␤»
19:34 Coke wow.
19:34 dukeleto Coke: there is a way to get around that. we can do something like PARTCLPBC=... and then have PL/Parrot look for that env var
19:36 Coke dukeleto: moritz wanted an install also. NBD.
19:40 dukeleto Coke: yes, installing it would be best
19:40 cotto_work (2969-1406)/(10)
19:40 purl 156.3
19:40 cotto_work 48000/156
19:40 purl 307.692307692308
19:42 brianwisti joined #parrot
19:51 dukeleto Here is how GSoC students can submit their code to Google for this summer: http://groups.google.com/group/goo​gle-summer-of-code-mentors-list/we​b/code-submission-guidelines-2010
19:53 ash_ dukeleto: that's the mentor page, student's cant view it
19:54 ash_ dukeleto: http://groups.google.com/group/goo​gle-summer-of-code-students-list/w​eb/code-submission-guidelines-2010 is the student version
19:54 ash_ i guess just replace mentors with students, heh
19:56 Chandon Sadly, the tpf google code project doesn't exist yet.
19:56 ash_ dukeleto: want me to reply with that link to your mailing list email?
19:56 ash_ the code project's wont be up until aug 30th
19:56 Coke dukeleto, moritz: there you go.
19:57 Coke rakudo++ for doing that first. ;)
19:57 dalek partcl-nqp: 09daa79 | coke++ | build/Makefile.in:
19:57 dalek partcl-nqp: Add a barebones "make install" target for moritz++ && dukeleto++
19:57 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/09daa79e02dcc972d78dc54e570f0d6cb8e31074
19:58 chromatic Nick Wellnhofer now has commit access.
19:58 cotto_work are you his mentor
19:58 cotto_work ?
19:58 chromatic yes
19:59 * cotto_work likes this influx of new bloo^H^H^H^Hcommitters
20:00 chromatic Three in one month?  Yeah!
20:01 x3nU joined #parrot
20:02 seatek joined #parrot
20:07 dafrito cotto_work: I pushed a speedy version of map-svn that uses git's rev maps directly. It should generate the map a lot faster
20:07 dafrito cotto_work: It's in the "speedy" branch, and will dump revisions on "map-svn $PARROT_REPO"
20:09 dalek parrot-linear-algebra: 7068478 | Whiteknight++ | / (4 files):
20:09 dalek parrot-linear-algebra: take charmatrix2d out of the build and don't run it's tests. It's definitely not ready for prime-time, and I need to seriously re-think the design goals of that type
20:09 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/706847881f18f1a631c4ec4e3113db75d3501a51
20:09 dalek parrot-linear-algebra: f905a0d | Whiteknight++ | src/pmc/ (4 files):
20:09 dalek parrot-linear-algebra: Add three new methods to nummatrix, which I am going to copy to the other types. These are conversion methods which allow us to convert a matrix of one type to a matrix of another. Because things are tightly packed in memory the conversion is not fast or efficient, but it does what we need it to do
20:09 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/f905a0de57699ca90e9f8f0d509eb102a6d76f57
20:09 dalek parrot-linear-algebra: cb0d9e9 | Whiteknight++ | / (4 files):
20:09 dalek parrot-linear-algebra: add convert_to_* methods to Complex and PMC matrix types. Add tests for these things. Convert some of the type-checking logic in the GEMM method calls for NumericMatrix types to automatically convert arguments between matrix types, when possible. Break out the logic to extract r/i values from a PMC into it's own function, and use that function to standardize the rules for all conversions in ComplexMatrix2D, including coefficients in GEM
20:09 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/cb0d9e9ab00d7973af702738bd4a7c0959cf69f2
20:09 dalek parrot-linear-algebra: eff87db | Whiteknight++ | / (3 files):
20:09 dalek parrot-linear-algebra: Add tests for matrix type conversion (finding and fixing a bug in PMCMatrix in the process), and add a few stub tests for autoconversion of GEMM arguments
20:09 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/eff87dbd382df9589f3c0e8dc4a5a497d44a8569
20:09 dalek parrot-linear-algebra: 705a1f8 | Whiteknight++ | / (8 files):
20:09 dalek parrot-linear-algebra: break apart MatrixTestBase and create a set of MatrixTestFactory classes which are used to create objcts for tests, but don't do any testing themselves. The ultimate goal is to start breaking up test files into smaller files and classes, each of which only test specific things. Each test class will inherit from MatrixTestBase and will delegate to a MatrixTestFactory
20:09 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/705a1f8186850fa3a8329c1debcd2930f6f8f173
20:09 dalek parrot-linear-algebra: 625b78f | Whiteknight++ | / (15 files):
20:09 dalek parrot-linear-algebra: start reworking the test suite to tease some of these methods out into their own files. This makes things a lot more manageable. Create subtest files for some of the methods on nummatrix2d for now, will add others later
20:09 dalek parrot-linear-algebra: review: http://github.com/Whiteknight/parrot-linear-algebr​a/commit/625b78fe5a97f41fd797b831c09c35a5ab05af24
20:10 masak joined #parrot
20:10 cotto_work running it now
20:10 masak has anyone been able to verify http://trac.parrot.org/parrot/ticket/1746 yet? does anyone else think it's weird and wonderful and should be fixed as soon as possible? :)
20:13 cotto_work definitely speedy
20:13 dafrito the code is really tiny. their rev_maps are just an integer for the revision and 40 bytes for the sha1, so it's easy to parse.
20:14 dafrito I apologize for my heinous perl code
20:15 cotto_work (42834-33811)/60
20:15 purl 150.383333333333
20:16 cotto_work I haven't looked at it.
20:16 cotto_work 116/60
20:16 purl 1.93333333333333
20:17 cotto_work looks about 75x faster
20:17 dafrito haha, a modest improvement
20:17 cotto_work dafrito++
20:18 cotto_work It does appear to be producing more than one hash per revision though
20:21 Coke masak: I peeked at it but the thought of trying to distill that down a PIR case put me off.
20:22 masak Coke: is there any way I can help?
20:22 Coke a pure-pir sample would no doubt help someone like c. fix it. I know that's hard to do, though.
20:22 dafrito cotto_work: Do you have an example revision?
20:23 cotto_work 1 e927c24745ffe50d968f9d175db0a35590231294         1 f377edb4f7613b27ca60f20fa144919f19a8dfc4
20:23 Coke I'll try to poke at it tonight for you if no one beats me to it.
20:23 masak yay
20:23 masak I'll give pure-PIR a shot.
20:23 cotto_work f3... is valid, e9... isn't
20:24 masak the segv is slightly unstable in that reducing the code further makes it go away, and it sometimes (maybe 20%) doesn't segv for no apparent reason.
20:27 dafrito cotto_work: Hm.. my revlist shows e927 but not f377. Though I can see the latter with git-show
20:27 cotto_work I'm backwards
20:27 cotto_work you're right
20:28 icarroll joined #parrot
20:30 dafrito I have one rev - 25919 - that's still duplicated. It's duplicated a lot, too
20:31 cotto_work that's... a lot of duplications
20:32 cotto_work In the worst case I'll let the slow version continue running and just its output once its done.
20:33 cotto_work s/its done/it's done/
20:33 dafrito It looks like it was working with tags. I'm betting each commit corresponds to a different tagged version
20:33 cotto_work I only need to generate it once anyway.
20:34 dafrito true
20:38 dafrito You can see similar behavior with find-rev if you specify the tags directly: "git svn find-rev r25919 svn/tags/RELEASE_0_0_8" "git svn find-rev r25919 svn/tags/RELEASE_0_0_6"
20:39 cotto_work will it dtrt with just the revision number?
20:40 * cotto_work is really glad to get this off the ground
20:41 dafrito It doesn't show a revision without a branch
20:41 cotto_work *sigh*
20:42 dafrito I think find-rev assumes the current branch, so it's presumably just looking in trunk
20:43 dafrito since this shows a revision: git co svn/tags/RELEASE_0_0_6 && git svn find-rev r25919
20:44 dalek parrot: r48571 | nwellnhof++ | trunk/CREDITS:
20:44 dalek parrot: Add myself to CREDITS
20:44 bubaflub joined #parrot
20:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48571/
20:50 masak Coke: all I have so far is that the PIR also segfaults. I fear I'm not PIR-savvy enough to be able to throw stuff away while preserving the error.
20:51 nwellnhof joined #parrot
20:53 Paul_the_Greek joined #parrot
20:58 Coke having segfaulting PIR is awesome, though.
20:59 Coke ... in a "helps to find the problem" kind of way.
21:00 ash_ joined #parrot
21:01 chromatic ... in a "makes a great regression test" kind of way.
21:01 whiteknight joined #parrot
21:02 chromatic whiteknight!  http://trac.parrot.org/parrot/w​iki/PCCPerformanceImprovements
21:03 whiteknight chromatic!
21:03 whiteknight yeah, I read that page yesterday
21:04 chromatic Is it feasible?
21:04 whiteknight which part, the "speculation" part?
21:05 chromatic Any of it.
21:05 purl any of it is worse than good, man.
21:05 whiteknight I've been an advocate of splitting CallContext into a CallSignature and caching that in PBC for a long time now
21:06 whiteknight so I'm pretty certain that's possible if we can make IMCC play nice with it
21:06 chromatic Ugh, somehow I'd convinced myself not to think about IMCC.
21:06 chromatic Now I'm going to think about Perl 5 for a while as penance.
21:06 whiteknight the speculation part is certainly possible, but we would have to add a layer of pointer indirection, so we reference registers by pointer, not directly
21:07 whiteknight that way, the registers could be pointing to any location in memory, including into the parent content
21:07 whiteknight (though we would probably want something like a marker for read-only values, so we don't play with things which aren't ours)
21:07 theory joined #parrot
21:08 chromatic Not sure we have to, but maybe.
21:10 masak chromatic: I think I figured out a way to ask my 'submethod DESTROY' question from a few days back. here goes: how come we've implemented BUILD and BUILDALL, but not DESTROY and DESTROYALL? is the reason technical, and if so, what is it?
21:10 whiteknight We don't want to overwrite the contents of the caller's registers without warning
21:10 chromatic masak, in PMCs or in P6Object?
21:11 masak chromatic: in Perl 6.
21:11 chromatic whiteknight, we could get around that with convention.
21:11 whiteknight chromatic: true. I'm not saying it's impossible, just saying it raises some important questions
21:11 chromatic masak, I thought they were in the original A06, but I could misremember.  Certainly they seem important.
21:11 masak A12/S12, I think.
21:12 chromatic Yes, A12.
21:12 masak I think I'd use them if they were there.
21:12 chromatic Their absence seems like an oversight.
21:12 masak nobody's implemented them. my point is because it might be non-trivial.
21:13 chromatic I have a vague memory of facing north-ish in a building at Portland State University in 2005 discussing the proper ordering of initialization and destruction submethods in Perl 6 objects in July 2005.
21:13 masak :)
21:14 masak the order is described in S12, IIRC.
21:14 chromatic Larry will remember the precise direction.
21:15 chromatic Certainly I can imagine cases where you need to clean up resources, most-derived first.
21:15 masak right. that's the spec'd order of destruction.
21:15 chromatic If you separate DESTROY from DESTROYALL, you can get rid of the object itself (whatever that means) after calling every DESTROY submethod.
21:16 masak but the call to DESTROYALL would have to be made from within the GC, no?
21:16 chromatic Yes.
21:16 masak that, I think, is the non-trivial part. at least for me, since I've never patched the GC.
21:17 masak my range of abstractions doesn't reach that far down.
21:17 chromatic The P6Object PMC merely needs overload the destroy VTABLE to invoke DESTROYALL.
21:17 chromatic . o O (modulo order of destruction concerns)
21:18 masak I think the purpose of DESTROYALL is to take care of the order of DESTROY calls.
21:18 chromatic Yes.
21:18 masak so that's not really the tricky part. just do what BUILDALL already does, but in reverse.
21:18 chromatic Right.
21:20 masak well, I've reached the point I hoped to reach in this discussion. next time somebody volunteers to implement the proper calling of DESTROYALL, I'll just tell them that the P6Object PMC needs to overload the destroy VTABLE.
21:21 masak thanks for filling in the missing pieces for me.
21:21 chromatic You're welcome.
21:21 whiteknight destroy VTABLE is probably not the correct place
21:21 davidfetter joined #parrot
21:22 whiteknight well, let me rephrase: the destroy vtable is probably where it *should* go, but will probably cause problems
21:22 chromatic Why will it cause problems>
21:22 whiteknight it gets called during GC sweep. recursing into a new runcore from there and executing code sounds like a recipe for problems to me
21:23 masak :-/
21:23 whiteknight and if it miraculously doesn't cause problems with our current stop-the-world GC, it most certainly will cause problems with other, more advanced GC algorithms
21:23 chromatic I can think of at least two workarounds.
21:24 whiteknight I can think of several myself
21:24 GeJ Bonjour everyone.
21:24 whiteknight and I can't prove that it even will be a problem, I only suspect it strongly
21:25 chromatic If and when it's a problem, we'll find one of these workarounds, if we haven't fixed it already with a non-recursive lazy GC.
21:25 chromatic and bonjour, GeJ
21:25 masak bonjour, GeJ
21:25 GeJ Good evening, chromatic. Hej, masak.
21:25 masak :)
21:26 chromatic Even lazier destruction of active destruction could provide at least *some* free memory for DESTROYALL.
21:28 lucian_ joined #parrot
21:31 plobsing_work chromatic: (re: imcc/pcc) I'd be willing to try to get imcc to cache a constant portion of a callsig.
21:33 plobsing_work I'm not familiar with PCC, so someone else would have to handle the rest.
21:35 nwellnhof I have a question about reverse iterators.
21:38 nwellnhof Currently, you're supposed to use "shift" with normal iterators and "pop" with reverse iterators. I think that doesn't make sense.
21:39 nwellnhof If I have a function that takes an iterator as argument, how does it know whether to use shift or pop?
21:40 nwellnhof I think that shift and pop should be switched for reverse iterators.
21:43 chromatic That's a good question.
21:45 nwellnhof Are there any users of reverse iterators at all?
21:46 chromatic My guess is no.
21:47 tcurtis Rakudo uses them.
21:47 tcurtis In Mu.BUILDALL
21:49 masak that's probably a negotiable use, fwiw.
21:51 chromatic That seems like a reasonable change to make.
21:54 nwellnhof OK, I'll create a ticket.
21:59 tcurtis How do I define a destroy vtable override? :vtable("destroy")?
22:00 chromatic I believe so, yes.
22:00 icarroll Is this a good place to get help with Parrot Grammar Engine?
22:00 * masak pings pmichaud
22:00 masak pmichaud: ^^
22:03 masak icarroll: maybe I can try to substitute for pmichaud. how may I help thee?
22:03 icarroll I have a token that's not matching what I expect
22:03 nopaste "icarroll" at 192.168.1.3 pasted "nested comment syntax problem" (23 lines) at http://nopaste.snit.ch/22915
22:04 icarroll does what I pasted make sense?
22:04 masak looking.
22:04 masak so far, yes.
22:04 masak $1?
22:04 purl $1 is http://www.usmint.gov/dollarcoin/winner.cfm
22:05 masak icarroll: do you mean to match against the ('#'+) ?
22:05 icarroll yes
22:05 icarroll how is that done?
22:05 masak $0
22:05 icarroll oops
22:05 icarroll that might help
22:05 masak that's one difference to p5 regexes.
22:05 icarroll yup
22:05 icarroll ok, matches are 0-based
22:05 icarroll thanks
22:05 masak np
22:06 * masak thinks compiler should give an error if $1 is referred to without enough parens at that point
22:06 icarroll would be nice
22:07 masak and totally doable.
22:08 masak that information is known statically.
22:08 icarroll even a run-time error would have helped
22:08 icarroll shrugf
22:09 dalek TT #1747 created by nwellnhof++: Switch shift and pop for reverse iterators
22:09 dalek TT #1747: http://trac.parrot.org/parrot/ticket/1747
22:10 masak runtime error is harder, funnily enough. there's no distinction between a never-used $1 and a not-used-this-time-through $1.
22:10 icarroll heh, good point
22:13 masak icarroll: now for some bonus info that you didn't request: there's a nice '~' operator that can help you with those parens.
22:14 masak '(' ~ ')' ('#'+) .*? $0
22:14 icarroll interesting
22:14 masak gives more informative 'could not parse' error messages, IIRC.
22:14 sorear (is PGE still maintained?)
22:14 icarroll what is the name of that operator so I can find the doc for it?
22:16 masak icarroll: http://perlcabal.org/syn/S05.html -- grep for 'The ~ operator'
22:16 icarroll cool, thanks
22:18 icarroll masak: looks like it's not a drop-in replacement, probably due to the .*? match
22:18 masak oh, you might need to enclose ('#'+) .*? $0 in []
22:19 icarroll yeah, I got that far
22:19 masak '(' ~ ')' [ ('#'+) .*? $0 ]
22:19 masak due to precedence.
22:19 masak when you do that, the .*? shouldn't be a problem.
22:19 icarroll hmm
22:20 icarroll when it gets to:
22:20 icarroll (# You (## don't ##) say #)
22:20 icarroll "ok 5";
22:21 icarroll it says "couldn't find final ')'"
22:21 masak hm.
22:22 masak icarroll: I'll try and reproduce that over here.
22:22 icarroll ok
22:22 icarroll maybe if I put the #s into the ~ args
22:23 icarroll dunno
22:23 masak I thought about that too.
22:23 masak it's worth a try.
22:23 masak remember to [] those as well, then.
22:24 icarroll k
22:24 icarroll anyway, it works without ~, so anything more is icing on the cake
22:25 masak true.
22:27 masak oh!
22:27 icarroll ?
22:27 masak the test string q[(# You (## don't ##) say #)
22:27 masak ]
22:27 masak correctly fails.
22:27 masak because (# matches up against ##)
22:27 icarroll hmm
22:28 masak there's nothing about nested comments in your token ws.
22:28 icarroll right
22:29 icarroll the behavior I want is (# matching against ##)
22:29 icarroll then #) becomes a comment to EOL
22:29 icarroll no worries
22:29 icarroll gotta go now
22:29 icarroll thanks again for your help
22:29 masak o/
22:29 masak no prob
23:05 jsut joined #parrot
23:20 hudnix joined #parrot
23:22 cotto_work dafrito: can you remove github/.github.py.swp from the github trac plugin fork?
23:26 Tene echo '.*.sw?' > .gitignore
23:26 Tene or .git/info/exclude if you don't want to put it in the repo, but only your local copy
23:27 cotto_work sounds like a good idea
23:28 Tene looks like you can do it globally by setting core.excludesfile in your ~/.gitconfig
23:29 dalek tracwiki: v33 | nwellnhof++ | GCTasklist
23:29 dalek tracwiki: http://trac.parrot.org/parrot/wiki/G​CTasklist?version=33&action=diff
23:29 cotto_work even better
23:29 cotto_work tene++
23:29 Tene git config --global core.excludesfile ~/.gitignore
23:30 Tene Yeah, looks like that should work.  I've been meaning to look up how to do that globally for quite a while.
23:31 Tene dafrito++ cotto++
23:32 nwellnhof joined #parrot
23:33 cotto_work dukeleto: will your parrot mirror on github most likely become the offical repo in its current shape?
23:34 cotto_work (not implying that its current shape is bad)
23:39 bluescreen joined #parrot
23:41 bluescreen Hi everyone, is there any way from pir to detect the OS (win32,linux,OS X) parrot is running in or to quickly return the path separator?
23:41 sorear look at config
23:42 bluescreen config...? (scratching my head )
23:42 sorear there's a Parrot RTL function which returns a hash with the contents of parrot_config --dump
23:42 sorear I forget the name
23:43 bluescreen sorear: ok.. will look for that, thanks
23:46 cotto_work it's called "slash" in the config hash
23:46 bluescreen nice name!
23:53 cotto_work check the "exit status" test in t/pmc/filehandle.t for a pir example of how to use it
23:53 Coke tempted to add config{axl}
23:53 sorear [axl]?
23:54 nwellnhof Axl Rose of Guns'n'Roses

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

Parrot | source cross referenced