Camelia, the Perl 6 bug

IRC log for #parrot, 2009-07-23

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 jdv joined #parrot
00:06 dalek parrot: r40225 | whiteknight++ | branches/bsr_jsr_ret (2 files):
00:06 dalek parrot: [bsr_jsr_ret] convert more files
00:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40225/
00:09 bacek_at_work hi there
00:09 Whiteknight hello bacek_at_work
00:11 patspam joined #parrot
00:15 Whiteknight urg, some of these old test files are rediculously ugly and old and ugly
00:15 Whiteknight they are using some of the most archaic code, I would hate for a new user to see this kind of crap and think that's the way it was done
00:16 Whiteknight t/op/cmp-nonbranch.t is a terrible horrible example that should die in a fire
00:19 Coke ... lost another 4 tests...
00:19 Coke wtf.
00:20 Andy joined #parrot
00:25 dalek decnum-dynpmcs: r116 | darbelo++ | trunk/ (3 files):
00:25 dalek decnum-dynpmcs: Let's get started with DecInt, it doesn't dtrt yet, but we'll get there.
00:25 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=116
00:27 toyam joined #parrot
00:28 TiMBuS joined #parrot
00:45 dalek decnum-dynpmcs: r117 | darbelo++ | trunk/aux/decTest2pir.pl:
00:45 dalek decnum-dynpmcs: With the PCT decTest intepreter mostly-done we don't need this script anymore.
00:45 dalek decnum-dynpmcs: review: http://code.google.com/p/decnu​m-dynpmcs/source/detail?r=117
00:48 dalek cardinal: 7cacdbb | (Ted Reed)++ | Rakefile:
00:48 dalek cardinal: Add a line to the Rakefile test:all statistics that declares that the current source is clean for commit.
00:48 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/7cacdbbb53fe9bc350a87b2af91f12bb0b18fd12
00:48 dalek cardinal: 0503fb6 | (Ted Reed)++ | src/classes/Array.pir:
00:49 dalek cardinal: Reimplement Array.uniq to ensure that the order stays the same.
00:49 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/0503fb6e1e3b806bc5751fd1690651a76b570138
00:59 toyam joined #parrot
01:08 treed What's the word on the iter opcode?
01:09 treed I know there's been a lot of discussion about opcodes vs. methods and I'm curious what direction it's going.
01:09 treed Specifically WRT the iter opcode.
01:11 bacek_at_work treed: there is iter opcode. And it works. mostly
01:12 treed Is it deficient compared to making a new "Iterator"?
01:12 treed And is the current plan preferring the opcode over using Iterator?
01:13 bacek_at_work treed: "new 'Iterator'" is gone.
01:13 treed Eh?
01:13 treed It's still working for me.
01:13 treed When did it leave?
01:13 bacek_at_work just update to latest parrot :)
01:14 treed Ah.
01:14 bacek_at_work after 1.4 release
01:14 treed So then this patch to cardinal changing all Iterator into iter should definitely be applied.
01:14 treed I think it's been a few days since I've done svn up on parrot.
01:15 bacek_at_work if you want to create own aggregate and iteratable classes you have to implement own Iterator-based class. And return instance of it from VTABLE_get_iter
01:16 treed But RPA and friends already do that?
01:20 jdv79 joined #parrot
01:22 sekimura_ joined #parrot
01:24 dalek cardinal: ff8ddf9 | (Joeri Samson)++ |  (14 files):
01:24 dalek cardinal: Use iter opcode instead of new 'Iterator'
01:24 dalek cardinal: Signed-off-by: Ted Reed <ted.reed@gmail.com>
01:24 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/ff8ddf9f0bdd50b8fba27e478e7991f8c91a8348
01:27 Eevee joined #parrot
01:28 Austin joined #parrot
01:28 Austin fail!
01:28 Austin Where's fail?
01:28 purl somebody said fail was strong in buu
01:30 cotto fail is gone.  Goodbye fail.
01:30 cotto It got deprecated.
01:30 cotto I'm not sure what the expected replacement is.
01:31 Austin That's nice.
01:32 jdv who's fail?
01:32 purl fail is strong in buu
01:32 Austin And yet the documentation disagrees.
01:34 cotto It was just removed.  I wouldn't be surprised if the docs didn't get updated.
01:34 cotto pmichaud, ping
01:34 cotto pmichaud, what's the replacement for <fail> ?
01:34 Whiteknight <win>
01:34 Austin Whiteknight: :-)
01:34 cotto Hmm. I meant to send that after he ponged.
01:35 Austin Maybe { fail(); }
01:35 Austin Except I suspect it'll be something I can't figure out, like &.!fail()
01:38 darbelo cotto: This reminds me, the "Removal of PGE rules:" line on the release announcement to the parrot front page shows up as blank on my browser.
01:38 darbelo I suspect you need to escape your angle brackets there.
01:39 cotto I 'spect so.
01:41 cotto darbelo++ for noticing
01:41 cotto it's fixed now
01:42 Austin Hmm. Rakudo's grammar.pg still has a <fail> in it.
01:46 dalek partcl: r539 | coke++ | wiki/SpecTestStatus.wiki:
01:46 dalek partcl: 4 more failures...
01:46 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=539
01:49 * Coke has dropped from 62 spec files being processed to 43...
01:49 Coke holy crap, dude.
01:49 * Coke removes the skips and tries again...
01:51 cotto Austin, epic
01:54 darbelo left #parrot
01:57 Austin ?epic?
02:00 cotto as in epic fail
02:09 Andy joined #parrot
02:09 theory joined #parrot
02:13 Austin cotto: It seems that way. I'm wading through recoding my grammar, and it's pretty epic.
02:18 Coke hey, guess what. re-ran the spec test... 5 more failures.
02:18 Coke what the holy hell is going on?
02:21 cotto joined #parrot
02:23 chromatic Acute bitrot?
02:23 hydrapheetz paraboxes?
02:23 Andy joined #parrot
02:27 toyam joined #parrot
02:27 dalek partcl: r540 | coke++ | wiki/SpecTestStatus.wiki:
02:27 dalek partcl: More failures... and one is back?
02:27 dalek partcl: ... just trying to get to a steady state here, re-running the spec test after
02:27 Coke chromatic: bitrot when no code has changed in parrot or partcl?
02:27 dalek partcl: each update...
02:27 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=540
02:27 Coke perhaps optimized parrot isn't usable.
02:28 * Coke runs the suite again...
02:28 hydrapheetz And by paraboxes I mean Farnsworth Paraboxes. Heh.
02:33 Coke is there any reason to avoid an --optimize'd parrot?
02:33 Coke aside from lack of debugging goodness?
02:35 janus joined #parrot
02:53 Coke .... 3 more failures...
02:54 bacek_at_work Coke: what happening???
02:56 cotto sanity has been defeated
02:56 Coke bacek_at_work: I am re-running the spec test, skipping any new failures. I have re-iterated this process, what, 5 times?
02:56 Coke (for partcl)
02:56 Coke each time I run it, there are new failures.
02:56 treed Did something with get_pmc_keyed on String change recently?
02:57 treed (Suddenly inexplicable failures with Cardinal's test suite.)
02:57 cotto Coke, does partcl work with svn head?
02:57 cotto Wow.  I guess someone took me literally when I encouraged everyone to break stuff.
02:58 cotto s/head/head of parrot/
02:58 treed get_pmc_keyed() not implemented in class 'String'
03:01 Coke cotto: I'm using tom@yandell.me.uk
03:01 Coke er.
03:01 Coke r40217
03:03 payload joined #parrot
03:04 treed Does iter use get_pmc_keyed?
03:04 * treed tries to find it in the docs.
03:06 Coke treed: I think it depends on what you shift off the iterator.
03:06 treed Would be a pmc, yeah.
03:07 Andy joined #parrot
03:07 treed I wonder if changing that to string would fix it.
03:07 treed no, that'd break things
03:07 cotto Coke, I'm running the spec tests and will tell you what happens.
03:07 treed I guess I just need to implement that op.
03:08 treed I wonder why that test was passing before.
03:08 treed Huh.
03:08 treed It already is implemented on that class.
03:09 Coke cotto: I'm using tools/spec_info.pl
03:09 Coke (as that updates the docs/ files also)
03:09 Coke and I'm finding that if I run some of the failing tests manually, they pass. (*&#$#>
03:12 cotto Coke, thanks
03:13 Coke ... wtf.
03:19 treed Actually.
03:20 treed I wonder if this is related: The get_pmc_keyed is actually returning $S0
03:21 donaldh joined #parrot
03:26 Coke treed: what problem are you having?
03:28 treed Coke: I'm having a few of my tests fail with the message get_pmc_keyed() not implemented in class 'String'
03:28 treed It wasn't failing a few days ago.
03:29 treed And the function it's bailing out of doesn't actually use keyed access to anything, except maybe through iter.
03:29 treed But iter should be iterating on CardinalString, which *does* implement that vtable.
03:31 treed I just tried rewriting the method that implements it so that it returns from $P0 instead of $S0, but that doesn't seem to have fixed anything.
03:37 treed 2754 iter P3, P1                                        P3=PMCNULL P1=Object(CardinalString)=PMC(0xc94a20)
03:37 treed 2757 unless P3, 15                                        P3=Iterator=PMC(0xc94690)
03:37 treed 2760 shift P0, P3                                        P0=PMCNULL P3=Iterator=PMC(0xc94690)
03:37 treed That's... interesting.
03:38 treed does Iterator copy the object, or is it iterating on something else entirely?
04:11 tetragon joined #parrot
04:13 cotto Coke, nopaste for you
04:13 nopaste "cotto" at 74.61.2.46 pasted "make spectest results for partcl on Ubuntu Jaunty on x86" (35 lines) at http://nopaste.snit.ch/17370
04:17 jdv joined #parrot
04:28 Zak joined #parrot
04:40 dalek cardinal: db1ff47 | (Ted Reed)++ |  (3 files):
04:40 dalek cardinal: Implement Array.compact and .compact!; tests included.
04:40 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/db1ff477d4cba066a5b63db79718301342691200
05:05 cotto time for sleep
05:06 cotto good night
05:30 Tene 'night
05:48 Andy joined #parrot
06:19 hudnix joined #parrot
06:31 iblechbot joined #parrot
06:33 theory joined #parrot
06:42 dalek rakudo: ee402a7 | pmichaud++ | docs/ (2 files):
06:42 dalek rakudo: Fill in a release name for #19 (Chicago)
06:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​e402a72ebbcda0b2b60bfe386d9e12751e3723f
06:42 dalek rakudo: 39d9e10 | pmichaud++ | docs/spectest-progress.csv:
06:42 dalek rakudo: spectest-progress.csv update: 416 files, 11876 passing, 0 failing
06:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​9d9e101bbc2096067f00893e436095ffdb2dde0
06:42 dalek rakudo: 9b37b81 | pmichaud++ | docs/announce/2009-07:
06:42 dalek rakudo: Update announcement with spectest results.
06:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​b37b818f4df7002411c877235c192dcfc2a0c7b
06:50 wayland76 joined #parrot
06:54 dalek parrot: r40226 | petdance++ | trunk (2 files):
06:54 dalek parrot: Parrot_get_namespace_keyed should not take a NULL pmc_key
06:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40226/
07:21 donaldh joined #parrot
07:22 iblechbot joined #parrot
07:36 mikehh_ joined #parrot
07:45 flh joined #parrot
08:06 rob joined #parrot
08:44 szabgab the latest version of Padre and Padre::Plugin::Parrot finally allows syntax highlighting for any language built on the Parrot Compiler Toolkit, I'd be glad if some of you gave it a shot in the next few days
09:01 masak joined #parrot
09:21 mikehh All tests PASS (pre/post config, smolder, fulltest) at r40226 - Ubuntu 9.04 amd64
09:42 mikehh_ joined #parrot
09:57 rob joined #parrot
10:04 payload left #parrot
10:04 bacek joined #parrot
10:08 bacek o hai...
10:08 bacek moritz++ # filter irclogs by nick
10:10 masak has the search function improved, though? it's been pretty wacky every time I've used it.
10:11 bacek treed: around?
10:11 bacek masak: I didn't see search function before.
10:30 moritz bacek: it was missingtheplan++, not me
10:31 moritz bacek: I wanted to re-write the search function with KinoSearch, but I'm still waiting for the 2.0 release
10:32 bacek KinoSearch?
10:32 purl KinoSearch is immature, plucene is a hog.
10:33 moritz KinoSearch is also a rather cool perl search engine modeled after lucene
10:33 purl okay, moritz.
10:33 bacek moritz: try BOSS. It should be very cool
10:34 bacek purl: BOSS?
10:34 purl hmmm... BOSS is a mass-produced canned ice coffee product sold in God-forsaken Asian countries or me, of course
10:34 bacek purl: no, BOSS is Build your Own Search Service by Yahoo
10:34 purl okay, bacek.
10:35 bacek purl: BOSS is also http://developer.yahoo.com/search/boss/
10:35 purl okay, bacek.
11:11 iblechbot joined #parrot
11:15 payload joined #parrot
11:20 donaldh joined #parrot
11:36 kid51 joined #parrot
11:49 whoppix joined #parrot
12:11 dalek rakudo: 1c8c88f | jnthn++ | src/classes/ (2 files):
12:11 dalek rakudo: Make .multi work on Routine/Multi. Gets last fudged tests in S12-introspection/methods.t passing.
12:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​c8c88ff6f49247438ab4b66309494859b7985fb
12:19 whiteknight joined #parrot
12:20 whiteknight good morning #parrot
12:20 whiteknight and it IS morning, no matter what bacek says :)
12:26 masak well... here in Europe, we've left this whole morning thing behind us.
12:27 masak we've already started in on the afternoon.
12:36 dalek rakudo: f5ccc0c | jnthn++ | src/parrot/ClassHOW.pir:
12:36 dalek rakudo: Implement :private flag for .^methods and remove outdated todo comments now those things are todone.
12:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​5ccc0c1930c58514e3eda7457910e5c9ab5be1b
12:43 Coke msg cotto - looks like you're failing a similar number of tests that I am.
12:43 purl Message for cotto stored.
14:36 Casan joined #parrot
14:43 Jimmy joined #parrot
14:48 Jimmy I lost the messages
14:52 particle as in, purl had messages for you, but when you type '/msg purl messages' it returns none?
14:56 Jimmy thanks, get it now
15:03 mj41 joined #parrot
15:17 zostay joined #parrot
15:21 donaldh joined #parrot
15:24 dalek parrot: r40227 | NotFound++ | trunk (2 files):
15:24 dalek parrot: [imcc] convert warning about duplicate identifier in error, TT #767
15:24 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40227/
15:24 jhorwitz joined #parrot
15:28 MoC joined #parrot
15:38 cghene joined #parrot
15:44 dalek rakudo: 346ae98 | jnthn++ | t/spectest.data:
15:44 dalek rakudo: Add S12-introspection/attributes.t to spectest.data.
15:44 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​46ae9853dde53df95bc8127a807c5ebd6867233
15:46 dalek parrot: r40228 | dukeleto++ | trunk/t/tools/dump_pbc.t:
15:46 dalek parrot: Fix typo in POD of dump_pbc.t
15:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40228/
15:53 Coke bah. if I run "tools/spec_info.pl", compExpr-old.test dies. if I run that test file manually, it completes. Any clues, lazyirc?
15:54 jonathan Coke: In what way does it fail differently?
15:54 jonathan Coke: Sometimes such things are exit code issues.
15:54 jonathan That is, it exists with non-zero so the harness considers it a fail.
15:55 jonathan But running it manually at the command line doesn't show that.
15:55 Coke jonathan: it aborts after running some tests.
15:55 jonathan Oh
15:55 jonathan OK, so really different behavior. Eww.
15:55 Coke and I'm not using any kind of perl harness here.
15:55 Coke (the tcl tests use Tcl's tcltest.tcl)
15:58 Coke spec_info.pl is invoking tcl_test.pl which calls "system /path/to/parrot tcl.pbc /path/to/test" for each test. some of those just abort. :|
15:58 jonathan Does running under -G make any difference?
15:58 flh joined #parrot
15:58 jonathan That is, does some slightly different memory late trigger a GC heisenbug?
15:58 jonathan If not then...well...oddness.
16:00 Coke /home/coke/bird/bin/parrot -G tcl.pbc t_tcl/compExpr-old.test
16:00 Coke Parrot VM: PANIC: Out of mem!
16:00 Coke immediately. no other output.
16:00 jonathan wow
16:01 jonathan I wonder if that's *really* out of memory or just a "passed stupid value to malloc".
16:02 whiteknight joined #parrot
16:02 Coke (not immediately, but it's the first thing that happens.)
16:04 * Coke will try sans optimized parrot.
16:05 NotFound Will be useful to add to that panic message the amount of memory it was trying to allocate?
16:06 jonathan NotFound: I guess it saves getting a debugger out and breakpointing in panic...
16:06 NotFound Mmm... it can do now, but you must compile with DETAIL_MEMORY_DEBUG defined.
16:08 jonathan Ah, OK
16:09 NotFound I think the amount of messages generated by that define can interfere with any test, not very useful.
16:10 theory joined #parrot
16:11 dalek rakudo: 241545b | jnthn++ | t/spectest.data:
16:11 dalek rakudo: Add S12-introspection/roles.t to spectest.data.
16:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​41545b9d6c73f95bd8e5255187c30d5e77e6381
16:12 theory joined #parrot
16:13 Coke non-optimized parrot fares just as poorly. wtf.
16:13 * Coke should apparently have been running the spec test daily up to the release.
16:14 Coke I'm going to have to do a binary search to figure out when this spec test file started failing. :|
16:15 Coke (not with -G. I don't particularly care that -G is failing)
16:21 bacek joined #parrot
16:21 Coke what a mess.
16:21 purl PLEASE DO NOT MAKE A MESS IN HERE
16:23 nopaste "NotFound" at 213.96.228.50 pasted "Patch: show size in PANIC out of mem" (92 lines) at http://nopaste.snit.ch/17371
16:34 ruoso joined #parrot
16:45 Andy joined #parrot
16:46 cotto good morningi
16:50 Psyche^ joined #parrot
16:53 chromatic joined #parrot
16:54 Andy joined #parrot
16:55 jan joined #parrot
17:01 whiteknight_ joined #parrot
17:02 theory joined #parrot
17:03 HG` joined #parrot
17:11 hercynium joined #parrot
17:19 treed bacek: Here now.
17:22 toyam joined #parrot
17:25 theory joined #parrot
17:45 toyam joined #parrot
17:48 Coke ... changed my harness to report when a segfault occurs. ok. that test is segfaulting. change ulimit to actually allow core file to be dumped.
17:48 Coke re-run test.
17:48 Coke ... no segfault.
17:49 Coke ... really?
17:50 treed Awesome.
17:51 jonathan So the ulimit was getting in the way...or?
17:55 Coke awesome? it's (*@#&$ hideous.
17:55 Coke why should the setting of ulimit -c cause or prevent a segfault?
17:56 theory joined #parrot
17:56 treed Sarcasm, man.
17:56 jonathan Coke: It's not just a memory limitation?
17:56 treed I run into segfault/sigbus kinda shit all the time.
17:56 * jonathan doesn't know what ulimit does
17:56 Coke I'm not talking about memory.
17:56 jonathan Well, not at a specific flags level.
17:56 Coke I changed 'ulimit -c' - size of core file.
17:57 jonathan Ah, OK.
17:57 jonathan Then color me mystified. :-|
17:57 jonathan Really odd.
17:57 Coke it was originally set to 0. I changed it to unlimited, so the file would be created and I could actually find out about the segfault.
17:57 treed I was trying to debug something the other day. If I run it with -t 1, I get sigbus before it gets to the error I was trying to debug.
17:57 treed Quite frustrating.
17:58 treed I ended up reimplementing it to get around that.
17:58 Coke yah. -t1 && -t4 are both squirrely.
17:58 treed Is there something else I should use?
17:58 Coke nope.
17:58 Coke old school 'print' debugging.
17:58 Coke (which doesn't really count.)
17:59 treed Yeah, that's often what I resort to, but it wasn't helping me in this case.
17:59 treed All it did was prove that something was fucked up.
17:59 Coke yah. tracing has been fixed several times, but apparently not for good.
17:59 treed (A rule was getting called in actions.pm twice with two different arguments, when it should only get the first one. It's only used in one rule, and *that* rule only got one of them.
18:00 treed So I was trying to figure out why it was getting called the second time.
18:00 treed No luck.
18:04 cotto treed, you can do caveman debugging (print) of grammars with inline pir: {{ say "hi" }}
18:05 cotto that might help the next time
18:05 treed I was using puts from actions.pm
18:05 treed All I was able to verify was that it was happening, not why the rule was getting called a second time.
18:05 particle gdb breakpoint
18:06 treed I ultimately figured out that my approach to solving that problem was going in the wrong way anyway.
18:06 treed So I'll have to think about a new solution.
18:06 treed Hopefully that new solution doesn't cause any such problems.
18:07 cotto treed, is there something I could play with
18:07 treed Hm?
18:07 treed What, the problem I was seeing?
18:07 cotto yeah
18:07 treed I stuffed that code into a git stash.
18:07 treed I can send you a patch or something of it.
18:08 treed Aw, hell.
18:08 treed Conflict.
18:08 purl conflict:  n.  when purl is debugging (a beer activity), but planning to have pasta (a wine meal) for dinner
18:08 jrtayloriv joined #parrot
18:11 treed Wrong stash anyway.
18:11 treed Where should I put the diff?
18:11 cotto nopaste
18:12 cotto no rush.  git clone is *really* slow
18:12 treed nopaste?
18:12 purl nopaste is probably at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others) or http://gist.github.com/ or paste or gtfo
18:15 treed Should apply against cardinal HEAD.
18:16 treed Hm. Should that first one make a note here about the past?
18:16 cotto you have to pick the channel if you use the web  interface
18:16 cotto you can also use tools/dev/nopast.pl in Parrot and it'll dtrt
18:16 cotto mostly
18:18 cotto found it
18:18 treed I thought I did.
18:18 treed k
18:19 dalek partcl: r541 | coke++ | trunk/config/makefiles/root.in:
18:19 dalek partcl: add a new rule to invoke spec_info
18:19 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=541
18:19 dalek partcl: r542 | coke++ | trunk/ (4 files):
18:19 dalek partcl: Instead of generating a monolithic .log output file, generate one for each
18:19 dalek partcl: test run in log/<test>.log to simplify analysis of the run.
18:19 dalek partcl: Also keep track of whether or not the test ran cleanly to completion, or
18:19 dalek partcl: segfaulted, or...
18:19 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=542
18:20 cotto treed, what's some ruby code to trigger the misbehavior?
18:20 treed a = "foo"; puts a
18:21 treed Is what I was using
18:21 treed puts gets processed by lhs
18:21 treed Which detects that it hasn't been declared in the lexical scope and declares it as a lexical.
18:21 treed Which means that it has no value and fails to run.
18:25 cotto I *think* I know what's happening.
18:27 treed I'd be interesting in hearing it.
18:27 jrtayloriv joined #parrot
18:28 cotto The problem is that you're calling the action for lhs too early.  At the point when you call its action, you aren't guaranteed to have a full assigment, just a varname.
18:29 cotto You only want to call the lhs action after the whole assignment rule has been matched.
18:29 treed Huh.
18:29 treed Where should I call it instead?
18:30 cotto in the assignment rule
18:30 treed But that would call the assignment method.
18:30 cotto rather, you should move the work from the lhs action into the assignment action
18:31 treed Ah.
18:31 treed That seems a bit odd of a way for the parser to work.
18:32 treed I'd expect it to say "okay, this whole thing matches, now let's call the rules and get the AST tree going"
18:32 Tene not really.
18:32 Andy joined #parrot
18:33 moritz treed: then you couldn't change the grammar from within the action methods
18:33 treed You can do that? :o
18:33 moritz (which "weird" languages like perl need to do)
18:33 moritz you can install new operators in Perl 6
18:33 moritz which is a grammar change
18:33 treed Huh, I suppose it would be.
18:33 moritz (you can do much more  in Perl 6, but so far Rakudo only implements that)
18:33 moritz (like, macros)
18:34 cotto treed, think of matching the grammar against a program as a progressive process
18:34 treed Well, thanks for helping me understand the error there.
18:34 treed As I said, I figured out that that direction wasn't going to be able to handle things as I'd like.
18:34 treed Because it was only handling assignment to variables, but you can mix and match keyed/member assignment as well.
18:36 treed So now I'm contemplating either trying to wrap that all up into a rule where it puts that data into a data structure and passes it to infix:=, or rewriting it to keep all the logic in actions.pm and farming out only simple assignment to PIR.
18:36 toyam joined #parrot
19:09 MoC joined #parrot
19:11 Coke bizarre. the segfaults have stopped showing up (for now). wrote something to help figure out which tests to unskip, hopefully will get back up and running shortly.
19:11 Coke (where shortly is probably at least 10 hours of running really slow code. =-)
19:14 NotFound No one has an opinion about the patch I nopasted some hours ago?
19:15 Coke it looked harmless?
19:15 Coke (this was the panic one?)
19:15 NotFound Yeah
19:17 NotFound Well, I'll clean and commit it. If something is bad, I'll hear you scream X-)
19:18 chromatic +1 from me
19:22 dalek parrot: r40229 | NotFound++ | trunk/src/gc/alloc_memory.c:
19:22 dalek parrot: [cage] show size in Out of mem panics
19:22 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40229/
19:29 solarion joined #parrot
19:34 Coke wow, these segfaults are squishy.
19:41 NotFound I have too much swap. Before I get an out of mem, it starts trashing.
19:41 darbelo joined #parrot
19:44 moritz ulimit++
19:45 NotFound But I wanted a big number ;)
19:45 moritz use bignum; # ;-)
19:47 Coke moritz: I am still getting segfaults here and there. this didn't happen before people fixed rakudo's segfaults. =-)
19:48 moritz :(
19:48 moritz why do I have to think of a waterbed now?
19:48 mikehh joined #parrot
19:49 Coke yah
19:50 NotFound Urgh, I'm unable to write correct printf formats at the first attempt
19:52 japhb joined #parrot
19:53 dalek parrot: r40230 | NotFound++ | trunk/src/gc/alloc_memory.c:
19:53 dalek parrot: [cage] fix bad printf format from r40229
19:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40230/
20:33 toyam joined #parrot
20:39 whoppix_ joined #parrot
20:42 dalek cardinal: f154a71 | (Ted Reed)++ |  (2 files):
20:42 dalek cardinal: Ensure that blocks embedded in strings are embedded with the return value, not the name of the block.
20:42 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/f154a71d853b97985173ed266d3caaeec548bba0
20:48 theory joined #parrot
21:16 particle joined #parrot
21:18 Casan joined #parrot
21:19 Whiteknight joined #parrot
21:21 solarion joined #parrot
21:24 treed Is there a list of roles used pervasively in Parrot?
21:25 Whiteknight no
21:25 * PerlJam wonders what the real question is.
21:25 PerlJam (that one seems like a prelude to something else)
21:26 treed Heh.
21:26 treed I want to know what role I should look for to see if something's a number/integer.
21:26 treed I could check for parent class, but roles seems like the proper way to handle that.
21:27 treed Also if something's a string.
21:27 chromatic Does it have to *be* a simple type, or is it okay to use get_string or get_integer VTABLE entries?
21:28 treed No.
21:28 treed I'm trying to avoid 100 == '100' from returning true.
21:28 treed It should be throwing ArgumentError.
21:28 treed It's still proper for String's get_integer to return an Integer representation.
21:29 treed But not for == to use it.
21:30 treed So I want to write iseq vtables for CardinalString and CardinalInteger to ensure that they're only comparing themselves against things which they should be.
21:30 treed And to throw the appropriate exception otherwise.
21:31 treed Should knock off about a third of the tests which are currently failing.
21:32 moritz I don't know much about parrot, but maybe it would be appropriate to make the get_string vtable in cardinal's integer die
21:32 pmichaud_ joined #parrot
21:32 moritz and the get_integer in cardinal's string class
21:32 moritz or are conversions normally wanted, just not in this case?
21:33 * moritz knows next to nothing of ruby
21:33 dalek parrot: r40231 | whiteknight++ | branches/bsr_jsr_ret/t/op (2 files):
21:33 dalek parrot: [bsr_jsr_ret] convert two string-related test files
21:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40231/
21:33 dalek parrot: r40232 | jonathan++ | trunk/runtime/parrot/library/P6object.pir:
21:33 dalek parrot: [p6object] Allow specification of an already created metaclass in the register method, and create new metaclasses based upon the type of the current metaclass, so we handle derived ones better.
21:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40232/
21:33 treed moritz: Conversions are wanted, usually explicitly via the .to_i method.
21:34 treed But there are cases where you don't need to explicitly convert.
21:34 treed Like sprintf
21:34 treed sprintf("%d", '123') will return '123'
21:34 moritz well, in perl implicit conversion is always allowed
21:34 treed Not in Ruby.
21:34 treed At least not in the case of ==
21:35 treed And I can't think of other cases where implicit conversion is allowed.
21:35 treed I was surprised that the sprintf thing works.
21:35 moritz the question is which is more work for you: either patch all the operations, or explicitly handle conversions where allowed, and forbid it in general
21:35 treed I discovered that when I tried to change CardinalString's get_integer to return the size.
21:36 treed Yeah, I considered the latter.
21:36 treed I may still end up doing it that way.
21:36 moritz but please wait for an answer from sombody else first, my parrot fu is really weak :(
21:37 treed Probably would be less work, but I haven't really looked into how many cases of implicit conversion exist.
21:37 * treed nods.
21:37 treed I have to walk the dog right now, so I'll at least wait until after that.
21:37 treed BRB
21:41 bacek joined #parrot
21:42 toyam joined #parrot
21:57 treed Hm.
21:58 treed Looks like implicit conversion is handled by .to_str or .to_int istead of to_s or to_i
21:59 treed Unsure if that helps me.
22:01 theory joined #parrot
22:01 treed Integer doesn't define either to_s or to_str
22:02 treed String definets to_i but not to_int
22:07 chromatic Strange thought for making vtable overrides from PIR work: use vtable swap to create a new vtable for the type when we know there's an override, then swap in a C function which can check for the override we already know is there.
22:07 chromatic Messy?  Yes.  Will it work?  I believe so.  Do we want to maintain it long term?  HEY LOOK OVER THERE IT'S L1 HOORAY!
22:11 jonathan chromatic: Heh, messy it is.
22:11 jonathan Sounds workable though.
22:12 jonathan (And if by vtable swap you mean, just chaning the ->vtable pointer in the PMC structure...Rakudo already does that one. :-))
22:12 jonathan erm, that part
22:13 chromatic I hate your opcode for that, but that's part of the reason we have vtables.
22:13 jonathan :-)
22:13 Andy joined #parrot
22:13 sekimura joined #parrot
22:20 bacek good morning #parrot
22:25 dalek parrot: r40233 | whiteknight++ | branches/bsr_jsr_ret (8 files):
22:25 dalek parrot: [bsr_jsr_ret] update more files and delete one file that was only for testing bsr
22:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40233/
22:25 dalek parrot: r40234 | whiteknight++ | branches/bsr_jsr_ret/t/op/basic.t:
22:25 dalek parrot: [bsr_jsr_ret] remove one test that only tested bsr
22:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40234/
22:29 AndyA joined #parrot
22:38 rg1 joined #parrot
22:39 toyam joined #parrot
22:44 dalek parrot: r40235 | tewk++ | trunk (3 files):
22:44 dalek parrot: [ncigen] deprecation fixes
22:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40235/
22:45 kid51 joined #parrot
22:53 dalek TT #788 closed by jkeenan++: Audit PDD30 compliance
22:54 kid51 chromatic ping
22:55 chromatic pong
22:55 kid51 Hi.  Can you take a look at http://rt.perl.org/rt3/Tic​ket/Display.html?id=42597 ?  Thanks.
22:56 chromatic Will do.
22:58 chromatic Let's close it; we have the -Wc++-compat flag detection working now.
23:00 theory joined #parrot
23:01 kid51 Done.  Thanks.
23:04 Casan joined #parrot
23:07 dalek parrot: r40236 | whiteknight++ | branches/bsr_jsr_ret/examples (9 files):
23:07 dalek parrot: [bsr_jsr_ret] update a few more files in examples/. the japh got a little bit less interesting.
23:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40236/
23:07 dalek parrot: r40237 | bacek++ | branches/orderedhash_revamp/include/parrot/hash.h:
23:07 dalek parrot: [pmc] Move ORDEREDHASH enum to public include. It used in OHIterator
23:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40237/
23:07 dalek parrot: r40238 | bacek++ | branches/orderedhash_revamp/sr​c/pmc/orderedhashiterator.pmc:
23:07 dalek parrot: [pmc] Implement basic iteration over OrderedHash
23:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40238/
23:07 dalek parrot: r40239 | bacek++ | branches/orderedhash_revam​p/src/pmc/orderedhash.pmc:
23:07 dalek parrot: [pmc] Add more setters to OrderedHash
23:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40239/
23:11 dalek parrot: r40240 | bacek++ | branches/orderedhash_revam​p/src/pmc/orderedhash.pmc:
23:11 dalek parrot: [pmc] Implement restoring order after OrderedHash clone/thaw.
23:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40240/
23:21 treed Well, shit.
23:21 dalek parrot: r40241 | whiteknight++ | branches/bsr_jsr_ret (4 files):
23:21 dalek parrot: [bsr_jsr_ret] update more files, including ripping out some now-unused code from IMCC
23:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40241/
23:21 dalek parrot: r40242 | bacek++ | branches/orderedhash_revam​p/src/pmc/orderedhash.pmc:
23:21 dalek parrot: [pmc] Reimplement integer index access in OrderedHash.
23:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/40242/
23:22 treed The String PMC has a to_int method which I need to implement CardinalString's to_i.
23:22 treed However, CardinalString shouldn't have a to_int method.
23:22 treed So I need to block its use in a way that I can still use it.
23:23 treed I guess recast self as a String long enough to use to_int.
23:27 Limbic_Region joined #parrot
23:32 bacek $dayjob time
23:33 Andy joined #parrot
23:37 wayland76 joined #parrot
23:39 dalek cardinal: 24b28eb | (Ted Reed)++ | src/classes/Object.pir:
23:39 dalek cardinal: Remove a duplicated method from Object.
23:39 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/24b28ebabd7cdcae39869a9674ca2d5d3c078cf8
23:50 patspam joined #parrot
23:56 Andy joined #parrot

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

Parrot | source cross referenced