Camelia, the Perl 6 bug

IRC log for #parrot, 2011-08-08

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 bluescreen joined #parrot
00:03 soh_cah_toa cotto: still can't get that test to pass. do you have any idea why it's behaving like this?
00:05 not_gerd I'm off for today, good night #parrot
00:06 cotto soh_cah_toa, looking
00:07 soh_cah_toa ok
00:11 cotto got it
00:11 soh_cah_toa :D
00:11 cotto you need to be checking ->can_read in a loop
00:11 soh_cah_toa gimme gimme gimme
00:12 cotto http://search.cpan.org/~gba​rr/IO-1.25/lib/IO/Select.pm
00:12 cotto Look at how the example there works.
00:12 cotto same deal for your code
00:14 soh_cah_toa hm, i had it like that originally b/c i got the idea from that exact example but someone said it should be outside
00:14 cotto soh_cah_toa, is that enough information?
00:14 soh_cah_toa oh well, let's revert it if it works
00:14 soh_cah_toa yeah, i'll try now
00:15 cotto you also don't need to check specific handles.  ->can_read(0) will return a list of all handles ready for reading.
00:15 cotto not necessary, but nice to know.  I doubt you'll be adding any more handles. ;)
00:16 soh_cah_toa you mean the `if (fileno $fh == fileno \*HBDB_STDERR)`?
00:17 cotto yes
00:17 soh_cah_toa b/c i think that's supposed the keep $lines from containing a mix of stderr and stdout
00:17 soh_cah_toa i think
00:17 dalek rakudo/wherefore-gc-bug: 396201b | tadzik++ | / (6 files):
00:17 dalek rakudo/wherefore-gc-bug: Fix Pod::Block::Declarator ordering. Reveals an ugly GC bug
00:17 dalek rakudo/wherefore-gc-bug: review: https://github.com/rakudo/rakudo/commit/396201be71
00:17 rdesfo joined #parrot
00:18 cotto That's sensible.
00:19 soh_cah_toa well look at that...it passes
00:19 soh_cah_toa finally, i can add more tests
00:19 cotto good times
00:19 soh_cah_toa indeed
00:19 cotto Before you get too far into that, let's figure out a schedule.
00:20 soh_cah_toa sure, but i actually have to run an errand real quick. can it wait like 30 minutes?
00:20 cotto sure
00:20 * soh_cah_toa will brb
00:27 preflex joined #parrot
00:28 Kulag joined #parrot
00:34 soh_cah_toa cotto: actually, didn't realize it's raining so nevermind
00:34 soh_cah_toa cotto: so this week i can probably get full coverage of the features i have so far and then start working on watchpoints
00:35 preflex joined #parrot
00:36 cotto rain?  wouldn't know about that.
00:36 soh_cah_toa :)
00:37 Felipe :p
00:37 cotto one week from Monday is the soft pencils down date, then another week to the hard date.
00:37 soh_cah_toa oh wow
00:37 soh_cah_toa crap
00:37 tadzik I was suprised too
00:37 cotto yeah
00:38 soh_cah_toa not good, thought i had until the end of august
00:38 cotto soh_cah_toa, you picked a really good time to get the hbdb train un-derailed
00:39 tadzik g'night Parrots
00:39 cotto 'night tadzik
00:39 cotto soh_cah_toa, you can still get some good work done.
00:40 cotto just be focused and let me know quickly if you get stuck
00:40 soh_cah_toa ok, i'm stuck :P
00:40 cotto where
00:40 cotto ?
00:42 soh_cah_toa well, before watchpoints i want it to appear as if you are stepping line by line but one line can generate several ops. for instance, to step from line 3 to 4 you might have to type "step, step, step, step"
00:42 cotto that's the nature of PIR
00:42 soh_cah_toa yeah
00:42 soh_cah_toa i could just run until the next annotation line change
00:43 soh_cah_toa but i also want it to work for pir
00:43 cotto Don't try too much with pir line numbers.
00:43 soh_cah_toa ok
00:43 soh_cah_toa yeah, hll's are more important
00:44 * jnthn__ wonders if you can cover some of the commonest cases in PIR just by knowing the sequence of ops that some extremely common things generate
00:44 jnthn__ (e.g. sub or method calls)
00:44 soh_cah_toa i really want to focus on making it attractive to the p6 team. is there some switch to generate pir?
00:44 soh_cah_toa i've just been using a small hand-written pir file
00:45 cotto soh_cah_toa, --target=pir
00:45 soh_cah_toa ok
00:45 jnthn__ soh_cah_toa: --target=pir, you'll have most luck in the nom branch I suspect
00:45 jnthn__ For a simpler time, try nqp
00:45 soh_cah_toa jnthn__: ok
00:45 jnthn__ (new) nqp with --target=pir certainly generates code that'll run standalone with Parrot.
00:46 jnthn__ We had that in Rakudo's nom branch at one point, then accidentally busted it...I didn't get it fixed up again yet. Will do soon...
00:46 soh_cah_toa cotto: is it ok to include a rakudo/nqp pir generated file in the testlib directory?
00:47 cotto soh_cah_toa, why wouldn't it be?
00:47 cotto test data can come from many sources
00:47 cotto minimal test cases are nicer though
00:48 soh_cah_toa just making sure
00:49 soh_cah_toa ok, so then how about this:
00:49 soh_cah_toa first, i get these tests done. then update the docs to reflect new commands
00:49 soh_cah_toa second, modify step to run until next annotation change
00:49 soh_cah_toa third, start watchpoints design
00:49 soh_cah_toa if i'm lucky, i can have that by the middle of this week
00:49 soh_cah_toa preferably sooner
00:50 soh_cah_toa doing docs/tests right now too
00:51 cotto soh_cah_toa, can you put something like that on the wiki page, preferably with dates?
00:51 soh_cah_toa sure
00:53 PacoLinux__ joined #parrot
00:59 dalek rakudo/nom: 31e7121 | jonathan++ | src/core/traits.pm:
00:59 dalek rakudo/nom: Harden export trait a bit to avoid hard to find issues.
00:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/31e712148f
00:59 dalek rakudo/nom: d2bfaa5 | jonathan++ | t/spectest.data:
00:59 dalek rakudo/nom: 3 more tests that we can pass now Test::Util works again.
00:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d2bfaa5a15
00:59 dalek rakudo/nom: ab4eacb | jonathan++ | NOMMAP.markdown:
00:59 dalek rakudo/nom: Remove some completed entries from nommap (tadzik++ for noticing).
00:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ab4eacb944
00:59 dalek rakudo/nom: ed3094f | jonathan++ | src/ (4 files):
00:59 dalek rakudo/nom: Make sure we give appropriate method names to auto-generated accessors and delegation methods, so introspection works out. Also try to handle multi exporting a bit more sanely.
00:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ed3094f1a9
01:01 soh_cah_toa i just realized something. the way i want this to work is that you invoke hbdb w/ the hll source file, hbdb compiles it and operates on the resulting bytecode
01:01 soh_cah_toa but if i want to use annotations, hbdb needs to know how to invoke the hll compiler. the way it is now it just compiling pir to pbc which won't work
01:02 soh_cah_toa i can't just use the hll generated pbc b/c the debug segment does not contain some type of "source" annotation containing the original source code. the pbc knows nothing about the original source
01:03 soh_cah_toa which is kinda stupid
01:04 cotto traditional object code doesn't know anything about the C code that was used to generate it.
01:05 soh_cah_toa w/ debug data compiled in it does
01:05 soh_cah_toa that's how gdb knows the source from the executable
01:06 cotto brainfail
01:06 soh_cah_toa gsoc has that effect ;)
01:10 dalek rakudo/nom: b6e553a | moritz++ | / (2 files):
01:10 dalek rakudo/nom: trim-trailing, trim
01:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b6e553ac96
01:11 dalek tracwiki: v9 | soh_cah_toa++ | HBDBPlanning
01:11 dalek tracwiki: Started schedule
01:11 dalek tracwiki: http://trac.parrot.org/parrot/wiki/HB​DBPlanning?version=9&action=diff
01:14 soh_cah_toa needless to say, i don't see how to solve this in a logical way other than a really hacky `if (.p6) { system(perl6); } else if (.lua) { system(lua) } ...``
01:15 soh_cah_toa which would be really ugly and...bad
01:15 cotto Don't worry too much about it.
01:16 soh_cah_toa uh, well then how do i run anything. given a p6 file, how would i compile it so it can be executed
01:17 soh_cah_toa i mean, it isn't exactly something i can just ignore
01:20 cotto long-term, no.  Between now and the hard pencils down date, perhaps.
01:22 soh_cah_toa so i guess i should just make sure that the source file *and* generated bytecode are both in the cwd? load source as text for 'list' command but run bytecode?
01:28 cotto I can't think of anything better, but my brain's in a questionable state atm.
01:28 soh_cah_toa ok :\
01:32 soh_cah_toa actually, docs/parrotbyte.pod says that there is a source code segment but that "currently there are no utilities that use this segment, even though it is mentioned in some of the early Parrot documents". does this mean that it's there and actually contains the original source but just that nothing really uses it yet or that it literally doesn't exist?
01:35 cotto curious
01:36 cotto I don't remember having seen that before.
01:40 soh_cah_toa also, pdd13 mentions that a "default segment" can be used for storing hll source code. then i look at compilers/imcc/main.c and it reads `pf_raw->cur_cs = Parrot_pf_create_default_segments(imcc->interp, packfilepmc, source, 1);`
01:40 cotto interesting
01:40 soh_cah_toa indeed
01:41 soh_cah_toa ah man, that would be great. i'll have to ask whiteknight about this
01:42 cotto you can just poke around a pbc file with hexedit
01:43 soh_cah_toa oh yeah, good idea
01:43 cotto or you can add a printf to that bit of code to see what it's stuffing into the pbc file
01:44 soh_cah_toa also good idea
01:45 dalek rakudo/nom: d601bb0 | moritz++ | / (3 files):
01:45 dalek rakudo/nom: Cool.trim, Str.words, run words.t
01:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d601bb0b9a
01:45 dalek rakudo/nom: 5b9a992 | moritz++ | NOMMAP.markdown:
01:45 dalek rakudo/nom: note state of Whatever-currying
01:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5b9a99230c
01:45 dalek rakudo/nom: 30a9776 | moritz++ | src/core/Any.pm:
01:45 dalek rakudo/nom: generalize .[Whatever] case to .[Callable]
01:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/30a977677f
01:45 dalek rakudo/nom: 4a50e0a | moritz++ | / (4 files):
01:45 dalek rakudo/nom: put CallFrame back into place
01:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4a50e0acfe
01:50 dalek parrot/tt2007/html_links: 8402064 | jkeenan++ | docs/glossary.pod:
01:50 dalek parrot/tt2007/html_links: Trimmed section on predereferencing (as long advised in POD 'for' section).
01:50 dalek parrot/tt2007/html_links: review: https://github.com/parrot/parrot/commit/8402064c58
01:51 cotto soh_cah_toa, looks like that's just the filename
01:51 soh_cah_toa damn
01:51 soh_cah_toa had my hopes up :(
01:54 woosley joined #parrot
02:20 dalek parrot/soh-cah-toa/hbdb: e6f5dd4 | soh_cah_toa++ | lib/Parrot/Test/HBDB.pm:
02:20 dalek parrot/soh-cah-toa/hbdb: Wrapped call to can_read() inside a while loop in Parrot::Test::HBDB. Now all tests finally pass.
02:20 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/e6f5dd46c1
02:20 dalek parrot/soh-cah-toa/hbdb: 03d2954 | soh_cah_toa++ | docs/hbdb.pod:
02:20 dalek parrot/soh-cah-toa/hbdb: Added explanation of new commands to docs/hbdb.pod. Now all commands are documentated.
02:20 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/03d29542d2
02:20 dalek parrot/soh-cah-toa/hbdb: c0f297d | soh_cah_toa++ | / (2 files):
02:20 dalek parrot/soh-cah-toa/hbdb: Refactored duplicate code in Parrot::Test::HBDB into _select(). Also modified regex for 'help' test in cmds.t so that all tests pass.
02:20 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/c0f297d09d
02:21 rdesfo joined #parrot
02:37 daniel-s joined #parrot
02:40 dalek parrot/nqp_pct: 66ba4bb | benabik++ | compilers/pct/src/PCT/HLLCompiler.pir:
02:40 dalek parrot/nqp_pct: PCT::HLLCompiler - create new PAST::NewCompilers
02:40 dalek parrot/nqp_pct:
02:40 dalek parrot/nqp_pct: It uses object attributes, so has to be reinitialized for each compilation.
02:40 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/66ba4bb17f
02:40 dalek parrot/nqp_pct: b11812c | benabik++ | compilers/pct/src/PAST/Compiler.p (2 files):
02:40 dalek parrot/nqp_pct: PAST::Compiler - don't add return to empty blocks
02:40 dalek parrot/nqp_pct:
02:40 dalek parrot/nqp_pct: This ended up with a POST::Op(undef, :pirop<return>) in the POST tree,
02:40 dalek parrot/nqp_pct: which confused poor POST::PBCCompiler.
02:40 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/b11812c5bf
02:40 dalek parrot/nqp_pct: bb13121 | benabik++ | t/compilers/pct/newpast.t:
02:40 dalek parrot/nqp_pct: newpast.t - make basic_tests simpler
02:40 dalek parrot/nqp_pct:
02:40 dalek parrot/nqp_pct: Test for slightly less details and do less debugging output.
02:40 dalek parrot/nqp_pct: Also, test empty block instead of a block with value.
02:40 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/bb13121c01
02:40 dalek parrot/nqp_pct: a386a03 | benabik++ | t/compilers/pct/newpast.t:
02:40 dalek parrot/nqp_pct: newpast.t - Test returning a variety of values
02:40 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/a386a03df9
02:42 benabik Next step: PAST::Val so I can maybe get t/compilers/pct/complete_workflow.t to also test generating bytecode.
03:10 dalek rakudo/nom: ad24903 | Coke++ | t/spectest.data:
03:10 dalek rakudo/nom: run more fudged tests/track failures
03:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ad24903059
04:18 dalek parrot/soh-cah-toa/hbdb: bfbe1a5 | soh_cah_toa++ | t/tools/hbdb/testlib/hello.pir:
04:18 dalek parrot/soh-cah-toa/hbdb: Added more advanced PIR file to testlib so that new features can be tested.
04:18 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/bfbe1a5cfd
04:18 dalek parrot/soh-cah-toa/hbdb: 056078a | soh_cah_toa++ | lib/Parrot/Test/HBDB.pm:
04:18 dalek parrot/soh-cah-toa/hbdb: Changed cmd_output_is() to use Test::Builder->is_eq() because is() doesn't exist. Also removed _generate_pbc() since HBDB uses PIR now.
04:18 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/056078a868
04:18 dalek parrot/soh-cah-toa/hbdb: 5870b16 | soh_cah_toa++ | / (2 files):
04:18 dalek parrot/soh-cah-toa/hbdb: Added test for 'list' command but doesn't pass yet. Tried to filter out welcome message with a regex but it doesn't quite work.
04:18 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/5870b16842
04:21 rdesfo joined #parrot
05:28 dalek parrot/m0-spec: d02371e | cotto++ | docs/pdds/draft/pdd32_m0.pod:
05:28 dalek parrot/m0-spec: add clarification about copy_mem and GC
05:28 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/d02371e6ef
05:48 fperrad joined #parrot
05:55 cotto aloha, clock?
05:55 aloha cotto: LAX: Sun, 22:55 PDT / CHI: Mon, 00:55 CDT / NYC: Mon, 01:55 EDT / UTC: Mon, 05:55 UTC / LON: Mon, 06:55 BST / BER: Mon, 07:55 CEST / TOK: Mon, 14:55 JST / SYD: Mon, 15:55 EST
06:36 SHODAN joined #parrot
07:12 contingencyplan joined #parrot
07:20 dodathome joined #parrot
07:58 mj41 joined #parrot
08:16 moritz joined #parrot
09:37 dalek rakudo/nom: 95e209b | moritz++ | t/spectest.data:
09:37 dalek rakudo/nom: run (heavily fudged) hyper.t
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/95e209bdfd
09:53 jsut joined #parrot
10:26 dalek rakudo/nom: 3ea71cf | moritz++ | / (2 files):
10:26 dalek rakudo/nom: add missing :Ds to EnumMap, start with EnumMap.ACCEPTS
10:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3ea71cf82f
11:00 lucian joined #parrot
11:01 mj41 joined #parrot
11:41 atrodo =~
11:52 tadzik ACCEPT()
11:53 * moritz is glad that REJECTS is gone
12:08 rdesfo joined #parrot
12:10 whiteknight joined #parrot
12:19 PacoLinux_ joined #parrot
12:36 ingy joined #parrot
12:39 dalek rakudo/nom: 169baab | moritz++ | src/core/EnumMap.pm:
12:39 dalek rakudo/nom: handle non-Str case of EnuMap.exists
12:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/169baab25e
12:39 dalek rakudo/nom: b4296cb | moritz++ | src/core/Match.pm:
12:39 dalek rakudo/nom: Match.ACCEPTS
12:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b4296cbfbc
12:51 whiteknight good morning, #parrot
12:51 tadzik good afternoon, whiteknight
12:52 whiteknight hello tadzik, how are you doing?
12:52 tadzik good. I got a new bike today :)
12:52 tadzik how is your housing stuff?
12:53 bluescreen joined #parrot
12:58 bubaflub ~
12:58 tadzik ~~
12:58 whiteknight tadzik: miserable. The whole deal fell through sunday morning, and now we have no house
12:58 tadzik what?
12:59 tadzik what do you mean, the deal fell?
12:59 whiteknight so we're going to go out and buy voodoo dolls shaped like the sellers and the realtor, and stick needles into them
12:59 whiteknight the sellers wanted more money than the house appraised for, and we couldn't mortgage more than the appraisal value. So, with no other options, we had to walk away from it
13:01 tadzik shit
13:02 whiteknight yeah. We got the call on sunday morning, so we scrapped all our plans and went out looking at houses for the rest of the day. Actually found some good ones we might be interested in
13:03 atrodo whiteknight> I'm sorry to hear that.  That's no fun at all
13:03 tadzik yeah
13:03 tadzik aloha: going to yapc::eu?
13:03 aloha tadzik: No clue. Sorry.
13:14 PacoLinux_ joined #parrot
13:34 Coke joined #parrot
13:56 contingencyplan joined #parrot
13:57 JimmyZ joined #parrot
14:17 particle joined #parrot
14:22 dalek rakudo/nom: 38be712 | jonathan++ | src/Perl6/Metamodel/RoleToRoleApplier.pm:
14:22 dalek rakudo/nom: Avoid a bunch of work when the role to role applier has an empty list of roles to apply.
14:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/38be7128f3
14:22 dalek rakudo/nom: f2aabfa | jonathan++ | src/Perl6/Metamodel/RoleTo (2 files):
14:22 dalek rakudo/nom: Avoid some (weird, hard to nail down) circularity issue in getting method names (we can't always do .name as NQP methods are Parrot subs, which we need to stringify...)
14:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f2aabfa56f
14:22 dalek rakudo/nom: 8fd1a35 | jonathan++ | src/core/Submethod.pm:
14:22 dalek rakudo/nom: Add missing Submethod.pm.
14:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8fd1a35f19
14:22 dalek rakudo/nom: e0867f0 | jonathan++ | / (3 files):
14:22 dalek rakudo/nom: Start to port over socket stuff from master. This doesn't quite work yet, but builds. Also will need to fix up packages.
14:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e0867f021c
14:26 lucian_ joined #parrot
14:47 dalek rakudo/nom: 99f5ce9 | moritz++ | / (2 files):
14:47 dalek rakudo/nom: first attempt to put MAIN back, tadzik++ did lot of the early work
14:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/99f5ce972c
14:49 tadzik woo, that's a hell simplier than it was
14:49 tadzik moritz++
15:04 dalek rakudo/nom: 429a183 | pmichaud++ | src/core/ (3 files):
15:04 dalek rakudo/nom: Some hyper metaop and hash updates.
15:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/429a183d57
15:06 lucian__ joined #parrot
15:16 rdesfo joined #parrot
15:24 mj41 joined #parrot
15:29 darbelo joined #parrot
15:34 nbrown joined #parrot
15:41 dalek rakudo/nom: ac51b44 | moritz++ | src/Perl6/Actions.pm:
15:41 dalek rakudo/nom: remove superfluous $MAIN lexical
15:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ac51b44fa7
16:13 jaffa4 joined #parrot
16:13 jaffa4 hi
16:13 jaffa4 where can I see what operations are supported by pir?
16:13 tadzik check out a list of opcodes on docs.parrot.org
16:14 jaffa4 In particular, how can I use exr?
16:14 jaffa4 In particular, how can I use xor?
16:14 tadzik that'd be http://docs.parrot.org/parrot/l​atest/html/src/ops/bit.ops.html
16:15 jaffa4 | and & seems to be working too
16:15 jaffa4 And they are not mentioned there.
16:15 bubaflub jaffa4: what about bxor?
16:16 bubaflub (bottom of that page)
16:16 whiteknight | and & are just syntax for the or and and operators
16:16 jaffa4 So I is not bitwise
16:16 jaffa4 So | and &  are not bitwise
16:16 whiteknight oh, wait, bor and band, maybe
16:16 whiteknight I don't know what they translate to
16:18 jaffa4 they are bitwise, I jsut tested them
16:27 whiteknight okay, so then it's bor and band opcodes
16:36 TiMBuS joined #parrot
16:37 jaffa4 Does anyone use parrot for anything?
16:37 tadzik yes, I use it daily :)
16:37 tadzik for developing the Perl 6 compiler
16:37 jaffa4 yes, perl 6, I forgot
16:38 jaffa4 I mean for real life stuff.
16:38 theory joined #parrot
16:39 lucian jaffa4: for end-user stuff? likely not
16:39 tadzik how do you define real life stuff? Parrot users are compilers implementors
16:40 lucian fwiw, i'm also writing a compiler
16:40 tadzik jay++ now writes an R compiler targetting Parrot
16:40 jaffa4 so am I.
16:41 jaffa4 ok, so who uses the compilers which use Parrot?
16:41 tadzik a plenty of people use Rakudo. I don't about NQR
16:42 tadzik most of them are in the early stages of development, that's true
16:42 tadzik or just not quite popular
16:42 tadzik oh, plenty of Parrot people use winxed
16:42 jaffa4 what is winxed?
16:43 tadzik a language syntactically similar to Javascript
16:43 lucian a sane parrot low-level language
16:43 tadzik http://winxed.org/
16:44 jaffa4 ok
16:57 jaffa4 how is number conversion done in pir?
16:57 whiteknight jaffa4: What kind of number conversion?
16:57 jaffa4 number to int, int to number.
16:58 cotto_work ~~
16:58 whiteknight $I0 = $N0, $N0 = $I0, etc
16:58 jaffa4 string to int, int to string
16:58 jaffa4 number to string
16:58 whiteknight all the register types autoconvert between themselves
16:58 whiteknight except PMCs, which you need to use the box opcode for
16:59 whiteknight for string conversions, there is also an sprintf opcode for detailed formatting to string
17:00 jaffa4 but this is not ok:$I2=$I0 * $N1
17:00 whiteknight PIR is an assembly language, you have to break that up into individual operations
17:01 jaffa4 ok
17:01 whiteknight actually, wait. I think that should work
17:01 benabik o/
17:01 jaffa4 -->>> error:imcc:The opcode 'mul_i_i_n' (mul<3>) was not found. C
17:01 whiteknight okay, we must not have that variant
17:01 cotto_work seen soh_cah_toa
17:01 aloha soh_cah_toa was last seen in msg 12 hours 41 mins ago <private message>.
17:02 whiteknight I would do something like $N2 = $I0 * $N1 \n $I2 = $N2
17:05 jaffa4 ok
17:05 rdesfo joined #parrot
17:12 dalek rakudo/nom: 9ca7ef7 | moritz++ | / (3 files):
17:12 dalek rakudo/nom: partially put back Temporal
17:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ca7ef7712
17:29 bubaflub joined #parrot
17:30 dalek rakudo/nom: ff8d46f | tadzik++ | src/Perl6/ (2 files):
17:30 dalek rakudo/nom: Implement a default DOC INIT phaser
17:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ff8d46f104
17:34 Coke joined #parrot
17:55 dalek rakudo/nom: c49a3c9 | pmichaud++ | src/core/ (2 files):
17:55 dalek rakudo/nom: Re-enable hyperop assignment metaops.
17:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c49a3c9f34
17:58 dmalcolm joined #parrot
18:08 bluescreen joined #parrot
18:28 dalek rakudo/nom: 362dac2 | jonathan++ | src/Perl6/Grammar.pm:
18:28 dalek rakudo/nom: Prevent scope leakage, which caused my module Foo { constant Bar = 42 } to end up declaring the constant my scoped.
18:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/362dac2e34
18:28 dalek rakudo/nom: e76d280 | jonathan++ | src/Perl6/SymbolTable.pm:
18:28 dalek rakudo/nom: Make a comment more accurate.
18:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e76d280878
18:28 dalek rakudo/nom: 98408a8 | jonathan++ | src/core/IO/Socket/INET.pm:
18:28 dalek rakudo/nom: Get socket IO working again, or at lesat enough for it to do a HTTP request and get the result.
18:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/98408a8e41
18:37 soh_cah_toa joined #parrot
18:37 soh_cah_toa ~~
18:38 tadzik hello soh_cah_toa
18:38 soh_cah_toa tadzik: hey
18:43 cotto_work hi soh_cah_toa.  I'm about to grab some lunch, but let's talk about GSoC a little later in the day.
18:44 soh_cah_toa cotto_work: sure
18:46 whiteknight soh_cah_toa: I got your message
18:46 soh_cah_toa whiteknight: good
18:47 whiteknight I didn't think GDB uses source code listings inside the object file, gdm finds the source file and loads it up separately
18:47 whiteknight that's why if you edit a file while you're running GDB, you'll get a warning about the source being newer than the binary
18:47 whiteknight if the HLL code has a "file" annotation, you can load it separately
18:47 soh_cah_toa hm, that's an idea
18:48 soh_cah_toa well, there's a few things i've been considering
18:48 whiteknight if I do winxed -o foo.pir foo.winxed, it will contain .annotation "file", "foo.winxed"
18:48 whiteknight Where you might stumble is in trying to run hbdb from a different directory, in that case the hlls really need to include full path information, not just relative path
18:49 soh_cah_toa right
18:49 whiteknight or, have some kind of command in hbdb to specify search locations
18:49 soh_cah_toa well, i'm actually sending an email to parrot-dev now. i think parrot really needs a *real* debug segment. something comparable to dwarf
18:49 soh_cah_toa i'd like to work on that post-summer w/ some people
18:50 soh_cah_toa i mean, the debug segment now is just so poor
18:50 soh_cah_toa i've been reading the dwarf specification and i think using it as a model would be very beneficial
18:50 whiteknight okay, I like that idea
18:51 whiteknight you're right, the current debug segment basically only contains a mapping of pc->line_number
18:51 soh_cah_toa yeah, and it sucks big time :)
18:52 soh_cah_toa needless to say, i would love to have your help w/ that after the pencils down period
18:52 dmalcolm joined #parrot
18:52 whiteknight having that kind of information available might also help other efforts, like post-facto optimizations and tracing JIT
18:53 soh_cah_toa indeed
18:53 whiteknight also, other analysis tools
18:53 soh_cah_toa yes, profiling/benchmarks and such
18:53 whiteknight I have in mind a tool for doing complexity analysis in a language-agnostic way.
18:54 soh_cah_toa well, good. i'm glad i have you on my side ;)
18:55 whiteknight I always felt like Parrot instrument would have been such an awesome basis for this kind of work, but unfortunately it got so damn broken
18:56 soh_cah_toa yeah
18:56 whiteknight What if we had something like a CodePointer PMC, which contained a Packfile reference and a pc value, and had interface methods to retrieve information about each opcode from the packfile
18:57 whiteknight and a runcore which, either for all ops or only at certain breakpoints, created a CodePointer and passed it to a callback for control and analysis?
18:57 soh_cah_toa not a bad start
18:57 whiteknight with that basis, the only thing you are limited by is the introspection methods on CodePointer, PackfileView, and related objects
18:58 soh_cah_toa right
18:58 whiteknight I had also kicked around the idea, long ago, of having runcores themselves be PMCs, with state and methods
18:58 whiteknight so in PIR we could do something like interp["runcore"] = $P0 to set a new one
18:58 whiteknight then $P0.break()
18:58 whiteknight or $P0.step() or $P0.run()
18:59 whiteknight etc
18:59 soh_cah_toa hmm...interesting
19:00 whiteknight this is just an unbounded brainstorm
19:01 soh_cah_toa one of the things that i'd need someone like you to help w/ is identifying what stages during hll compilation the debug info is generated and where it gets hll related info since i'm not that familiar w/ that
19:01 whiteknight IMCC populates the debug segment during PIR compilation, and it only really contains information about the PIR file or PIR snippet being compiled
19:01 whiteknight HLLs would output .annotation directives into the PIR stream during HLL->PIR compilation
19:02 whiteknight so the two are basically completely separate
19:02 soh_cah_toa yes
19:02 soh_cah_toa i think it's the hll data that should populate the debug segment though
19:03 whiteknight I don't know how we would get it there, and I'm not sure we want that anyway
19:04 whiteknight the annotations segment does contain all that juicy HLL line-mapping information, and is newer and more shiney
19:04 whiteknight so maybe the solution is, if possible, to skip the debug segment and read out the annotations segment directly
19:04 soh_cah_toa yeah, just (poor) line-mapping though
19:05 soh_cah_toa well, imagine a p6 user wanting to use hbdb. wouldn't it make more sense to debug his p6 file rather than the generated pir?
19:05 whiteknight yeah, that's why we do it through the annotations segment instead
19:05 whiteknight however you look at it, the two are going to have different semantics. Debugging PIR with no annotations is going to be far different from debugging HLL with annotations
19:06 whiteknight so we need to pick one or the other, or we need an abstraction layer that lets us handle both
19:06 soh_cah_toa hm, right
19:06 whiteknight for the purposes of your project, I suggest you stick with just .annotate and HLLs
19:06 whiteknight I suspect that would be easier to do
19:07 soh_cah_toa well, i've found that even annotations are quite inaccurate and weird. let me nopaste an example
19:07 whiteknight is that because the HLL compiler is outputting bad annotations, or because the annotations are being stored/retrieved incorrectly?
19:08 soh_cah_toa the former, i think
19:08 Eclesia joined #parrot
19:09 rdesfo joined #parrot
19:09 Eclesia hi
19:09 nopaste "soh_cah_toa" at 192.168.1.3 pasted "NQP Annotations" (158 lines) at http://nopaste.snit.ch/68657
19:09 whiteknight hello Eclesia
19:10 soh_cah_toa notice how the order of annotations is 0, 9, 15, 21 then back 1, 3, 4, 5...
19:11 benabik soh_cah_toa: That's because it sets up the lexical structure of the subs prior to running the rest of the code.
19:11 benabik You cannot assume that lines are run in order because the tree often gets rearranged.
19:11 soh_cah_toa so how could i do a "run to main" using annotations?
19:12 soh_cah_toa or just start at the very first line of the file
19:12 soh_cah_toa containing code, that is
19:12 whiteknight main would be the very first line of the file
19:12 whiteknight *unless* there is PIR compilation involved
19:12 soh_cah_toa there's two line 1 annotations though
19:12 benabik soh_cah_toa: Only one 0.  :-D
19:12 whiteknight IMCC executes certain ops as part of it's optimizations suite
19:13 whiteknight benabik: if it's a function you want to catch, a good bet would be to break in the runloop when an invokecc, invoke, methodcallcc or tailcall op are executed
19:14 whiteknight when one of those ops comes down the pipeline, you can check the PMC being invoked, get its name, and compare to what you are looking for
19:14 whiteknight it's a little bit ugly, but very direct
19:14 whiteknight alternatively, convince the HLL people to output a new "substart" annotation, or something similar
19:14 soh_cah_toa uh, what are those ops?
19:15 whiteknight those are the ops that perform invokation. invokecc and methodcallcc are the most common
19:15 whiteknight of course, :main gets called by the frontend, so until I merge my new branch you can't use that for main
19:15 benabik Fun fact:  NQP doesn't generate a main function…  It uses :load :init for the mainline code.
19:15 whiteknight yeah, I think your best bet is to get HLL authors to output a 'sub' annotation that is in effect for the duration of any sub
19:16 soh_cah_toa benabik: yeah, was just gonna say that
19:16 whiteknight once whiteknight/frontend_parrot2 merges, it won't matter anymore
19:16 whiteknight but that could still be weeks away at this rate
19:17 soh_cah_toa i'm not sure i follow, how would invokecc() or methodcallcc() (whatever those things do) indicate that this is the start of the file?
19:17 whiteknight soh_cah_toa: I thought you were talking about the start of a subn
19:17 whiteknight sub
19:17 soh_cah_toa oh no
19:17 whiteknight okay, you can still do an annotation-based approach
19:18 whiteknight while (!STRING_equal(interp, current_annotations["file"], "myfile.whatever")) { ... just run ... } {Oh, looks like we are in myfile.whatever!}
19:19 whiteknight that is obviously a very rough approximation
19:20 soh_cah_toa but that brings me back to the problem before. how can i ignore all the lexical sub initialization and have it appear to the user that we are starting at `say('Starting at line 3');` the first thing in the hll file
19:20 whiteknight that's what I'm talking about with a new "sub" annotation
19:21 whiteknight and why ignore lexical sub initialization? That's part of the runtime behavior of the program being debugged
19:21 whiteknight we want to see that
19:21 benabik +1
19:21 soh_cah_toa i know, i meant have it invisible to the user
19:21 rdesfo joined #parrot
19:21 whiteknight don't make it invisible to the user
19:21 whiteknight make it extra visible
19:21 whiteknight double-extra visible
19:21 cotto_work blink tags?
19:22 whiteknight I was thinking <marquee>
19:22 whiteknight style="font-size: x-large; color: #FF0000;"
19:22 * cotto_work may need to backscroll
19:23 whiteknight soh_cah_toa: if the HLL has semantics about loading and setup and stuff, that's part of the language and can't really be ignored
19:23 whiteknight ordering and details of that setup code may very well be a big part of what needs to be debugged anyway
19:23 soh_cah_toa yeah
19:24 Coke joined #parrot
19:24 whiteknight I wasn't aware of the fact that NQP doesn't use :main. That seems...wrong to me
19:25 cotto_work soh_cah_toa: don't focus too much on features you can't implement between now and the hard pencils down date.  As soon as that date passes you can go nuts (though you'll be evaluated on what was done as of pencils down).
19:25 whiteknight and the more nuts you go, the more we are going to need you to work in the IMCC insanity mines
19:26 cotto_work seen notfound
19:26 aloha notfound was last seen in #parrot 23 hours 6 mins ago saying "soh_cah_toa: mmmmmm.... Apple money? ;)".
19:27 soh_cah_toa yeah i know, it just makes me upset that w/o something like a real debug segment, hbdb is just gonna rot like that old debugger. it's hardly a practical tool
19:27 soh_cah_toa and i want to fix that after gsoc
19:29 whiteknight the value of gsoc is determined in part by what we learn from it
19:29 whiteknight my GSOC project was a dismal failure if you count the number of actual lines of working code it contributed to parrot master
19:29 soh_cah_toa i know. i do want people to actually use it though
19:29 whiteknight but in terms of the lessons learned, it was invaluable
19:30 whiteknight we have two choices: Have something that works, or learn enough that we can make something that works
19:30 soh_cah_toa i think that latter is true in my case
19:30 whiteknight if what we learn is how to do debug segments and annotation segments correctly, that's invaluable
19:31 Coke joined #parrot
19:31 whiteknight I suspect that what we are going to end up with in the far future is a debugger written in an HLL and running on top of Parrot
19:31 soh_cah_toa yeah, i just hope it can become a real roadmap goal for parrot
19:32 whiteknight if we have an implementation of a runloop written in PIR, that's the first step in that direction, and I suspect it won't be too hard
19:32 whiteknight bacek had something like that a while back, and I have a very good idea about how to do it myself
19:32 whiteknight once we have that, we can directly port most of HBDB to PIR or better
19:33 whiteknight And we can name it "HBDB2: Soh_cah_toa's revenge"
19:33 soh_cah_toa ew, no way am i writing a debugger in pir
19:33 soh_cah_toa ha!
19:35 whiteknight what we are going to need, in the long run for any debugger is a sane API for interacting with the debug and annotation segments of a packfile
19:35 soh_cah_toa yes
19:35 whiteknight So as you are picking your way through getting that information, start taking mental notes about what functions you wish we had
19:35 whiteknight and, don't hesitate to write them yourself, or ask me to write them
19:35 whiteknight because we do need them no matter what
19:36 cotto_work alternately, kidnap a gdb hacker
19:36 soh_cah_toa cotto_work: i tried a long time ago :)
19:36 whiteknight and hit him with a sock full of bytes and bad dreams
19:36 soh_cah_toa cotto_work: they're not friendly...enthusiastic...over there :(
19:36 soh_cah_toa s/friendly/very/
19:36 cotto_work soh_cah_toa: where do they hang out?
19:36 Eclesia anyone used anykind of archive pmc for read AND write succesfuly ?
19:37 soh_cah_toa cotto_work: the #gdb channel i think on freenode
19:37 cotto_work nm.  can find that myself.
19:37 cotto_work and my first guess would have been correct
19:37 cotto_work yes
19:38 soh_cah_toa i've been going through the dwarf spec and i definitely think i can start a "this is what we need" gist
19:38 soh_cah_toa but first...
19:38 whiteknight Eclesia: not that I know of
19:38 soh_cah_toa cotto_work: did you see my message about the tests?
19:39 whiteknight Eclesia: The archive PMCs were created to help submitting smoke reports. I don't know if they were ever used much beyond that
19:39 whiteknight Eclesia: We do need to maintain them better
19:39 cotto_work soh_cah_toa: I'll take a look now.
19:39 soh_cah_toa ok
19:43 cotto_work soh_cah_toa: which tests fail on your machine?  I'm getting empty output for the first cmds.t test.
19:44 M_o_C joined #parrot
19:44 soh_cah_toa cotto_work: they all do but now w/ empty output. i'll nopaste
19:45 nopaste "soh_cah_toa" at 192.168.1.3 pasted "HBDB Failed Tests" (57 lines) at http://nopaste.snit.ch/68662
19:46 cotto_work soh_cah_toa: any unpushed changes?
19:46 soh_cah_toa nope
19:51 Eclesia rah, those pod coments are hell. how is the stupid guy who invented doc blocs with =stuff ...
19:51 whiteknight Eclesia: I agree
19:52 * soh_cah_toa concurs
19:53 * tadzik concurs too
19:53 tadzik it's very nice to =comment the whole big block in one go
19:54 tadzik but I implemented all these, so I may be biased :)
19:54 Eclesia it's unreadable. if someone adds demo code in a comment block, we can't make the difference between what is doc and what is reall code .
19:55 whiteknight if I could go back in time and make Parrot not rely on POD for documentation, I would
19:55 soh_cah_toa yes! thank you!
19:56 whiteknight but it's not something to cry about now. We aren't going to change thousands of lines of pod documentation for no good reason
19:56 Eclesia make a small pir parser in pir to replace old pod coment by new ones ;)
19:56 whiteknight we're kind of stuck with it
19:56 tadzik Eclesia: then you have shitty syntax hilighter
19:57 Eclesia tadzik: I don't even have a syntax hilighter ! I didn't found anything to handle any of parrot syntaxes correctly so far
19:57 tadzik really? I thought they're even shipped with parrot (for vim at least)
19:57 Eclesia best I have is javascript syntax highlighter from netbeans with winxed
19:57 tadzik I see
19:57 Eclesia vim ...
19:58 whiteknight I have a basic winxed highlighter for gtkSourceView2.0
19:58 whiteknight ...which I need to update
20:00 cotto_work soh_cah_toa: if I comment out the two "next if..." statements, I get 3 passing tests.
20:01 cotto_work er, 2 passing tests and one failing
20:01 bluescreen joined #parrot
20:01 soh_cah_toa yeah, that's odd
20:02 soh_cah_toa i added those regexes b/c i was getting the welcome message in the output but after removing them it doesn't appear anymore
20:02 soh_cah_toa eh, whatever
20:03 tadzik Eclesia: what you're coding in?
20:03 Eclesia tadzik: my primary language is Java
20:04 tadzik oh, I mean the editor
20:04 Eclesia tadzik: netbeans mostly, nano when on a distant server
20:04 Eclesia leafpad sometimes too
20:04 tadzik I see
20:06 whiteknight I've never tried leafpad. Any good?
20:07 Eclesia whiteknight: lighter then gedit. boots nearly instantly
20:08 Eclesia I work with LXDE desktop ... even if I have a quad core and more memory then necessary ^^
20:08 tadzik heh. I have 2 GBs on KDE, while Rakudo compilation needs 1.3 GBs
20:10 cotto_work rakudo feature: takes less memory than kde
20:10 tadzik no, not really :)
20:10 tadzik but I almost cannot have both chromium and Rakudo compilation running
20:11 tadzik I probably need to buy another 2GBs
20:11 tadzik the times. They are a'changin
20:12 tadzik I remember when my desktop needed 40 MBs
20:14 cotto_work and the bits weighed 5 pounds and you had to carry them through snow uphill, both ways?
20:15 tadzik no, I'm still too young for that :P
20:19 Eclesia hourray ! finally write an archive
20:19 Eclesia tar ... well it's not compressed but at least it's an archove
20:20 Eclesia now , how can i read it ......
20:22 Eclesia I someone knows that would help
20:24 dalek website: benabik++ | GSoC 11: Breaking Radio Silence
20:24 dalek website: http://www.parrot.org/content/​gsoc-11-breaking-radio-silence
20:32 Eclesia left #parrot
21:33 rdesfo joined #parrot
21:44 Psyche^ joined #parrot
22:01 kid51 joined #parrot
22:09 kid51 joined #parrot
22:25 kid51 ~~
22:34 cotto_work hio kid51
22:34 Felipe aloha devs
22:41 kid51 cotto_work: Are you going to YAPC::EU?
22:44 cotto_work kid51: yup
22:44 kid51 aloha, going to YAPC::EU?
22:44 aloha kid51: Sorry, I don't know.
22:44 kid51 aloha: going to YAPC is cotto
22:44 aloha kid51: Okay.
22:44 kid51 cotto_work: Are you going to YAPC::EU?
22:44 kid51 aloha, going to YAPC::EU?
22:44 aloha kid51: I give up.
22:44 kid51 aloha, going to YAPC::EU is cotto
22:44 aloha kid51: Okay.
22:44 kid51 aloha, going to YAPC::EU?
22:44 aloha kid51: going to YAPC::EU is cotto
22:44 kid51 Anybody else?
22:46 kid51 aloha, going to YAPC::EU is also jnthn
22:46 aloha kid51: Okay.
22:46 kid51 aloha, going to YAPC::EU is also szabgab
22:46 aloha kid51: Okay.
22:47 kid51 aloha, going to YAPC::EU is also Maddingue
22:47 aloha kid51: Okay.
22:47 kid51 aloha, going to YAPC::EU is also TimToady
22:47 aloha kid51: Okay.
22:48 kid51 aloha, going to YAPC::EU is also rurban
22:48 aloha kid51: Okay.
22:48 kid51 aloha, going to YAPC::EU is also pmichaud
22:48 aloha kid51: Okay.
22:48 kid51 aloha, going to YAPC::EU?
22:48 aloha kid51: going to YAPC::EU is cotto or jnthn or szabgab or Maddingue or TimToady or rurban or pmichaud
22:49 kid51 [names taken from http://yapceurope.lv/ye2011/schedule/]
22:50 kid51 aloha, YAPC::EU::2011
22:50 kid51 aloha, YAPC::EU::2011?
22:50 aloha kid51: YAPC::EU::2011 is http://yapceurope.lv/ye2011/
22:50 kid51 nice bot
22:53 rdesfo joined #parrot
22:55 nopaste "kid51" at 192.168.1.3 pasted "Pace of GSOC blogging on http://parrot.org has slackened" (6 lines) at http://nopaste.snit.ch/68743
23:02 PacoLinux_ joined #parrot
23:10 darbelo joined #parrot
23:13 whiteknight joined #parrot
23:16 whiteknight good evening, #parrot
23:16 soh_cah_toa howdy
23:18 PacoLinux_ joined #parrot
23:20 whiteknight soh_cah_toa: okay, so let me get my mind out of the clouds for a little bit. What do you need me to do to help you reach the end of GSoC?
23:20 dalek parrot: c70c89c | jkeenan++ | lib/Parrot/Pmc2c/ (2 files):
23:20 dalek parrot: Merge branch 'tt2167/nstore'
23:20 dalek parrot: review: https://github.com/parrot/parrot/commit/c70c89c6c6
23:20 dalek parrot: 8c5cac5 | jkeenan++ | MANIFEST:
23:20 dalek parrot: Add two image files to MANIFEST.
23:20 dalek parrot: review: https://github.com/parrot/parrot/commit/8c5cac5019
23:21 benabik o/ whiteknight
23:21 soh_cah_toa whiteknight: well, at the moment, i'm having some problems w/ my tests. i keep getting the '(hbdb) ' prompt in the output i'm comparing and i can't figure out to get rid of it
23:22 whiteknight soh_cah_toa: okay
23:22 whiteknight the soh_cah_toa/hbdb branch? Which tests particularly?
23:23 whiteknight benabik: August 15th is a soft deadline, I think
23:23 soh_cah_toa s/_/-
23:23 whiteknight benabik: and you've been writing docs and tests all along, haven't you?
23:23 soh_cah_toa t/tools/hbdb/cmds.t
23:23 whiteknight soh_cah_toa: roger. On it. Over
23:23 soh_cah_toa 10-4
23:23 aloha 6
23:23 benabik whiteknight: Basically, yes.  Should probably write a guide to using it.
23:23 soh_cah_toa ha! thanks aloha
23:24 whiteknight benabik: guide++
23:24 whiteknight benabik++
23:24 kid51 Write a guide with steps 1-2-3... so specific that even kid51 can understand it :-)
23:24 kid51 like docs/project/release_manager_guide.pod
23:25 kid51 hbdb for dummies
23:26 benabik My guide will probably go: "To avoid PIR, do this.  These things are known not to work.  CAUTION: Minefield ahead."
23:27 * whiteknight just learned that gnome terminal has tabs
23:27 * whiteknight has become incredibly happy about that
23:28 whiteknight soh_cah_toa: okay, I see the failures
23:28 soh_cah_toa ok
23:33 whiteknight I wish these tests weren't written in perl
23:34 whiteknight my incompetence is more obvious in perl
23:34 soh_cah_toa ah...
23:36 whiteknight soh_cah_toa: the readline_interactive method of the FileHandle PMC prints the prompt string to stdout
23:36 whiteknight "(hbdb)"
23:36 whiteknight so the prompt is ending up on stdout and being picked up by the pipe into perl
23:36 soh_cah_toa yes
23:37 soh_cah_toa plus the command entered
23:37 whiteknight right
23:37 soh_cah_toa i tried filtering it w/ a regex in _select() but it doesn't seem to help
23:39 dafrito joined #parrot
23:40 kid51 soh_cah_toa: I like lib/Parrot/Test/HBDB.pm ...
23:40 dalek parrot/soh-cah-toa/hbdb: cb91e5e | Whiteknight++ | t/tools/hbdb/cmds.t:
23:40 dalek parrot/soh-cah-toa/hbdb: Fix one test, it was an issue with the expected value regex
23:40 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/cb91e5eaeb
23:40 kid51 ... but I don't so much like t/tools/hbdb/cmds.t
23:40 soh_cah_toa i know :(
23:41 kid51 Meaning, I like your perl in .pm, but not in .t
23:41 kid51 I don't see why you are making these calls to subroutines that wrap tests.
23:41 kid51 Why not call the tests directly?
23:42 whiteknight kid51: does help to keep variables neatly scoped
23:42 soh_cah_toa it limits scope and increases encapsulation. also, i figured that was convention b/c i saw it in some other test file
23:42 kid51 But it's overkill for that.
23:42 kid51 You just need blocks
23:42 kid51 Lemme show you.
23:43 whiteknight nooo!!!!
23:44 Felipe :P
23:45 nopaste "kid51" at 192.168.1.3 pasted "No need for subroutines which you only call once, when you can simply use blocks." (35 lines) at http://nopaste.snit.ch/68764
23:46 kid51 soh_cah_toa: Which "other test file" did you see that in?  (I'll go refactor it right away! :-) )
23:47 soh_cah_toa t/library/osutils.t
23:49 dalek rakudo/nom: af72bd3 | jonathan++ | src/Perl6/ (3 files):
23:49 dalek rakudo/nom: Start to improve and clean up package and type installation to fix some bugs and make various things work that didn't before.
23:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af72bd34da
23:49 dalek rakudo/nom: 1701656 | jonathan++ | src/Perl6/Actions.pm:
23:49 dalek rakudo/nom: Simplify installation part of constant action method to re-use more SymbolTable code.
23:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1701656719
23:49 dalek rakudo/nom: 53133a7 | jonathan++ | src/Perl6/SymbolTable.pm:
23:49 dalek rakudo/nom: Simplify install_package_symbol; it now need only concern itself with direct, not nested, installation.
23:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/53133a729e
23:49 dalek rakudo/nom: 6544695 | jonathan++ | src/Perl6/SymbolTable.pm:
23:49 dalek rakudo/nom: Couple of symbol handling fixes.
23:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/65446952c0
23:49 dalek rakudo/nom: bf856cd | jonathan++ | src/core/IO/Socket (2 files):
23:49 dalek rakudo/nom: Move Socket to be IO::Socket and INET to be IO::Socket::INET.
23:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bf856cd264
23:49 dalek rakudo/nom: 918e8c6 | jonathan++ | src/Perl6/ (2 files):
23:49 dalek rakudo/nom: Get need in place. Sketch out import, though export is a bit too incomplete for it to really work out yet.
23:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/918e8c64cf
23:49 dalek rakudo/nom: 8863d55 | jonathan++ | t/spectest.data:
23:49 dalek rakudo/nom: Run S12-subset/subtypes.t
23:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8863d55976
23:49 Felipe benign flood
23:49 Felipe :)
23:49 * soh_cah_toa will brb
23:50 dalek parrot/soh-cah-toa/hbdb: a59ebac | Whiteknight++ | lib/Parrot/Test/HBDB.pm:
23:50 dalek parrot/soh-cah-toa/hbdb: Partial fix. Only read one line per loop iteration. The < > operator reads a new line each time
23:50 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/a59ebacc42
23:52 kid51 msg soh_cah_toa The subroutines in t/library/osutils.t (like those in many other test files) are PIR subroutines, not Perl 5 subroutines.  So they're not a good model for your file.
23:52 aloha OK. I'll deliver the message.

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

Parrot | source cross referenced