Camelia, the Perl 6 bug

IRC log for #parrot, 2010-04-27

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 dalek left #parrot
00:06 dalek joined #parrot
00:07 * particle is working on a PaFo GSoC press release
00:09 darbelo particle++
00:09 darbelo We need more press.
00:28 dalek rakudo: a27dfef | jonathan++ | src/cheats/eval.pm:
00:28 dalek rakudo: Re-enable :lang attribute for eval. Now we can eval Perl 5 code using Blizkost.
00:28 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​27dfef72d206279d00511d2fc441d51ed7287c8
00:29 dalek left #parrot
00:29 dalek joined #parrot
00:35 tcurtis particle: if you're curious as to how the GSOC students reacted to learning that their proposal had been accepted, my reaction involved a lot of dancing around and jumping up and down.
00:36 cotto_work vids or it didn't happen
00:36 cotto_work ;)
00:36 japhb cotto_work, these days: "vids and it didn't happen"
00:36 * darbelo lacks a camera.
00:37 japhb darbelo, not even on your cell phone?
00:37 * darbelo doesn't exist.
00:37 preflex joined #parrot
00:37 * darbelo lacks a functional camera.
00:38 darbelo The one on the cellphone is, indeed, still there.
00:39 * japhb wonders whether you can even buy a new cellphone without one ....
00:40 * tcurtis has an iPhone, leaving him without a video camera. Or many other things that would one expect to be basic features of modern phones, especially smartphones.
00:41 * darbelo only expects mobile phones to work the same as regular phones, but mobile.
00:42 japhb I'm with you, darbelo.  Well, actually, come to think of it, I *was*.  Now I think my next phone will need to be able to ssh.
00:42 * tcurtis wants his mobile phone to work the same as his laptop, but a phone, and of pocketable size.
00:48 dalek left #parrot
00:48 dalek joined #parrot
00:51 dalek left #parrot
00:51 dalek joined #parrot
01:12 ash_ joined #parrot
01:34 dalek parrot: r46047 | chromatic++ | branches/compact_pool_revamp/src (3 files):
01:34 dalek parrot: [GC] Removed a memset() when returning a fresh header, as PMCs will overwrite
01:34 dalek parrot: the data anyway.  STRINGs now explicitly perform their own memset() until we
01:34 dalek parrot: can figure out how to remove it.  This improves the stress_strings benchmark by
01:34 dalek parrot: 1.315% and oofib by 1.778%.  Allocating PMCs is now faster.
01:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46047/
01:58 Psyche^ joined #parrot
02:15 JimmyZ joined #parrot
02:45 patspam joined #parrot
03:00 janus joined #parrot
03:15 ash_ joined #parrot
03:23 sorear Agh.  More shadowing horrors.
03:23 sorear Do not name a PMC attribute 'value'.
03:25 tetragon joined #parrot
03:28 bacek_at_work sorear, I removed -Wno-shadow already.
03:29 bacek_at_work at r46018
03:29 dalek blizkost: 801e519 | sorear++ |  (5 files):
03:29 dalek blizkost: Hash iteration should return pairs
03:29 dalek blizkost: For consistency with Parrot itself, and Rakudo.  I had a horrible misconception
03:29 dalek blizkost: about this for a while.
03:29 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​801e5196900fbddb34ab0bbc7d6c5dba32950827
03:30 sorear bacek_at_work: I'm on 2.3.0 :(
03:30 bacek_at_work sorear, bad luck...
03:30 bacek_at_work 2.3.0 is way too old. It was around for AGES.
03:30 bacek_at_work I mean more than one week already :)
03:33 cotto Seriously.  That's old and busted.
03:34 cotto You should be using 2.4.0.
03:34 sorear cotto: I have to interoperate with 2.3.0-specific legacy code
03:34 cotto oic
03:34 sorear specifically, Rakudo
03:34 cotto Heh.  Legacy code.
03:57 bacek_at_work seen rurban
03:57 purl rurban was last seen on #p5p 6 hours, 34 minutes and 37 seconds ago, saying: All the p5 gsoc projects in the last years are not really technical. parrot the opposite. They would really need more housekeeping and less technical invention.
04:24 arnsholt_ joined #parrot
04:30 dalek blizkost: bddf41a | sorear++ | Configure.pl:
04:30 dalek blizkost: Try to warn earlier when problematic configuration is detected
04:30 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​bddf41a9e9483ad2f63efb630148f5eb6db1b865
04:54 khairul joined #parrot
04:55 khairul cotto: Hi cotto, thanks for being my mentor. I'm in the midst of exams now, so won't be free much till 5th may.
05:01 rurban_ joined #parrot
05:02 cotto ok
05:02 cotto Don't let gsoc distract you.
05:02 cotto It's ok to get started during the bonding period but not at all required.
05:07 cotto If you haven't sent in a CLA, now would be a good time.
05:08 cotto what os is mikehh running?
05:08 JimmyZ ubuntu 10.04 RC
05:09 cotto Odd that he'd see the io.t failures.  The test is quite happy for me.
05:09 khairul thanks alot. i'll submit the cla later. have to read it first.
05:10 JimmyZ parrot never builds with me.
05:10 JimmyZ sigh
05:11 cotto orly?  What happens?  What OS are you on?
05:11 JimmyZ TT #888
05:11 JimmyZ win32
05:12 cotto not just any windows, but Chinese windows
05:13 JimmyZ Nope, config_lib.pir can't have chinese words
05:14 cotto Is there an easy way to repro for us decadent westerners?
05:15 cotto or at least us ethnocentric westerners
05:15 cotto ;)
05:17 cotto What does "散花牧人" mean?
05:18 JimmyZ a user name
05:18 purl a user name is the identity
05:18 JimmyZ an
05:18 cotto I have Parrot configured with /tmp/散花牧人 as temp dir.  Let's see what happens.
05:18 JimmyZ purl: an user name?
05:18 purl an user name is the identity
05:19 JimmyZ purl: user name?
05:19 purl it has been said that user name is the identity
05:19 cotto In American English you'd use "a".
05:19 JimmyZ Yeah.
05:19 cotto My build is sad.
05:20 JimmyZ that is parrot only supprot ascii config file?
05:20 JimmyZ err supports
05:20 cotto Urgh.  I hope not.
05:20 cotto I know you can safely use some non-ascii characters.
05:21 JimmyZ another ticket is http://trac.parrot.org/parrot/ticket/326, it built before.
05:23 JimmyZ I removed line 2839, 2840, 2841 in api.c with r40203, and then it pass all.
05:37 nopaste "cotto" at 192.168.1.3 pasted "quick for JimmyZ++" (13 lines) at http://nopaste.snit.ch/20379
05:37 cotto there you go
05:37 cotto I'm not sure if it's correct but it'll let you build again.
05:37 cotto Thanks for complaining.
05:38 cotto In fact, I'm pretty sure it's wrong.
05:38 JimmyZ Thanks.
05:39 JimmyZ once again, could I request a commit bit act as cage cleaner?
05:41 cotto Have you requested one in the past?
05:41 cotto (that won't disqualify you.  I'm just curious.)
05:44 JimmyZ in the past you and coke mentioned it and mikehh
05:44 JimmyZ coincidence, there almost no one on #ps
05:45 cotto No.  People only show up there for the Tuesday meeting.  That's when commit bits need to be requested.
05:45 JimmyZ yes
05:45 cotto Right.  I remember that.  I'll bring it up tomorrow.
05:46 cotto Can you build Parrot ok now?
05:46 JimmyZ I will try it tonight.
05:47 JimmyZ Any way, thank
05:49 cotto sure
06:06 uniejo joined #parrot
06:08 cotto When you have a chance to build, please post whether that patch allows you to build again.
06:09 JimmyZ No problem ;)
06:10 cotto Also, feel free to bump the importance of any bugs that break the build for you.  Having failing tests is bad, but you can't do much of anything if you can't build.
06:12 dalek parrot: r46048 | petdance++ | trunk (6 files):
06:12 dalek parrot: starting to convert the virtual functions to const STRING *
06:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46048/
06:15 fperrad joined #parrot
06:16 fperrad_ joined #parrot
06:17 JimmyZ nopaste
06:17 JimmyZ nopaste?
06:17 purl nopaste is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) or http://paste.scsys.co.uk or http://www.extpaste.com or http://gist.github.com
06:18 nopaste "JimmyZ" at 192.168.1.3 pasted "make smoke failed for cotto(It's not use chinese username.)" (12 lines) at http://nopaste.snit.ch/20380
06:19 JimmyZ aslo see http://smolder.plusthree.com/ap​p/projects/report_details/33485
06:19 JimmyZ err It doesn't use chinese username.
06:22 riffraff joined #parrot
06:23 alexn_org joined #parrot
06:28 viklund joined #parrot
06:45 fperrad_ joined #parrot
06:56 aukjan joined #parrot
07:14 iblechbot joined #parrot
07:18 dalek parrot: r46049 | chromatic++ | branches/compact_pool_revamp/src/gc (4 files):
07:18 dalek parrot: [GC] Moved PMC attribute allocation functions to a different file, where a good
07:18 dalek parrot: compiler can optimize them better in gc_ms_allocate_pmc_attributes().  This
07:18 dalek parrot: improves oofib.pir by 2.109% by making PMC allocation faster.
07:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46049/
07:51 dalek parrot: r46050 | chromatic++ | branches/compact_pool_revam​p/src/pmc/callcontext.pmc:
07:51 dalek parrot: [PMC] Made CallContext PMC avoid unnecessary calls to static
07:51 dalek parrot: ensure_positionals_storage() in PCC hot paths; this improves oofib.pir
07:51 dalek parrot: performance by 1.539% and speeds up PCC in general.  Rethinking the static
07:51 dalek parrot: function might be useful.
07:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46050/
08:07 dalek parrot: r46051 | fperrad++ | trunk/t/op/annotate-old.t:
08:07 dalek parrot: fix warning : Use of uninitialized value $ENV{"TEST_PROG_ARGS"} in pattern match (m//)
08:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46051/
08:21 dalek blizkost: 352d8b6 | sorear++ | perl5.pir:
08:21 dalek blizkost: Add a forgotten newclosure
08:21 dalek blizkost: review: http://github.com/jnthn/blizkost/commit/​352d8b67a1ad0fed7d31cec51951155e13fbb9c1
08:25 sorear What's the PIR syntax for "branch if strings equal"?
08:29 moritz $I0 = iseq $S0, $S1 \n if $I0 goto foo
08:29 moritz or something like that
08:30 JimmyZ if $S0 == 'GET' goto serve_get ?
08:30 moritz I think you have to do it in two statements
08:30 JimmyZ if $S0 == 'GET' goto serve_get # from runtime\parrot\library\HTTP\Daemon.pir
08:30 moritz but my PIR fu is rather week
08:31 nopaste "Austin" at 192.168.1.3 pasted "== 'foo' works" (10 lines) at http://nopaste.snit.ch/20381
08:40 dalek parrot: r46052 | chromatic++ | branches/compact_pool_revamp/src/call/context.c:
08:40 dalek parrot: [PCC] Added a very minor optimization and consted Parrot_pcc_free_registers().
08:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46052/
08:40 dalek parrot: r46053 | chromatic++ | branches/compact_pool_revamp/​compilers/imcc/parser_util.c:
08:40 dalek parrot: [IMCC] Refactored IMCC's INS() instruction creation function slightly to be
08:40 dalek parrot: friendlier to the data cache.
08:40 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46053/
08:47 sorear How do I delegate to the inherited version of a vtable in a PIR override?
08:49 sorear or, hmm, I could just actually inherit
08:58 sorear Is it possible to implement namespaces in PIR?
09:00 JimmyZ PIR supports namespaces
09:00 JimmyZ Isn't it?
09:02 sorear I mean, implementing a NameSpace PMC subclass
09:02 bacek ~~
09:03 sorear the Parrot core seems very insistant on ignoring my homemade namespace
09:03 * sorear is now stepping in gdb
09:11 sorear ooh
09:11 sorear get_class <pmc>  does not return a canonical PMCProxy
09:11 sorear which makes it effectively useless
09:11 sorear I can't use it for inheriting because it doesn't compare same to the results of Parrot_oo_get_class
09:12 Austin You might mean "class <pmc>"
09:12 sorear so it doesn't make VTABLE_isa work
09:12 bacek We do need "a champion" to clean up all this PMCProxy/Class/Object mess...
09:12 dalek parrot: r46054 | fperrad++ | trunk/runtime/parrot/librar​y/ProfTest/PIRProfile.nqp:
09:12 dalek parrot: [prof] fix on Windows ( newline \r\n )
09:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46054/
09:13 Austin Also, IIRC, there's a problem with overriding some of the get_xxx_keyed vtables, so I don't think you can code a full-on namespace in pir alone.
09:13 Austin Sorry.
09:14 sorear It doesn't matter, because I can't even convince Parrot to *accept* my namespace
09:14 sorear inheriting from class 'NameSpace', isa NameSpace is still false
09:15 sorear so Parrot happily decides it's a variable and not a valid namespace
09:15 sorear (isinstanceof considered harmful)
09:18 Austin nopaste?
09:18 purl nopaste is probably http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) or http://paste.scsys.co.uk or http://www.extpaste.com or http://gist.github.com
09:22 snarkyboojum joined #parrot
09:29 gaz joined #parrot
09:33 clinton joined #parrot
10:03 dalek rakudo: 0a04ef3 | (Solomon Foster)++ | src/ (4 files):
10:03 dalek rakudo: Rename Range.minmax to Range.bounds.  Change Any.minmax to return a Range, and take Ranges as arguments, too.  (Though note that in many conditions the Range is expanded to a list going in, which muddles things.)  Add minmax operator which uses Any.minmax internally.
10:03 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​a04ef3c3578836a776fbbd558686fa1110550cd
10:08 bakkdoor joined #parrot
10:17 bacek ( 16256732900 - 15006995754) / 16256732900 * 100
10:17 purl 7.68750494756545
10:19 bacek msg chromatic Branch is 7.68% faster then trunk. I'm going to merge it tomorrow morning at about 8AM SYD.
10:19 purl Message for chromatic stored.
10:37 dalek TT #1577 closed by bacek++: gitignore files
10:37 dalek TT #1577: http://trac.parrot.org/parrot/ticket/1577
10:47 jsut_ joined #parrot
10:57 bakkdoor is there a complete overview of all built-in  past nodes?
10:58 bacek bakkdoor, I don't think so...
10:59 bakkdoor oh :/
11:00 Austin bakkdoor: perldoc  in the pct/src/PAST/Node.pir file
11:01 bacek Austin++
11:01 bakkdoor Austin: ah ok thanks
11:34 bacek Niiice... Why TGE isn't deprecated???
11:39 dalek parrot: r46055 | bacek++ | trunk (24 files):
11:39 dalek parrot: Replace deprecated in-place substr ops
11:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46055/
11:59 bluescreen joined #parrot
12:09 whiteknight joined #parrot
12:11 mikehh get 2 failures in make test - t/compilers/pge/p5regex/p5rx.t and t/compilers/pge/perl6regex/01-regex.t - error:imcc:The opcode 'substr_s_i_ic_sc' (substr<4>) was not found.
12:18 mikehh bacek: so what do you use instead of inplace susstr
12:19 mikehh substr
12:21 bacek mikehh, non-in-place substr or replace
12:32 ash_ joined #parrot
12:40 ruoso joined #parrot
12:41 tetragon joined #parrot
12:43 bluescreen joined #parrot
12:43 Coke (TGE) ISTR allison wanted to keep it.
12:44 Coke there's plenty of other stuff to rip out. go get 'sizeof'
12:46 mikehh bacek: compact_pool_revamp branck All tests PASS up to fulltest at r46055 - Ubuntu 9.10 amd64 RC (g++)
12:47 bacek mikehh, thanks
12:51 bacek Coke, I'll finish strings first!
12:52 Coke bacek: you and your crazy "logical order".
12:52 iblechbot joined #parrot
12:52 bacek It's very new order for parrot!
12:56 uniejo joined #parrot
13:01 rurban_ joined #parrot
13:07 cosimo joined #parrot
13:09 cosimo joined #parrot
13:17 dalek parrot: r46056 | mikehh++ | trunk/t/compilers/pge/p5regex/p5rx.t:
13:18 dalek parrot: change in-place substr to replace
13:18 purl dalek: that doesn't look right
13:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46056/
13:18 dalek parrot: r46057 | mikehh++ | trunk/t/compilers/pge/perl6regex/01-regex.t:
13:18 dalek parrot: change in-place substr to replace
13:18 purl dalek: that doesn't look right
13:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46057/
13:18 dalek parrot: r46058 | fperrad++ | trunk/src/embed.c:
13:18 dalek parrot: fix segmentation fault of pbc_disassemble.exe on mingw
13:18 dalek parrot: (gdb) bt
13:18 dalek parrot: #0  0x686d491d in PDB_free_file (interp=0x3f4050, file=0xbaadf00d)
13:18 dalek parrot:     at src/debug.c:2745
13:18 dalek parrot: #1  0x686d4a75 in PDB_disassemble (interp=0x3f4050, command_unused=0x0)
13:18 dalek parrot:     at src/debug.c:2612
13:18 dalek parrot: #2  0x686d87a2 in Parrot_disassemble (interp=0x3f4050, outfile=0x0, options=0)
13:18 dalek parrot:     at src/embed.c:969
13:18 dalek parrot: #3  0x00401385 in do_dis (interp=0x3f4050, outfile=0x0, options=0)
13:18 dalek parrot:     at src/pbc_disassemble.c:161
13:18 dalek parrot: #4  0x00401527 in main (argc=1, argv=0x3f402c) at src/pbc_disassemble.c:141
13:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46058/
13:18 dalek parrot: r46059 | mikehh++ | trunk/t/compilers/pge (2 files):
13:18 dalek parrot: forgot to change the Copyright
13:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46059/
13:23 atrodo joined #parrot
13:50 dalek parrot: r46060 | bacek++ | trunk (26 files):
13:50 dalek parrot: Remove more deprecated string ops: bitwise, chomp, case and encoding
13:50 dalek parrot: changing.
13:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46060/
13:50 dalek parrot: r46061 | bacek++ | trunk/src/ops (2 files):
13:50 dalek parrot: Resurrect inplace downcase. I can't figure out how PGE emits it for
13:50 dalek parrot: caseless matches...
13:50 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46061/
13:53 plobsing joined #parrot
13:56 JimmyZ joined #parrot
13:57 JimmyZ msg cotto the patch doesn't work for me.
13:57 purl Message for cotto stored.
13:57 dalek lua: c84044b | fperrad++ | lua/lua51.pir:
13:57 dalek lua: Replace deprecated in-place substr ops
13:57 dalek lua: see http://trac.parrot.org/parrot/changeset/46055
13:57 dalek lua: review: http://github.com/fperrad/lua/commit/c8​4044bec651f3f4e20118c1d5c792ba200a493c
14:07 dalek parrot: r46062 | bacek++ | trunk (3 files):
14:07 dalek parrot: Revert "Resurrect inplace downcase" and fix PGE to not emit it.
14:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46062/
14:10 Essobi joined #parrot
14:15 davidfetter joined #parrot
14:18 Coke removed bascorp's spam/account.
14:23 dalek parrot: r46063 | mikehh++ | trunk/t/pmc/namespace.t:
14:23 dalek parrot: remove diag that clutters test output with comment
14:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46063/
14:24 Andy joined #parrot
14:24 bubaflub joined #parrot
14:28 JimmyZ hello bacek
14:30 dalek lua: 1a3df97 | fperrad++ | lua/lib/luastring.pir:
14:30 dalek lua: update downcase & upcase uses
14:30 dalek lua: review: http://github.com/fperrad/lua/commit/1a​3df97619e37575a8c4dadec6c510e93cf7bbee
14:32 dalek tracwiki: v11 | coke++ | TracSpammers
14:32 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Tr​acSpammers?version=11&amp;action=diff
14:32 lucian joined #parrot
14:40 lucian joined #parrot
14:44 dalek TT #1595 created by jimmy++: [PATCH][PCT]removed deprecated in-place ops
14:44 dalek TT #1595: http://trac.parrot.org/parrot/ticket/1595
14:44 fperrad joined #parrot
14:45 khairul joined #parrot
14:51 mikehh bacek: bunch of examples_tests fail in trunk
14:51 dalek rakudo: f8987e4 | (Solomon Foster)++ | src/Perl6/Grammar.pm:
14:51 dalek rakudo: Make minmax have list_infix precedence.
14:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​8987e41c23d3b40f37df381a7661e5917e545e9
14:51 dalek rakudo: cb8446c | (Solomon Foster)++ | src/core/Cool-str.pm:
14:51 dalek rakudo: Add special cases to infix:<cmp> involving +Inf and -Inf (so they can be compared against any type).
14:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​b8446ce343a965b4e8b7de2e862f102c91c6f65
14:51 dalek rakudo: 083e3ea | (Solomon Foster)++ | t/spectest.data:
14:51 dalek rakudo: Turn on S03-operators/minmax.t.
14:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​83e3ea44bdc687e63e658d5cd06d51066b3d16f
14:51 dalek rakudo: 1cdbc19 | (Solomon Foster)++ | src/core/Cool-str.pm:
14:51 dalek rakudo: Revert "Add special cases to infix:<cmp> involving +Inf and -Inf (so they can be compared against any type)."
14:51 dalek rakudo: This reverts commit cb8446ce343a965b4e8b7de2e862f102c91c6f65.
14:51 dalek rakudo: Revert patch because it broke infix:<cmp> pretty badly.
14:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​cdbc19937550dd95c0e09cf0aa4d935a842f7bf
14:56 dalek parrot: r46064 | petdance++ | trunk (7 files):
14:56 dalek parrot: all charset virt funcs now take const STRING *
14:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46064/
14:57 ruoso joined #parrot
14:58 GodFather joined #parrot
15:01 particle purl: be mjd
15:01 purl I, DOMINVS
15:15 mikehh AFAICS all the examples_test failures are missing opcodes (recently removed)
15:20 iblechbot joined #parrot
15:32 dalek rakudo: 8d99ca2 | moritz++ | CREDITS:
15:32 dalek rakudo: update my CREDITS entry
15:32 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​d99ca2bc251b9668beb7d551a27ee9448540fe2
15:32 dalek rakudo: c868fc1 | moritz++ | tools/contributors.pl:
15:32 dalek rakudo: [tools] new script contributors.pl
15:32 dalek rakudo: extracts name of contributors from 'git log', to be included in release
15:32 dalek rakudo: announcements
15:32 purl i guess announcements is a table and who is the column?
15:32 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​868fc125cbc90ac6111a91637e1df2deb4dfe16
15:32 dalek rakudo: 082caee | moritz++ | docs/release_guide.pod:
15:32 dalek rakudo: [docs] instruct release manager to include a list of contributors in the announcement
15:32 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​82caee15e26038b615204b27034563706a16253
15:35 dalek winxed: r452 | julian.notfound++ | trunk/winxedst1.winxed:
15:35 dalek winxed: use s_s_i form of trans_encoding, s_i form is gone
15:35 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=452
15:37 cotto JimmyZ, it'd be very helpful if you could bisect TT #888 to find out which revision broke the build for you.
15:38 NotFound cotto: I think it was the change to assume command line parameters are utf8
15:39 JimmyZ cotto: It's failed about 66 test, though it builds for me.
15:40 cotto ok.  I don't see any test failures, so they may be unrelated to the patch.
15:40 JimmyZ err, built
15:40 cotto win32 doesn't get enough love
15:41 JimmyZ so biescting is unuseful
15:41 NotFound cotto: no strange, given that most of us don't use it.
15:41 cotto ok.  It'd be good to get those other test failures fixed (and verify that my patch is sane) before committing it.
15:42 * cotto heads to work
15:42 nopaste "JimmyZ" at 192.168.1.3 pasted "quick patch for myself, it passed all tests. but I don't it's the right patch FOR cotto" (17 lines) at http://nopaste.snit.ch/20383
15:48 mikehh JimmyZ: codetest will reject the patch - c++ comments not allowed
15:49 JimmyZ mikehh: Yeah, It shouldn't be committed
15:49 Coke mikehh: it's just a POC.
15:49 mikehh or at least object to it
15:50 Coke if it were real, we'd just delete those lines anyway.
15:50 JimmyZ mikehh: Itself was wrong patch
15:51 JimmyZ sigh, poor english again.
15:51 mikehh hey English is my first (and only really) language and I still screw up
15:53 mikehh that is of course spoken as opposed to so-called computer languages - not that I don't screw up there
15:59 * darbelo knows people who have FORTRAN as their first language.
16:00 * mikehh it was mine
16:00 darbelo mikehh: I thought you spoke english ;)
16:01 mikehh hah - was we talkin' or codin'
16:01 Andy ANDY ON CONSTRING FRENXY
16:01 Andy ANDY CONST EVERYTHING
16:02 darbelo "Punched first card at the age of fieve"
16:02 Andy ANDY NOT ABLE TYPE ANDY SO EXCITED
16:02 darbelo Andy: Hulk CONST!!
16:02 Andy darbelo: Probably for me it was about age 4 I think.
16:02 darbelo Andy: In FORTRAN you can make both be the same ;)
16:02 mikehh the first computer I used had paper tape - an IBM 1620
16:03 Andy where's the web page that shows the smoke results?
16:03 theory joined #parrot
16:03 Andy oh found it
16:04 mikehh http://smolder.plusthree.com/​app/projects/smoke_reports/8
16:05 Andy http://tt.taptinder.org/bui​ldstatus/pr-Parrot/rp-trunk iks what I was lookin' for
16:05 Andy thanks.
16:06 cotto_work JimmyZ: that was the first thing I tried.  It works but it's definitely not the right fix.
16:06 NotFound In Russian Fortran formula  translates you.
16:21 mikehh in pir I changed substr target, $I0, 2, "\n" to  target = replace target, $I0, 2, "\n" how do I change substr S3, 5,  1, S2 in pasm
16:22 darbelo target = replace target, $I0, 2, "\n" is sugar for PASM replace target, target, $I0, 2, "\n"
16:23 mikehh 'k
16:26 darbelo Any time you see arg0 = op arg1, arg2 it's the same as op arg0, arg1, arg2
16:28 japhb seen allison
16:28 purl allison was last seen on #parrot 5 days, 20 hours, 23 minutes and 48 seconds ago, saying: is anyone else having trouble getting in to the conf call?  [Apr 21 20:04:32 2010]
16:30 darbelo japhb: She'll most likely be here by the parrotsketch time.
16:32 japhb nod
16:33 darbelo Based, of course, on the answers my magic 8-ball gave after shaking it.
16:33 japhb ah
16:34 darbelo I'm mostly guessing based on past experience. She usssually logs into IRC a few minutes before #ps
16:34 dalek parrot: r46065 | mikehh++ | trunk/examples/japh/japh3.pasm:
16:34 dalek parrot: change in-place substr to replace
16:34 purl dalek: that doesn't look right
16:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46065/
16:34 darbelo Except when she doesn't.
16:35 darbelo The magic 8-ball says "This time for sure" however.
16:35 darbelo Which I find highly encouraging.
16:36 bakkdoor joined #parrot
16:52 darbelo bacek: ping
16:56 whiteknight seen Chandon
16:56 purl Chandon was last seen on #parrot 24 days, 20 hours, 52 minutes and 53 seconds ago, saying: It really depends on the application and the algorithm. For some things, nothing, for others, everything.  [Apr  2 20:03:14 2010]
16:59 riffraff joined #parrot
16:59 particle that's some algorythm
16:59 particle y/y/i/
16:59 chromatic joined #parrot
16:59 darbelo particle: It can be incaurate, but it's for sure fast ;)
17:07 allison joined #parrot
17:10 cotto_work Is this patch a good idea: http://trac.parrot.org/parrot/attachment/t​icket/888/nonascii_chars_in_tmp_path.patch
17:10 chromatic I'd rather do it only if the string contains characters outside of Latin-1.
17:11 cotto_work What's the best way to do that?
17:11 purl i guess the best way to do that is not always by telling you what you think you want to know.
17:11 cotto_work forget the best way to do that
17:11 purl cotto_work: I forgot best way to do that
17:16 chromatic something like grep { $_ > 127 } unpack( "W*", $maybe_has_utf8_chars );
17:21 dalek winxed: r453 | julian.notfound++ | trunk/examples/Xlib.winxed:
17:21 dalek winxed: update hardcoded value in example Xlib
17:21 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=453
17:23 dalek parrot: r46066 | mikehh++ | trunk/src/string/charset/ascii.c:
17:23 dalek parrot: fix codetest failure - line length
17:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46066/
17:23 dalek parrot: r46067 | NotFound++ | trunk/examples/nci/Xlib.pir:
17:23 dalek parrot: fix Xlib search in example Xlib module
17:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46067/
17:39 dalek parrot: r46068 | mikehh++ | trunk/examples/json/postalcodes.pir:
17:39 dalek parrot: change in-place string ops
17:39 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46068/
17:39 purl dalek: that doesn't look right
17:40 mikehh maybe it realy should be replace
17:41 mikehh purl botsnacki
17:41 purl thanks mikehh :)
17:55 joeri joined #parrot
18:10 lucian_ joined #parrot
18:11 kjeldahl_ joined #parrot
18:12 dalek parrot: r46069 | mikehh++ | trunk/examples/library/ncurses_life.pir:
18:12 dalek parrot: replace in-place string ops - I think this example is TODOed but at least it now compiles
18:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46069/
18:24 dalek tracwiki: v27 | allison++ | GCTasklist
18:24 dalek tracwiki: http://trac.parrot.org/parrot/wiki/G​CTasklist?version=27&amp;action=diff
18:25 chromatic compact_pool_revamp is ~7% faster than trunk now.
18:29 dalek parrot: r46070 | mikehh++ | trunk/examples/pge/demo.pir:
18:29 dalek parrot: replace in-place string op
18:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46070/
18:37 whiteknight 7%?
18:37 purl 7% is potentially 100%.
18:37 whiteknight purl, that's the worst math I ever heard
18:37 purl whiteknight: i'm not following you...
18:37 whiteknight of course you're not
18:38 whiteknight chromatic: what does that branch do?
18:42 darbelo It revamps compact_pool()
18:42 tewk joined #parrot
18:42 darbelo It manages string storage in a smarter (and fater) way.
18:43 darbelo s/fater/faster/
18:43 chromatic It removes some stupidity from the GC.
18:43 darbelo That's another way to put it.
18:45 mikehh ok my attempts at replacing upcase and downcase did not work
18:45 dalek parrot: r46071 | mikehh++ | trunk/examples/shootout/revcomp.pir:
18:45 dalek parrot: replace in-place string op
18:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46071/
18:45 dalek parrot: r46072 | mikehh++ | trunk/examples/pir/substr.pir:
18:45 dalek parrot: replace in-place string op
18:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46072/
18:46 chromatic It also has some optimizations that immutable strings made possible.
18:47 darbelo mikehh: bacek fixed some stuff with downcase in TGE, have you seen it?
18:47 chromatic Informed guess: trunk is 10-11% faster than 2.3.0.
18:48 darbelo mikehh: r46062, I think
18:48 Coke chromatic: not bad for a week's work.
18:48 Coke (i know, I know, a week's commits on trunk != a week's work.)
18:49 mikehh darbelo: I looked, but imcc reports errors and when I try to change it still get an error
18:49 chromatic If we can turn more STRINGs into PBC constants, we might see even more benefit in Rakudo.
18:49 darbelo mikehh: Can you nopaste the errors?
18:49 * mikehh need to take a bit of a break before I do something really stoopid
18:50 mikehh t/examples/catchall.t .. 51/149 error:imcc:The opcode 'upcase_s' (upcase<1>) was not found. Check the type and number of the arguments
18:50 mikehh in file 'examples/pir/pirric.pir' line 419
18:51 mikehh I tried changing the got:
18:51 mikehh t/examples/catchall.t .. 40/149 error:imcc:The opcode 'upcase_s_p' (upcase<2>) was not found. Check the type and number of the arguments
18:51 mikehh in file 'examples/pir/pirric.pir' line 1799
18:52 mikehh there are a bunch in the file
18:52 avar joined #parrot
18:52 NotFound mikehh: I'll take care, pirric is my toy.
18:53 * Coke stares at http://www.cpan.org/src/parrot.txt
18:53 mikehh NotFound: 'k - I'll look when you have done it :-}
18:53 darbelo ls
18:55 mikehh anyway I think I am going squint - I can't see the screen anymore - bbl - in time for #ps I hope
19:00 NotFound What's the modifier to put a method in the namespace?
19:00 cotto_work :nsentry
19:00 purl i heard :nsentry was a new feature, no deprecation involved
19:07 avar left #parrot
19:08 particle purl, no, :nsentry is the pir modifier to put a method in the namespace
19:08 purl okay, particle.
19:17 smash joined #parrot
19:17 smash hello everyone
19:20 Coke smashing!
19:31 Andy joined #parrot
19:34 dalek parrot: r46073 | NotFound++ | trunk/examples/pir/pirric.pir:
19:34 dalek parrot: stop using deprecated and gone features in example pirric
19:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46073/
19:34 dalek parrot: r46074 | mikehh++ | trunk/examples/shootout/knucleotide.pir:
19:34 dalek parrot: replace in-place string ops
19:34 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46074/
19:41 mikehh cotto_work: the test y/op/io.t was failing another ASSERT which dukeleto++ fixed - so it passes for me now
19:41 mikehh s/y/t/
19:42 cotto_work OK.  Can you close the bug?
19:46 mikehh NotFound: do you still have problems related to TT #1592, or can we close it now?
19:47 NotFound mikehh: My problem is that I don't know what that test is testing
19:48 dalek lua: f2bd831 | fperrad++ | dynext/pmc/lua (2 files):
19:48 dalek lua: now Parrot strings are immutable
19:48 dalek lua: review: http://github.com/fperrad/lua/commit/f2​bd8316d458334f9c2088d3c0048f65df80fc29
19:48 NotFound mikehh: the example i put in the ticket still segfaults.
19:49 cotto_work I suspect that it falls under the "don't do that" category.
19:49 NotFound cotto_work: Don't HLL map a PBC? =:O
19:50 NotFound PMC
19:50 cotto_work No.  Don't hll map RPA to FileHandle.
19:50 mikehh NotFound: have to ask dukeleto about that, but is the test still failing for you? Maybe we should open a new ticket.
19:50 cotto_work (but handling the case wouldn't be a bad idea)
19:51 NotFound cotto_work: RPA is used for brevity. I'm not going to write a language with a dynamic PMC fof FileHandle just to test that.
19:52 rurban chromatic: already timed immutable strings?
19:53 cotto_work #ps in 38
19:54 NotFound The problem is not the example, is the lack of logic in the procedure.
19:56 mikehh NotFound: BTW re pirric - I thought I did all that - well maybe not the :nserntry bits, must have messed up somewhere (didn't commit it anyway)
19:56 NotFound mikehh: I don't care if the test pass, because I don't know what is testing for. You can do some nasting things and still write some code that pass? Sure, I don't need a test to verify that X-)
19:57 mikehh NotFound: yeah - there are some tests I am very dubious about
19:57 NotFound mikehh: I've already commited the fix.
19:58 mikehh NotFound - that's what I was looking at - can't see what I did wrong when I tested it - never mind, lot's more to do :-}
20:00 NotFound I don't like the :nsentry but is the quickest fix I've found.
20:03 eternaleye joined #parrot
20:08 Austin_Hastings joined #parrot
20:09 Util PDD19 and book draft ch11 both mention a 2-arg form of the .meth_call directive, where the second arg is RETCONT.
20:09 Util 1) Is the 2-arg form actually supported?
20:09 Util 2) Are there any examples of the 2-arg .meth_call in anyone's working code?
20:09 Util 3) Is there an equivalent non-directive form with RETCONT, (like ` r = obj."method"(x, y, z) ` is a alternate way to write a non-RETCONT method call)?
20:13 nopaste "darbelo" at 192.168.1.3 pasted "Sample file-based config for RTEMS cross-compiles, still has some way to go." (80 lines) at http://nopaste.snit.ch/20385
20:14 darbelo bubaflub: See http://nopaste.snit.ch/20385, it was half-working for me on a fedora box when I left it.
20:14 bubaflub darbelo++
20:14 bubaflub i'm glad we both got to rock the GSoC this year
20:15 darbelo Yeah, me too.
20:16 NotFound Util: I don't see that in pdd19
20:18 ttbot Parrot trunk/ r46075 MSWin32-x86-multi-thread make error http://tt.taptinder.org/file/cmdout/284591.txt ( http://tt.taptinder.org//bui​ldstatus/pr-Parrot/rp-trunk/ )
20:19 Coke that actually doesn't look like a bug in the build.
20:20 darbelo Coke: Is there a way to tell checkdepend.pl that I only care about a specific subset of the failures?
20:20 Util NotFound: In the example code on line 1391 of pdd19:
20:21 Util .meth_call "method" [, $P1 ] # r = obj."method"(x, y, z)
20:21 japhb I saw in passing earlier someone had talked about a press release for our GSoCs ... is that live somewhere?
20:21 Util the bracketed $P1 is the optional second argument
20:22 NotFound I wonder what tha example exemplifies. What's supposed to be on $P1?
20:23 dmagnus joined #parrot
20:23 nopaste "darbelo" at 192.168.1.3 pasted "Cobled together rtems hints file to go with the config file. It's not completely coprrect, since I made some changet that I0ve since lost." (64 lines) at http://nopaste.snit.ch/20386
20:23 dalek parrot: r46075 | mikehh++ | trunk/examples/shootout/regexdna.pir:
20:23 dalek parrot: replace in-place string ops
20:23 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46075/
20:23 darbelo bubaflub: Also see http://nopaste.snit.ch/20386
20:23 Coke darbelo: you seem to be able to pass in file names...
20:24 NotFound <allison> - Experimented with HLLs that compile to pure assembly (no runtime) and bypassing NQP, for a lightweight language. --> Are you trying to beat Winxed? ;)
20:25 allison NotFound: nah, just experimenting
20:25 darbelo Coke: Oh, hadn't seen that. I'll play with that later in the week.
20:25 allison NotFound: mostly a course assignment
20:26 NotFound allison: Feel free to borrow from Winxed if you want.
20:27 allison Coke: re #389 and rakudo, yes it probably is p6object, I had to tag a few of those methods with :nsentry
20:29 NotFound How can I look for a method given a class object? inspec_str('methods')['methodname'] ?
20:30 Coke allison: I have to leave halfway through the new meeting time.
20:30 allison Coke: makes sense
20:31 Coke allison: I think jnthn is looking at that tonight.
20:35 bluescreen joined #parrot
20:36 Topic for #parrotis now Parrot 2.3.0 Released | http://parrot.org/ | Channel log: http://irclog.perlgeek.de/parrot/today | Priority: apply deprecations, merge branches, test compact_pool_revamp and exceptions_refactor branches | Review and vote GSoC applications
20:41 particle aye, i spoke to jnthn, he's hoping to update rakudo tonight
20:42 Topic for #parrotis now Parrot 2.3.0 Released | http://parrot.org/ | Channel log: http://irclog.perlgeek.de/parrot/today | Priority: apply deprecations, merge branches, test compact_pool_revamp and exceptions_refactor branches | welcome our GSoC students
20:53 cotto_work Coke: lkm when jimmyz's commit bit is flipped.
20:53 Coke I'll even lyk.
20:54 cotto_work yeah.  that.
20:54 purl hmmm... yeah. that is an impediment.
20:56 dalek parrot: r46076 | NotFound++ | trunk/examples/pir/pirric.pir:
20:56 dalek parrot: stop using get_global to check methods and drop the no longer needed :nsentry modifers in example pirric
20:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46076/
21:01 rurban_ joined #parrot
21:02 eternaleye joined #parrot
21:13 Whiteknight joined #parrot
21:16 lucian joined #parrot
21:17 TiMBuS joined #parrot
21:19 plobsing joined #parrot
21:21 darbelo smash: I've done some small work in corss-compilation, I've already sent some of my results to bubaflub. The most important features on that front are file-based configuration and out-of-tree building.
21:22 darbelo file-based config works, building out-of-tree doesn't.
21:22 smash darbelo: *nods*
21:23 darbelo Making parrot's src tree look like the installed tree will probably help a lot in that regard.
21:23 particle joined #parrot
21:23 allison darbelo: do we want that, or do we want to build into a separate tree?
21:23 allison darbelo: like, a build/ directory at the top level?
21:24 smash even the configuration process isn't cross-compilation friendly
21:24 particle sigh
21:24 NotFound darbelo: Is possible to dump Configure result to a file and use it in another platform?
21:24 darbelo NotFound: Not really, http://nopaste.snit.ch/20385 is as close as you can get to that.
21:25 chromatic joined #parrot
21:25 NotFound It will be halpful for example to run Configure in mingw under windows and use it in a linux mingw package.
21:26 darbelo If you know what the Configure probes would find, you can put that in a file like the one I nopasted and have th ebuild mostly work.
21:26 bacek Good morning, humans.
21:28 darbelo smash: It involves a little more work than a native build, but file-based-configuration should be powerful enough to support cross compilation.
21:28 darbelo smash: The real problem is in the makefiles.
21:28 bacek chromatic, ping
21:28 chromatic pong
21:28 bacek Any objections on merging now?
21:28 smash darbelo: file-based-configuration would be a good step yes
21:29 chromatic Merge away!
21:29 darbelo smash: We have, even if we do not advertise, file-based-configuration.
21:30 darbelo perldoc Configure.pl for more info.
21:30 darbelo What you want is under the "CONFIGURATION-FILE INTERFACE" heading.
21:31 smash great, will dig into it.. thks
21:31 bacek Done. r46077
21:31 chromatic Bang!  Kapow!
21:32 bacek Cheap karma to someone with svn checkout. Few branches can be removed now.
21:32 darbelo smash: The examples are outdated and reference steps that have been removed, so watch out.
21:32 darbelo bacek: which branches?
21:32 bacek compact_pool_revamp, immutable_strings_part2, strings_consting
21:33 tcurtis joined #parrot
21:33 smash darbelo: ok, thks
21:33 bacek Whiteknight, ping. Do you still need compact_strings branch?
21:34 bakkdoor i have a problem with my action for integer literals. it tells me: "Method 'item' not found for invocant of class 'Regex;Match'" any ideas?
21:34 bacek And looks like tt389_fix isn't useful anymore.
21:34 bacek bakkdoor, you probably want to call .ast first
21:34 bacek bakkdoor, or just stringify it via ~
21:35 dalek TT #1272 closed by mikehh++: Problems with codetest on files in ext/ directory (should ext/ be included ...
21:35 dalek TT #1272: http://trac.parrot.org/parrot/ticket/1272
21:35 allison bacek: yes, tt389_fix can be removed
21:35 Topic for #parrotis now Parrot 2.3.0 Released | http://parrot.org/ | Channel log: http://irclog.perlgeek.de/parrot/today | Priority: apply deprecations, merge branches, test exceptions_refactor branch | welcome our GSoC students
21:36 particle no codetests on ext/ please!
21:36 bakkdoor bacek: within the action for integer literals? i basically have the same code as for example in the squaak example language..
21:37 chromatic Please hold off on removing tt389_fix, if that's the one I think it is.
21:37 bakkdoor bacek: and there's no call to .ast as well
21:37 bacek chromatic, I'm going to create StringBuilder PMC soon. Just to offer "canonical" way of creating strings in immutable world.
21:38 particle will the recent branch merges make it harder for rakudo devs to get compiling on parrot's head of trunk?
21:38 chromatic Let's try it as a dynpmc first.
21:38 bacek bakkdoor, squaak is slightly outdfated. .ast used to be $()
21:38 chromatic particle, they should have no effect.
21:38 particle excellent.
21:38 particle jnthn++ said he'd try to get rakudo working tonight or tomorrow
21:38 bakkdoor bacek: so, I should use .ast where I'm currently using $( .. ) instead?
21:38 bacek bakkdoor, yes.
21:38 chromatic I'd like to see Rakudo using trunk again.  I want to profile it.
21:39 particle $(...) has been deprecated
21:39 bakkdoor bacek: alright. i'll try that
21:39 particle yeah, and rakudo is looking forward to the speedups
21:40 bacek bakkdoor, check r45980. I updated squaak to "modern parrot" recently.
21:40 bakkdoor bacek: now i'm getting this: "too few positional arguments: 2 passed, 3 (or more) expected"
21:40 bakkdoor bacek: alright, i'll look at it
21:40 plobsing chromatic: I'm looking at implementing that frozen string as PBC const optimization
21:40 bacek bakkdoor, can you nopaste you code?
21:41 plobsing We currently traverse the PMC constant object graphs too late because imcc has already allocated the space for the constants
21:42 GeJ `gmake test` PASS on FreeBSD/amd64 with trunk @r46079
21:42 NotFound BTW, we need a packfiledebug.pmc
21:42 plobsing I see 3 options: 1.) traverse the objects again at an earlier time
21:43 plobsing 2.) rearrange IMCC so it makes use of smaller sections which it only concatenates at the end
21:43 plobsing 3.) use this as an opportunity to use the PackFile PMCs in stead of the structs
21:43 chromatic What's your preference?  I know mine.
21:44 NotFound Mine is 3)
21:44 plobsing 1.) Is probably easier, 3.) is probably cleaner
21:44 chromatic How much easier is "easier"?
21:45 * bacek vote for "3"
21:45 dalek parrot: r46077 | bacek++ | trunk (14 files):
21:45 dalek parrot: Merge branch 'compact_pool_revamp'
21:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46077/
21:45 dalek parrot: r46078 | darbelo++ | branches/compact_pool_revamp:
21:45 dalek parrot: Branch has merged to trunk as is no longer needed.
21:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46078/
21:45 dalek parrot: r46079 | darbelo++ | branches/immutable_strings_part2:
21:45 dalek parrot: Branch has merged to trunk as is no longer needed.
21:45 purl i already had it that way, dalek.
21:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46079/
21:45 dalek parrot: r46080 | darbelo++ | branches/string_consting:
21:45 dalek parrot: Branch has merged to trunk as is no longer needed.
21:45 purl i already had it that way, dalek.
21:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46080/
21:45 NotFound plobsing: my experiments with pirado show that using the packfile pmc is not hard.
21:46 plobsing Its not using the packfile PMC, its that the structs (and their use) is woven into imcc (which I try to avoid touching)
21:46 chromatic Removing code from IMCC can only help.
21:46 plobsing fair enough. 3.) it is.
21:46 chromatic From a scheduling point of view, how much work is it to do #1 instead of #3?
21:47 NotFound But as I said, we still need a packfile for the pir debug segment.
21:47 chromatic Rough estimates are fair.
21:47 NotFound Er, a pbc
21:47 plobsing chromatic: #1 I can do on my own in >1 week.
21:47 plobsing (probably)
21:47 NotFound Ugh, a PMC
21:47 NotFound Mst sleep
21:48 plobsing with #3, that seems like an unlikely timeline
21:48 plobsing s/>/</
21:48 chromatic Does #1 preclude, help, or hinder #3?
21:49 plobsing It does nothing to help or hinder. It's my way of avoiding IMCC.
21:49 bacek OTOH, we can just use consttable from pf during freezeing/thawing Subs.
21:49 plobsing (which is what would be changing for #3)
21:50 chromatic Okay.  We could get at least some of the benefit of this optimization sooner if we do #1, and it doesn't hurt our chances of doing #3 as well.
21:50 particle what will a second traversal to for freeze timings?
21:51 plobsing most of these objects are shallow
21:51 particle that's promising
21:51 chromatic Also freezing less data means going faster.
21:52 chromatic I can imagine PBCs getting 20% smaller.
21:52 chromatic At least, NQP-generated code.
21:52 bacek msg jimmyz Your commit bit approved. I'll leave TT#1595 for you :)
21:52 purl Message for jimmyz stored.
21:53 chromatic How about this?
21:53 purl this is rithgt
21:53 chromatic plobsing works on #1 in the next week, and makes a wiki page with notes on doing #3.
21:53 chromatic NotFound creates the missing PMC.
21:53 chromatic We try to merge #1 as soon as possible, then make a plan to make #3 feasible.
21:53 NotFound chromatic: that's already my intention.
21:53 chromatic This gives us concrete information on how much of a benefit we get from #1 without requiring a huge investment in IMCC.
21:55 NotFound Thres is some doc about the steps for adding a new core PMC?
21:56 bakkdoor bacek: sorry, for the delay. had to answer a phone call. heres my code (extract): http://nopaste.info/8ee85a633b.html
21:56 bacek NotFound, just dump .pmc file into src/pmc/
21:56 plobsing you'll have to bump pbc compat and remake the native pbcs as well (PMC numbering is part of PBC)
21:57 bacek bakkdoor, try "method literal_value($/, $key?)"
21:57 NotFound We are in 6.9... Are two digits supported?
21:58 bacek NotFound, should be.
21:58 darbelo Shouldn't there have been a major bump for the release?
21:59 bakkdoor bacek: that gives me: "Method 'ast' not found for invocant of class 'Undef'"
21:59 dalek tracwiki: v28 | bacek++ | GCTasklist
21:59 dalek tracwiki: compact_pool is revamped now
21:59 dalek tracwiki: http://trac.parrot.org/parrot/wiki/G​CTasklist?version=28&amp;action=diff
21:59 bacek darbelo, gerd missed it...
21:59 bakkdoor bacek: and whats the question mark in $key? for ?
21:59 bacek bakkdoor, "optional"
21:59 bakkdoor bacek: ah ok.
22:00 bacek bakkdoor, you have to check manually if it's passed. In nqp-rx '{*}' is optional as well an invoked implicitly at the end of rule
22:01 bacek s/an/and/
22:01 dalek parrot: r46081 | plobsing++ | branches/pbc_frozen_strings1:
22:01 dalek parrot: create branch to try low-cost, unclean implementation of PBC constant strings optimization
22:01 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46081/
22:02 bakkdoor bacek: but where's the Undef coming from? i only have integer literals currently in literal_value (as shown in my code)
22:02 bacek bakkdoor, on second call to "literal_value"
22:03 bacek bakkdoor, without $key passed
22:03 bacek afk #morning duties, $dayjob
22:04 bakkdoor bacek: but why is it called twice? my parsetree only has one literal value node
22:04 bacek "In nqp-rx '{*}' is optional as well and invoked implicitly at the end of rule" :)
22:05 bacek Check nqp-rx sources for more inspirations :)
22:07 bakkdoor bacek: ah I see. alright thanks
22:25 Austin bakkdoor: http://nopaste.info/e785a9d4b4.html
22:25 * Coke finds a CLA from jimmy in a dusty old corner of gmail.
22:25 Austin whoops
22:25 Austin ${key} = {$key}
22:26 bakkdoor Austin: yeah, i did it like that. now it's kinda working. :) well all i have for now are assignments. but more will come ;)
22:26 Austin woot
22:27 bakkdoor :)
22:27 Austin Keep in mind the squaak stuff is dated by now - pmichaud++ has done a bunch of work on nqp(-rx), and so there are some differences between the tutorials and the current state of the system
22:27 bakkdoor i still have to get used to the grammar & action stuff. i'm used to bison&flex. they're quite a bit different
22:27 bakkdoor Austin: yeah, i realized that ^^
22:28 Coke msg jimmyz I just need to confirm your trac.parrot.org ID before I can flip the commit bit.
22:28 purl Message for jimmyz stored.
22:28 * Coke has a guess, but wishes it confirmed.
22:29 bakkdoor Austin: where can i find the latest squaak version? its not here: https://svn.parrot.org/languages/ . in the git repo (master branch)?
22:29 Util NotFound: re: how to check a method - http://gist.github.com/381431 has my code example. Short answer: use `can` on an object, or `inspect class, 'methods'` on a class.
22:30 Austin I dunno, bakkdoor.
22:31 cotto_work Coke: his trac id is jimmy
22:31 cotto_work http://trac.parrot.org/parrot/ticket/888 is one of his bugs
22:32 Austin Util: Not for nothing, but classes have a .find_method($name) method, too.
22:32 Util Austin: Thanks!
22:32 Austin It searches the mro, so it will get parentclass methods if available (by default).
22:33 jnthn joined #parrot
22:34 jnthn Hi
22:34 purl niihau, jnthn.
22:34 jnthn purl: I don't miss you at all.
22:34 purl jnthn: i'm not following you...
22:34 jnthn Good.
22:34 jnthn http://gist.github.com/381436
22:34 darbelo bakkdoor: examples/languages/squaak/  in a parrot checkout.
22:35 jnthn This is a pure PIR, no Perl 6 required at all, very short example of why Rakudo doesn't work on current Parrot
22:35 jnthn In a nutshell, it seems that adding a method to a PMC doesn't work if it's only marked :method
22:35 Austin Yeah.
22:35 Austin That's a "feature."
22:35 jnthn It's wrong.
22:35 * jnthn files ticket.
22:35 chromatic That's why I asked not to delete the tt389_fix branch.
22:36 jnthn Huh?
22:36 Util bakkdoor: several parts of http://en.wikibooks.org/wiki/Parro​t_Virtual_Machine/Squaak_Tutorial were updated this month to work with the current Parrot
22:36 jnthn branch in...Rakudo?
22:36 chromatic In Parrot.
22:36 jnthn Ah.
22:36 jnthn :-/
22:36 bakkdoor darbelo, Util: thanks!
22:36 chromatic I agree.  It's wrong.
22:36 jnthn So is there already a ticket with this example?
22:36 jnthn If so, should I add to it?
22:37 chromatic I'm not aware of one.  If there is, we can merge the dups.
22:37 jnthn I've golfed my way from the Rakudo build fail down to the gist I pasted, anyway.
22:37 jnthn OK, will file.
22:37 chromatic I had a feeling we'd find something like that.  Thanks for confirming.
22:37 Coke I'd add it to tt #389.
22:37 Coke (instead of opening a new ticket.)
22:38 bakkdoor btw, who is making the debian/ubuntu packages for parrot?
22:38 darbelo allison, IRC
22:38 darbelo Eh, IIRC.
22:38 Coke one wonders why declaring a :method in a namespace means "add a method" not "put this sub in this namespace.".
22:38 Coke (the syntax on that is LTA)
22:38 bakkdoor ah ok. because the latest version is still 2.0 ;)
22:39 jnthn Coke: How do you declare a method that's not in a namespace? :)
22:39 Austin Actually, Coke, I thought that saying ".sub" meant "put this sub in the namespace," and that adding ":method" on top of it meant "and it's a method."
22:39 chromatic TT #389 says don't put methods in the namespace.
22:40 chromatic Except that you have to put methods in the namespace if the namespace represents a PMC.
22:40 chromatic Unless that PMC has a class associated with it, like if it's subclassed from PIR.
22:41 darbelo How cute.
22:41 Austin Well, when you put it that way it makes total sense...
22:41 chromatic For my next trick, let me tell you how method dispatch works.
22:41 chromatic There are two method dispatchers.
22:41 chromatic There are two method caches.
22:41 chromatic One method dispatcher doesn't look in the namespace for methods, because methods don't go in namespaces.
22:41 chromatic The other method dispatcher looks in the namespace for methods, because built-in PMCs don't have classes.
22:41 chromatic Usually.
22:41 purl usually is the key word
22:42 Coke jnthn: "add_method" ?
22:42 Austin jnthn: $namespace.get_class.add_method($name, &sub)
22:42 chromatic add_method is a bad fix, because we already have a perfectly valid way of marking something as a method.
22:42 chromatic It's :method
22:43 jnthn TT#1596 - feel free to merge it as you see fit though.
22:43 allison chromatic: what #389 says is that methods don't get stored in the part of the namespace accessible for sub lookups
22:43 chromatic Sure, but I don't want to type all of that by way of explanation.
22:43 allison chromatic: it's fine to cache them in a separate table in the namespace object waiting for the class to be created
22:44 jnthn Coke: I'm sure I *could* find workarounds, but I'd rather the bug was fixed.
22:44 allison once the class is created, the cache disappears
22:44 chromatic Except that that strategy didn't work, which is why the branch stalled.
22:44 jnthn allison: I thought we once had something like that, fwiw.
22:45 * jnthn hasn't looked at that area of the code in a long, long time though.
22:45 allison there are a few places in p6object that depend on being able to look up certain methods as sub
22:45 allison but, it's a simple fix, just add :nsentry to those specific methods
22:45 jnthn allison: I've got some (local) patches to p6object too.
22:45 jnthn allison: If you're looking at add_parent anyway.
22:46 jnthn Though it turns out we're not running into anything in p6object.
22:46 jnthn At least, not *yet*.
22:46 jnthn The current build fail is purely the :method-doesn't-add-method-to-PMC issue.
22:46 allison jnthn: do you have more details on what the Rakudo failure was after tt389?
22:46 Coke Might be important to note that you don't need an overridden core pmc for that to fail. snippet also fails on a new class.
22:47 allison jnthn: doesn't add it to a C-level PMC?
22:47 jnthn allison: In the case I've run into, yes.
22:47 allison jnthn: did that ever work?
22:47 jnthn allison: I'm pretty sure it *is* the same issue.
22:47 jnthn Erm, as in, is the same issue that we ran into directly after tt389.
22:48 Coke (did that ever work) yes.
22:48 jnthn I get the same backtrace now as I saw reported when people first tried it.
22:48 chromatic It worked because methods were stored *both* in the namespace as subs and in the method hash of classes.
22:48 allison it must be adding the methods to the proxy object
22:48 jnthn allison: Yes, it did - evidenced by the fact that Rakudo is now broken. :-)
22:48 allison since it can't store them on the actual PMC
22:48 allison (there's no way to dynamically add methods to a static C PMC)
22:49 jnthn Oh? Ouch.
22:49 allison jnthn: can you produce a PIR test of the behavior?
22:49 * jnthn kinda expected those would end up getting looked up through PMCProxy.
22:49 Coke whoops. I lied. it does work when done on a new class, with or without :nsentry.
22:49 jnthn allison: I just filed at ticket with one - http://trac.parrot.org/parrot/ticket/1596
22:49 allison jnthn: (it's clearly not tested now, or would have been caught already)
22:50 chromatic But it *was* tested.
22:50 jnthn allison: What's in the ticket doesn't depend on anything Rakudo related at all (golfed it down from the original issue - we actually have a dynpmc, but I don't believe that plays into it, since it fails the same way with a Parrot built-in PMC too.)
22:50 chromatic This was the failure on the P6Object test I had on tt389_fix.
22:50 allison jnthn: is it only HOW and siblings?
22:51 allison jnthn: because I ran into that during the merge
22:51 allison jnthn: and the problem was in p6object looking up methods in the namespace
22:51 chromatic PMCProxy also has nothing to do with this.
22:51 dalek parrot: r46082 | plobsing++ | branches/pbc_frozen_strings1 (2 files):
22:51 dalek parrot: add ImageIOStrings pmc to traverse objects and get their strings
22:51 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46082/
22:51 jnthn allison: The fact that the method is called HOW is unimportant to the bug report, if that's what you mean.
22:51 allison jnthn: I'll dig up the lines of code
22:51 allison jnthn: not how it's called, how it's created
22:51 chromatic Methods on built-in PMCs get stored in pmc->vtable->_namespace
22:51 Coke allison: did you look at his code?
22:51 jnthn allison: The method isn't "created".
22:52 jnthn It's just a PIR method marked :method
22:52 jnthn allison: The issue is also seperate from any P6object bug.
22:52 purl okay, jnthn.
22:52 jnthn purl: I still hate you and am overjoyed we don't have you on #perl6.
22:52 purl jnthn: i'm not following you...
22:52 allison yah, but proto was doing some fancy business of looking up methods in the namespace
22:53 Coke let's ignore P6O for a minute.
22:53 jnthn allison: My current blocker isn't a P6object issue though.
22:54 cotto_work plobsing: imageiostrings.pmc has some leftovers from imageiosize.pmc
22:54 allison Coke/jnthn: the similarity may be a red herring
22:54 jnthn allison: I agree there may be issues there.
22:54 jnthn allison: But until the current issue I hit that's independent of it is resolved, I can't actually get far enough into the Rakudo build to know.
22:54 Coke allison: the bug is in /pure pir/
22:54 purl Hmm.  No matches for that, Coke.
22:55 jnthn Coke: Right. I thought that if I took the time to get down from the whole Rakudo to a 12 line PIR program, it would make things easier. :-)
22:56 Coke Me too.
22:56 chromatic It's definitely easier.  I know what the bug is and why.  Someone please listen to me.
22:57 allison chromatic: I'm listening, but I'm not sure you're right
22:57 chromatic I know I am.
22:57 chromatic I debugged this months ago.
22:57 chromatic I'm looking at the culprit code right now.
22:57 chromatic I spent a week tracing it down.
22:57 chromatic I predicted your version of the TT #389 fix wouldn't work.
22:57 jnthn allison: Unless Parrot has epicly changed in this area since I used to hack on Parrot, chromatic is almost certainly correct.
22:58 allison chromatic: the thing is, built-in PMCs don't store methods in the namespace either
22:58 plobsing cotto_work: where?
22:58 chromatic Please see src/pmc/default.pmc lines 557 through 560.
22:58 dalek TT #1596 created by jonathan++: PIR methods fail to be added to PMCs unless marked :nsentry
22:58 dalek TT #1596: http://trac.parrot.org/parrot/ticket/1596
22:59 allison chromatic: and, even if you are right about the cause, the fix is to change it so that no method dispatcher looks in the namespace
22:59 chromatic I agree.
22:59 chromatic That was damn hard.
22:59 chromatic That's why the branch stalled.
22:59 chromatic Whiteknight and I couldn't figure out the right way to do it.
22:59 cotto_work plobsing: right at the top.  Just look for 'imageiosize'.
23:00 * jnthn 's hope of a quick resolution starts to ebb away
23:00 allison jnthn: it's not *that* difficult
23:00 chromatic Did you try?
23:01 allison chromatic: the code in default PMC is fine
23:01 chromatic Did you debug this?
23:02 allison chromatic: NameSpace's "set_pmc_keyed" does correctly divert methods to the separate cache instead of putting them in the main namespace storage
23:04 chromatic No, it doesn't.
23:05 jnthn allison: But unless get_pmc_keyed also goes looking there, line 1050 in oo.c isn't going to end up looking in said seperate cache.
23:05 jnthn And if it does it's a horrible entanglement of hate.
23:05 chromatic It's indeed a horrid entanglement of hate, and it doesn't work the way anyone thinks it should.
23:06 chromatic I know it works the way I described it, because I traced my way through the whole hateful thing to figure out what was happening.
23:06 tetragon joined #parrot
23:06 * Whiteknight apparently has a lot of backlogging to do
23:06 Coke I'm adding jnthn's test.
23:07 allison looks like the problem is in src/oo.c, the static function find_method_direct_1
23:07 Whiteknight find_method_direct_1 is horribly broken, as I understand it
23:07 Whiteknight but I wasn't able to figure out why it appears to "work" mostly, or how to fix it so it doesn't stop working
23:07 allison yes, it's doing a VTABLE_get_pmc_keyed_str directly on the namespace
23:08 allison which won't work
23:08 * Coke ponders how to fail() a test in parrot.
23:08 Whiteknight it appears also to be recursing on a different PMC type
23:09 allison besides which, we have a find_method interface for a reason
23:09 chromatic Here is where the "easy" fix gets fun.  There are order of initialization concerns.
23:09 allison well, it's a static function, and only called in one place
23:09 chromatic Yes, from default's find_method VTABLE.
23:09 jnthn allison: We reach this function after going through find_method.
23:11 allison chromatic: but, it's calling VTABLE_get_namespace on the class object, so the class object must already exist by the time it's called
23:11 chromatic _class there means PMC
23:11 chromatic Don't mistake it for an instance of Class
23:11 Whiteknight yes, the names are all wrong
23:11 Whiteknight _class is the instance, not the metaclass
23:11 Whiteknight although when it recurses, _class does become the metaobject
23:11 allison if not, we can alter it to look in the cache in the namespace if the class object doesn't exist yet
23:12 allison and do a real lookup if the class object does exist
23:12 Coke test added.
23:13 chromatic Good luck.  I tried something like that.  It's not as easy as it looks.
23:14 Whiteknight the problem is order-of-initialization at Parrot startup
23:14 Whiteknight that's a tangled web where many things are interdependent
23:15 chromatic Though if you decide the code can be ugly and you don't have to create a PMCProxy for every PMC at startup, maybe you can avoid that mess.
23:15 Whiteknight at steady-state, the solution is easy. It's startup where the problems and special cases happen
23:15 chromatic Maybe you only create a PMCProxy when something tries to invoke a method on a builtin.
23:16 chromatic Oh right, that mess with vtable->pmc_class.
23:17 allison Whiteknight: we already know it has a namespace object there, since the current code is using it
23:18 allison Whiteknight: we don't know if the namespace object has a class, but that can be worked around
23:18 Whiteknight allison: but methods on built-in types aren't stored in the namespace at that point
23:19 allison no, they're stored in a cached in the namespace
23:19 allison and the cache is later sucked into the class
23:19 allison anyway, working on a fix, will try it
23:20 allison it will likely involve adding 'inspect' to NameSpace, any objections?
23:20 allison (it really should have it anyway)
23:24 Whiteknight no objections from me
23:24 Whiteknight what if we had a MethodCache PMC type?
23:25 * jnthn wears a slightly puzzled look
23:25 dalek parrot: r46083 | coke++ | trunk/t/oo/methods.t:
23:25 dalek parrot: Add a test for TT #1596
23:25 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46083/
23:25 darbelo Whiteknight: How would that help here?
23:25 Whiteknight we could have a pointer to the MethodCache wherever it lives: in the namespace originally, then in the PMCProxy later
23:26 chromatic You're forgetting something.
23:26 darbelo Whiteknight: What if I add a method to the MethodCache?
23:27 darbelo s/the//
23:27 Austin Isn't a MethodCache the same as a NameSpace? A container that maps strings to subs?
23:29 darbelo Austin: Yes, but more bootstrappy. And not all methods live on the NameSpace, that's what the TT is about.
23:31 Austin To the extent that they live anywhere, they live in the namespace before the class gets created, right? So you clone the hash, filter out the non-methods, and you've got your class' "cache." Then what other use for a MethodCache is there?
23:34 darbelo allison: ping.
23:40 ruoso joined #parrot
23:41 allison darbelo: pong
23:42 dalek parrot: r46084 | plobsing++ | trunk (2 files):
23:42 dalek parrot: correct some misuses of PARROT_CAN_RETURN_NULL which were applied blindly
23:42 dalek parrot: UINTVAL can't even *be* NULL.
23:43 dalek parrot: review: http://trac.parrot.org/parrot/changeset/46084/
23:43 allison Whiteknight: the method cache is just a hash in the namespace
23:44 darbelo Melange claims you'll be mentoring me on the NFG GSoC proposal, I'll be setting up a blog (for status reports) and a branch fro experimentation on the next week. Can you think of anything else I should do to get started.
23:44 allison Austin: there are no non-methods stored in it
23:44 allison Austin: it's not the main namespace storage, it's a separate bucket
23:45 darbelo Also, I'm not sure what's your timezone, but I don't see you much on IRC, what's your preferred way of communication for this?
23:46 darbelo Oh, also, do we have backup mentors this year?
23:48 allison darbelo: I'm on IRC when I'm in one place, but not when I'm traveling (which has been a good bit the past few months, but will be less over the summer)
23:50 allison darbelo: email works too, and I'll give you a number for SMS (I can even call you over skype if it's useful)
23:51 allison darbelo: I suspect it may make sense for us to check in during or after parrotsketch every week
23:52 Austin_Hastings joined #parrot
23:52 allison darbelo: it would make sense to spend some time talking through the architecture before you dive in
23:54 darbelo allison: Excellent. Works for me. I'll set things up and get experimenting.
23:55 plobsing how do I get distutils to build a general parrot dynext (not dynops or dynpmcs)
23:55 plobsing ?
23:55 * jnthn -> sleep o/
23:55 jnthn left #parrot
23:56 darbelo allison: I'll start with some expanatory blog posts, I tried that last year and it seemed to work.
23:56 Coke (backup mentors) we have several mentors "on deck". I'm happy to be put down as a backup.
23:57 allison darbelo: yup, those were great
23:57 darbelo Once I have what I think I know on paper we can start going over how wrong everything I know is ;)

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

Parrot | source cross referenced