Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 3 June 2012.
kid51 whiteknight: No fight. I just think getting other users' feedback would be good. 00:15
benabik On threads, I get a lot of failures in t/src/embed.t that it can't find _Parrot_new_string 00:20
kid51 On threads branch, darwin/ppc repeatedly hangs at test 37 of t/pmc/nci.t 00:22
In master, 'make test' continues to PASS on darwin/ppc. So what's happening in threads is a regression. 00:27
benabik WTF? Now I can't compile master. It can't find the library for -licuuc. 00:37
It was working yesterday... any libicuuc.dylib is where it should be.
But the linker line doesn't have the right path. WTF Configure? 00:39
moritz: ping 00:40
Okay, I think I can fix it for me without breaking it for moritz 00:44
And I'd love to fix that bignum thing while optimized 00:49
dalek rrot/whiteknight/io_cleanup1: 81003fd | Whiteknight++ | / (4 files):
Fix the way we pretend to set buffers on StringHandle. A few other small fixes. t/pmc/stringhandle.t now passes.
01:43
rrot/whiteknight/io_cleanup1: 3d5c787 | Whiteknight++ | src/io/buffer.c:
Fix small issue reading multi-byte characters out of the buffer
rrot/whiteknight/io_cleanup1: c71ec0c | Whiteknight++ | src/io/buffer.c:
Start peppering a few assertions through the buffering code to start trying to track down a memory corruption error I'm seeing in rare circumstances. Untested (might not even compile in this state)
kid51_at_dinner threads branch does not look good. 01:46
dalek rrot: e446d96 | benabik++ | MANIFEST.SKIP:
Regenerate MANIFEST.SKIP
01:47
rrot: 399bb0e | benabik++ | config/auto/icu.pm:
Fix auto::icu for non-standard ICU paths

While --ldflags was too much, --ldflags-libsonly isn't enough. So also ask icu-config for --ldflags-searchpath
kid51 On Darwin/PPC, t/pmc/nci.t, I had to comment out 8 tests between lines 1310 and 1985 to get that file to complete.
kid51 benabik: Would that commit require modifying t/steps/auto/icu-01.t? 01:48
benabik kid51: No. moritz already made it slightly more liberal.
kid51 thanks
benabik It checks for --ldflags. Any suffix is ignored 01:49
ttbot Parrot 399bb0e4 i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/89553 01:52
kid51 benabik: that looks like a Makefile error 01:54
benabik: Something is wrong with your commit to config/auto/icu.pm. 02:04
It's resulting in a value for 'icu_shared' in lib/Parrot/Config/Generated.pm that has a newline in it.
which is what's probably causing Makefile error
benabik *sigh* 02:11
kid51 The output you're capturing at line 282 has an embedded newline 02:12
icushared: captured -L/usr/lib
-licui18n -licuuc -licudata
benabik Doesn't do that locally, but alright. 02:13
kid51 try: perl Configure.pl --verbose-step=auto::icu
benabik I checked the output of icu-config. Must be something different between versions. 02:14
nopaste "kid51" at 70.85.31.226 pasted "perl Configure.pl --verbose-step=auto::icu" (106 lines) at nopaste.snit.ch/143734 02:15
benabik Working on a fix. 02:16
kid51 thanks:
msg whiteknight threads branch: had to comment out 8 tests in t/pmc/nci.t to get 'make test' to complete on Darwin/PPC 02:19
aloha OK. I'll deliver the message.
kid51 That's significant regression from master on same machine 02:20
dalek rrot: e69972a | benabik++ | config/auto/icu.pm:
Fix auto::icu for newline from icu-config
02:22
kid51 makefile error fixed 02:23
benabik Woo.
It should have worked, but wasn't 100% sure since I didn't see the error.
kid51 We'll have to see whether your fix works on Windows or not. 02:25
benabik u.u
kid51 Alright, that's enough for tonight 02:26
benabik I suppose icu-config might use \\r\\n in Windows. Blah.
02:37 crab2313 joined 03:15 kurahaupo joined
dalek : 3bba565 | jimmy++ | src/gencode.c:
added more unuse_reg
03:50
: 534079a | jimmy++ | src/gencode.c:
add more unuse_reg
05:05
: bda1b6a | jimmy++ | src/gencode.c:
some codes clean up, also reset the register allocator for each chunk
05:43
: a08ef9d | jimmy++ | src/gencode.c:
registers of each type is 61
05:54
d_parrot/cleanup: 697da51 | (Bart Wiegmans)++ | p (6 files):
Move provish to pudding
06:09
d_parrot/cleanup: 926798d | (Bart Wiegmans)++ | pudding/ (2 files):
This has become more of a messy than a cleanup branch. But 'pudding' actually works, which is nice.
: 1fad6ef | jimmy++ | src/gencode.c:
add more unuse_reg
06:23
06:43 pipebrain joined
pipebrain hello 06:44
moritz hello pipebrain
pipebrain i made a simple language with just the if statement by following the tutorial 06:45
executing files is fine
but when i try a file that contains unicode i get this
(wait I'll get the error)
Invalid character in ASCII string 06:46
the file is encoded utf8 without BOM
moritz I'm not familiar with the tutorial 06:47
pipebrain the tutorial is beside the point
moritz but somewhere you must have a main file, ie the entry point
sorear don't you need to explicitly specify utf8?
pipebrain it works in ascii
moritz and it contains a call to .command_line on the compiler object
pipebrain this works: if 1 {say "hello"; }
moritz there you can pass the option :encoding('utf8') 06:48
pipebrain ah
ok
command line argument?
moritz pipebrain: github.com/rakudo/rakudo/blob/nom/...in.nqp#L35
that's how rakudo does it
pipebrain ok
thanks for your help
moritz wait to see if it actually works :-) 06:49
if your entry point is written in PIR; it might need to be 'utf8' :named('encoding') 06:50
I can never remember which syntax PIR uses for named arguments :/
pipebrain i am using the skeleton generated by mk_language_shell.pl 06:51
i am gonna search the docs
i will post when done
moritz ok
I'll be afk for ~40 minutes
pipebrain thanks
take your time
07:04 brrt joined
pipebrain nice 07:09
my program works in utf8
the only remaining issue is that parrot cannot handle utf8 files that start with BOM (\\ufeff) 07:11
sorear not even if you strip the BOM after decoding? 07:19
pipebrain if you strip it it's fine 07:22
it's just an inconvenience
since a lot of editors (Windows based mostly) add the BOM 07:23
i think parrot should consider it whitespace for parsing purposes 07:24
moritz you can write your own token ws { } that does that 07:35
07:48 contingencyplan joined
dalek : 2b9a939 | jimmy++ | src/gencode.c:
avoids magical number
08:23
08:27 kjs joined 08:29 cosimo joined
dalek : e239f13 | kjs++ | src/gencode.c:
add a few clarifications and cleanups.
08:44
: 97da8da | kjs++ | src/gencode.c:
some comments and simplification.
08:55
: ea1faf8 | jimmy++ | src/gencode.c:
add more unuse_reg
09:05
: 69d6757 | jimmy++ | src/gencode.c:
fixed conflcts
09:22 dngor joined 09:55 kjs joined 10:16 mtk joined
aloha (parrot/parrot) Issues closed : 784 (m0 C interpreter cleanup (work in progress)) by gerdr : github.com/parrot/parrot/issues/784 10:51
10:53 JimmyZ joined
aloha (parrot/parrot) Issues closed : 784 (m0 C interpreter cleanup (work in progress)) by gerdr : github.com/parrot/parrot/issues/784 10:56
JimmyZ kjs: ping 11:10
kjs JimmyZ: poing
JimmyZ kjs: Do you how to do unuse_reg once a variable is unused? 11:12
JimmyZ dinner&
kjs ?
i don't get the question
11:20 brrt joined
kjs JimmyZ: not sure if this is what you mean, but a key to this is that m1_reg objects now have a is_symbol field. If a register is allocated to a symbol (see the code that checks for NO_REG_ALLOCATED_YET), then that flag is set. When calling unuse_reg() on such a reg, it won't do anything. 11:30
11:50 kid51 joined 11:53 not_gerd joined
not_gerd hello, #parrot 11:53
anyone around with gcc 4.6 or newer?
11:56 not_gerd joined 12:11 kjs joined
kjs JimmyZ: ping 12:13
JimmyZ kjs: pong
kjs hi there
i wasnt sure what you meant before you left for dinner 12:14
JimmyZ kjs: I want to reg.is_symbol = 0 when a variable is not used. 12:16
kjs JimmyZ: sorry I still dont' get it.. you want to ...? 12:17
JimmyZ hmm
kjs there's a verb missing which is essential :-) 12:18
JimmyZ kjs: you set reg.is_symbol when you gen a var, right?
set reg.is_symbol = 1 12:19
kjs you ONLY set reg.is_symbol is IF the register is assigned to a symbol = a declared variable.
so, whenever a register is retrieved through "use_reg" (a new reg is generated), then it MAY be assigned to a variable that is declared.
in THOSE cases, you "freeze" that register; you set its is_symbol flag, so it won't be "unused" when unuse_reg() is called on it. 12:20
when that flag is NOT set, then it's just a temporary register.
JimmyZ kjs: but when a declared variable is not used any more, we should set reg.is_symbol = 0, so we can freeze that register
kjs you mean unfreeze?
JimmyZ kjs: yeah, unfreeze 12:21
kjs JimmyZ: You would be right, but in the current setup of this system, I don't think there is a way to find out, YET
I know what you mean
you want to know when a symbol is no longer used, in the rest of a function
and then you can reuse that register
it's not that advanced yet :-() 12:22
:-)
I'll think about how to do that, but it's not very high priority at the moment. This is already a great improvement over what it was before.
JimmyZ kjs: yeah 12:23
kjs The number of registers is not so much a problem; a bigger problem is that there are a lot of instructions generated that are redundant. I think quite some improvements can be made there, but I'm not sure yet how to do that. 12:24
JimmyZ kjs: I got a easy idea, but I'm not sure whether it's right or not 12:25
kjs JimmyZ: it's not very likely that there will be 60 variables in a single function anyway.
JimmyZ: perhaps you can propose it on the mailing list? 12:26
get some input from a wider audience? Not everybody reads IRC logs.
One way to do it is a register allocator algorithm. Linear Scan Register allocation is one of them. Parrot/PIRC (google that for the repo.) has that. 12:27
JimmyZ: how comfortable are you with programming in M0? 12:33
M0 assembler coding, that is.
JimmyZ kjs: not comfortable, but can give it a try
m0_assembler.pl? 12:34
kjs oh well it's easy learn, but also easy to make mistakews
no, I mean using M0 as a programming langauge
its instruction set.
writing .m0 files :-)
I'm thinking about figuring out how to implement a vtable (an array) that contains functions/methods 12:35
JimmyZ kjs: I think you're more comfortable than me now :P. 12:36
kjs there's also a refactoring job to do in gencode.c if you're looking for some hackign to do 12:38
gencode_binary_{plus, minus, div, mult, mod, isgt, isge} share a lot of code. That needs to be refactored.
not_gerd bye, #parrot 12:40
12:40 not_gerd left 12:53 bluescreen joined 12:58 PacoAir joined 12:59 PacoAir joined
kjs JimmyZ: ping 13:02
JimmyZ kjs: pong 13:03
kjs JimmyZ: do you know how we can use a test harness or tool like Test::Harness or the "prove" commandline tool with M1's tests? 13:04
JimmyZ kjs: I don't know yet :( 13:06
kjs ok, no worries. I'll figure it out
13:09 Psyche^ joined
dalek : 53feeb9 | jimmy++ | / (2 files):
changed make test to use prove
13:17
JimmyZ kjs: ^^
kjs does that work?
JimmyZ kjs: test needs to be improved too. I did not do that. 13:18
kjs jimmy++ # it works
JimmyZ: let me do that.
JimmyZ kjs: 'make test' or 'make test-v' 13:19
dalek : f93dc28 | kjs++ | t/ (4 files):
fix up some tests.
13:27
kjs JimmyZ: that's beautiful. works now.
JimmyZ kjs++ 13:29
kjs jimmy++ #making tests useful!
dalek : 46c19c6 | jimmy++ | run_m1.sh:
improve run_m1.sh
13:34
kjs JimmyZ: There's something wrong with the unuse_reg system. I think we call it a bit too often :-) 13:46
or don't set the flags of is_symbol yet.
I think I'll do the "freezing" in the registers data structure rather than the individual registers, that seems safer. 13:47
dalek : a8f73b2 | kjs++ | src/gencode.c:
add a freeze_reg funciton (unused still). Cleanup some code, disable reg. optimizer as it's not working yet.
13:57
14:04 whiteknight joined
whiteknight good morning, #parrot 14:04
JimmyZ kjs: aye. 14:09
kjs JimmyZ: yeah, it's broken alright :-(
brrt morning, whiteknight
whiteknight msg kid51: Do you have a list of the nci.t tests you had to comment out on PPC? I suspect they might not be a problem. Rakudo doesn't use our NCI anyway, so problems there are not a severe and can be managed through fixes or deprecations 14:10
aloha OK. I'll deliver the message.
whiteknight hello brrt
14:15 jsut joined
brrt hows life 14:15
whiteknight brrt: blah.
brrt oh, why? 14:16
whiteknight brrt: Did a lot of yard work this weekend. When I was tired I went inside where my son was watching brightly colored childrens cartoons. So get angry, go back out side
dalek : fd6ef89 | jimmy++ | run_m1.sh:
improve run_m1.sh again
whiteknight now I'm sore from doing yard work
brrt :-) well, its better than sore from doing nothing 14:17
i'm halfway through the goal of the 'cleanup' branch 14:18
but that does mean the intermediate part is kind of.. troubling 14:20
dalek : 8d6d364 | kjs++ | / (2 files):
add test for pre/post inc. fix up reg. optimizer.
14:25
whiteknight brrt: What do you mean? 14:26
brrt well, its in this intermediate-nothing-working-right-now state 14:28
which i'd like to get out of ASAP
14:33 kjs joined 14:38 PacoAir joined, JimmyZ joined, dngor joined, cosimo joined, alvis joined, bacek_at_work joined, hernan joined, pjcj joined, autark joined, rblackwe joined, Util joined 14:41 Util joined, rblackwe joined, autark joined, pjcj joined, hernan joined, bacek_at_work joined, alvis joined, cosimo joined, dngor joined, JimmyZ joined, PacoAir joined
dalek : e20a972 | kjs++ | src/gencode. (2 files):
cleanup.
14:42
JimmyZ kjs++, unuse_reg system is fixed! 14:45
kjs JimmyZ: it seems so. We still need to test this to death, because I don't trust it completely.
dalek : b3e6cd1 | jimmy++ | src/gencode.c:
add more unuse_reg
14:46
kjs JimmyZ: not sure if you know this, but the general rule is, you can unuse() a reg if it's not pushed onto the regstack
that is, if it's not passed onto the regstack for other functions to use. 14:47
that's the most important thing to keep in mind.
JimmyZ kjs: yes, I know. and I know I can unuse a poped reg too
kjs JimmyZ: yes. 14:48
unless it's pushed back :-)
JimmyZ aye
14:56 contingencyplan joined
dalek : d99c937 | jimmy++ | src/gencode.c:
small clean up
15:07
15:07 dmalcolm joined 15:16 lateau joined
dalek d_parrot/cleanup: a4f66c2 | (Bart Wiegmans)++ | / (8 files):
Updated Configure for the new setup
15:17
: b8f91af | jimmy++ | src/gencode.c:
add more unuse_reg
15:51
16:02 brrt left
dalek d_parrot/cleanup: 5a97330 | (Bart Wiegmans)++ | / (2 files):
Deleted uneccesary files
16:03
d_parrot/cleanup: c2f9e52 | (Bart Wiegmans)++ | pudding/ (2 files):
Add module loading to pudding
16:25 jashwanth joined
jashwanth hello whiteknight 16:28
whiteknight hello jashwanth
jashwanth did you update PLA
whiteknight no, I have not 16:31
jashwanth actually even I did not no that night so could you tell me where I should do it 16:32
whiteknight src/pmc/nummatrix2d.pmc 16:45
Add it somewhere inside the pmclass { } block
Coke what week are we in on GSOC?
whiteknight Coke: I have no idea. 4 or 5 maybe?
jashwanth: In the future if you don't know where something goes, do experiments to find a good place 16:46
jashwanth ok
Coke whiteknight: I haven't seen any blogs. what's up? 16:56
except brrt++
kjs good afternoon, #parrot 16:57
moritz has a feeling that we'll have a lower success rate than usual
Coke I see initial posts from benabik jharper1 Jashwanth and brrt , but followups only from brrt++
kjs Quick survey on preferred M1 features. Does anyone like M1 to have heredocs? 17:00
moritz -1
kjs well that's clear then :-) 17:02
saves a lot of work.
Coke -1 17:07
whiteknight Coke: That's a good question. I've sort of forgotten about that 17:10
Coke msg cotto: how is benabik doing
aloha OK. I'll deliver the message.
Coke msg benabik: as your backup mentor, I'm not seeing any blog entries. what's up? 17:11
aloha OK. I'll deliver the message.
Coke msg dukeleto: I'm not seeing any blog entries from jashwanth. Everything ok with GSOC? 17:13
aloha OK. I'll deliver the message.
rurban Coke: my student 2 years ago did lots of blogging but bad coding. Got totally stuck in OO hell 17:17
Coke rurban: mmm, no blogging is not an an indicator of success. but this year, whiteknight said: 17:19
"Weekly blog posts and weekly meetings with your mentor are REQUIRED.
is very serious."
If you miss these things repeatedly, you will FAIL THE PROJECT. This
so, we have 3 failures already by that standard.
my initil send there is misleading: "Blogging is not an indicator of success". ... but it is required. 17:20
whiteknight Coke: Yes, we've been giving some leeway because some students had prior committments (finals, etc) for the first few weeks
I've just sent out an email reminder that even though we had been relaxed on it until now, blogging needs to pick up
jashwanth Coke:sorry for the mistake will write one right away 17:22
Coke jashwanth: I'm not your mentor, but thank you! 17:25
jashwanth++
jashwanth :-)
dalek website: Jashwanth++ | The initial step 17:36
website: www.parrot.org/content/initial-step
cotto moritz++ coke++ 17:47
benabik, ping 17:48
moritz what did I do?
cotto -1 to heredocs in m1
moritz oh :-)
easily earned karma then :-)
17:53 kjs joined
kjs Another quick survey on M1: do you want to have native M1 support for writing PMCs, including inheritance and vtable method overriding? (not sure if possible, but think so) 17:55
moritz that depends on your goals for M1 17:59
if you want it to be what stuff that we would currently use PIR or C for, then yes
kjs my goal for M1 is to become adopted as Mole :-)
cotto kjs, before answering that, try writing one and see where the holes would be. PMCs as we now know them should eventually be implemented in either M1 or something above it. 18:03
kjs ok, I'd better bite the bullet and do this. 18:11
dalek : 8629aa2 | kjs++ | / (6 files):
Start working on PMCs.
18:20
kudo/module-trace: 1b00e64 | moritz++ | src/Perl6/ModuleLoader.pm:
note end of module loading in debug mode
18:25
kudo/module-trace: 339771a | moritz++ | src/ (2 files):
start to trace module loading in a dynamic variable
kudo/module-trace: b5d0d37 | moritz++ | src/ (2 files):
enable basic module traces in X::Comp
18:50
: 55e2921 | kjs++ | src/ (3 files):
more infrastructure for PMCs.
18:59
: 8f09ce6 | kjs++ | / (4 files):
PMC defs parse. Add a test.
19:04
pmichaud anyone know the steps we would go through to test something on the gcc compile farm? (more) 19:05
larger question: NQP's serialization doesn't work on bigendian boxes; we're trying to get jnthn++ access to a bigendian box to test code updates. Any suggestions? 19:06
sorear do any of the parrot/rakudo core devs have a ppc mac lying around? 19:08
whiteknight pmichaud: dukeleto can probably set you up with it 19:10
dalek : a1e78f6 | kjs++ | / (2 files):
AST is generated correctly, apparently, as code is spit out for methods. Need to do a lot of mangling though. WIP!
19:13
pmichaud whiteknight: yes, I just saw his message referencing where to sign up for the compile farm 19:14
so I pointed jnthn++ at that. If anyone has other suggestions, forward them :)
whiteknight I haven't used it myself, so dukeleto is probably the best source of information
NotFound I have uses it a few times, but don't know if dukeleto has stablished some way to automate tests. 19:17
pmichaud we're not needing automated testing at this time; we just need something to develop and test on 19:18
dalek p: b1226fb | jnthn++ | src/6model/serialization.c:
Try to unbust things on big endian platforms. Untested, but should do the trick.
19:19
NotFound Then the references provided for sign up and use are fine.
whiteknight the parrot packfile serialization/deserialization code contains some helper functions and macros for dealing with the differences between platforms. We can try to expose more of that through an API if necessary
or, we can try to absorb some of the low-level bit-fiddly stuff from NQP into Parrot to deal with that too 19:20
probably what we want in the long run, considering our serialization leaves much to be desired 19:21
19:30 not_gerd joined
not_gerd hello, #parrot 19:30
19:30 kid51 joined
whiteknight hello not_gerd 19:30
not_gerd anyone around with a gcc version >= 4.6
whiteknight alester usually plays with the bleeding edge 19:31
not_gerd I believe the warning produced by gist.github.com/2909666 on 4.5 is a bug
19:32 brrt joined
not_gerd a related issue got fixed for 4.6, so I'm hopeful that has gone away as well 19:32
19:33 kid51_ joined
whiteknight ok 19:33
not_gerd this issue generates noise when building github.com/gerdr/m0 with gcc 19:34
19:34 bluescreen joined 19:41 jashwanth joined
dalek kudo/nom: 901f2a7 | jnthn++ | src/Perl6/Metamodel/MethodContainer.pm:
Fix duplicate method detection; don't boolify. Fixes the crappy error reporting for duplicate regex definitions in a grammar.
19:47
kudo/nom: b12854a | jnthn++ | src/Perl6/Actions.pm:
Make .foo behave the same way as $_.foo does with regard to perl6ization of types.
20:02
20:15 not_gerd left 20:20 alester joined
dalek d_parrot/cleanup: b947d2d | (Bart Wiegmans)++ | / (17 files):
Simplified the makefile and the structure
20:43
d_parrot/cleanup: 91c18b7 | (Bart Wiegmans)++ | / (4 files):
Add recursive makefile. Nearly done
kudo/module-trace: f97e562 | moritz++ | src/Perl6/ModuleLoader.pm:
restore GLOBAL if module loading failed
21:04
kudo/module-trace: 3d9fa49 | moritz++ | src/Perl6/ (2 files):
pass the line number to the module loader
21:14 alester joined 21:16 brrt left
dalek : 9a139ec | kjs++ | / (6 files):
various changes towards method calls. temporary hacks included.
21:20
21:29 kurahaupo joined
dalek : 6399a7f | kjs++ | / (3 files):
more work towards PMC vtables.
21:44
: 949a34d | kjs++ | src/ (2 files):
Store the registers usage table in the compiler object.
21:47
: d7b8411 | kjs++ | src/gencode.c:
add all methods to the const segment, so they can be copied from there in the vtable that is allocated in mem.
21:57
22:16 kid51 joined
dalek : a4bf32a | kjs++ | / (3 files):
fix up chained assignments. a = b = c.
22:25
: 362c1b3 | kjs++ | t/assignchain.m1:
fix up assign chain test.
22:27
22:30 whiteknight joined
dalek : 6fb9eb7 | kjs++ | src/gencode.c:
refactoring gencode for bitwise ops.
22:34
whiteknight good evening, #parrot 22:35
kjs hi whiteknight
whiteknight hello kjs
kjs how are things?
whiteknight things are good. Glad to be home from work 22:36
kjs :-) 22:37
dalek kudo/module-trace: 22f512d | moritz++ | src/Perl6/ModuleLoader.pm:
add line numbers where module loading occurs
22:42
kudo/module-trace: 7812723 | moritz++ | src/ (3 files):
p6ize module trace in World and pass it to the exception

it almost works, but the hashes seem to get flattend out
rrot-linear-algebra: ec828bc | Whiteknight++ | pmcs/examples/nummatrix2d.md:
remove a directory that shouldn't exist on this branch
22:48
rrot-linear-algebra: 46c9b37 | Whiteknight++ | s (5 files):
add get_pointer vtables to the matrix types, along with big warnings against using them.
whiteknight msg jashwanth I just added get_pointer vtables to all the matrix types in PLA. This should help you out. 22:49
aloha OK. I'll deliver the message.
dalek : 8cd613f | kjs++ | / (3 files):
the bitwise or operator was never added to lexer. Fix this. Remove whitespace from gencode. Add testfile for bitwise ops.
22:51
kudo/module-trace: d53986b | moritz++ | src/ (2 files):
itemize hashes in p6ize_recursive; remove debugging output

Now the output looks like I wanted it
22:54
rrot/pmc_emitter_document: 95e6f6c | jkeenan++ | lib/Parrot/Pmc2c/Emitter.pm:
Write preliminary documentation in POD format for find(), subst() and replace()..
23:03
: b0e3588 | kjs++ | / (2 files):
minor clean up in m1.y. add test file for math ops.
23:11
: d25b9c0 | kjs++ | docs/TODO.txt:
update status in TODO. not too bad.
23:22
23:24 travis-ci joined
travis-ci [travis-ci] parrot/parrot#419 (pmc_emitter_document - 95e6f6c : jkeenan): The build passed. 23:24
[travis-ci] Change view : github.com/parrot/parrot/compare/5......95e6f6c
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/1596608
23:24 travis-ci left 23:29 jsut joined