Parrot 4.3.0 "In Which..." | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 25 April 2012.
whiteknight good evening, #parrot 00:09
benabik o/ whiteknight 00:18
whiteknight hello benabik
I've officially started my annual "try to use vim" marathon
so expect foul language 00:19
00:19 autark joined
benabik speaks fluent Vim. 00:20
(and foul language)
dinner &
cotto quack 00:21
00:23 kid51 joined
whiteknight quack? 00:35
benabik honk
Coke fowl language.
whiteknight Coke: I've got a commit coming up for your branch that makes me very very happy 00:39
00:42 alester joined
whiteknight alester: you know what bugs me about ack? 00:49
alester: the debian package installs it as ack-grep, and I always have to set up the symlink 00:51
benabik ack...-grep? 00:55
sorear whiteknight: alester has no control over that 00:57
whiteknight I know. I don't have any complaints about things alester has control over
sorear benabik: names in Debian are assigned on a first come first serve basis
benabik: with very few exceptions (git, chromium), old programs are never renamed to make room for new ones 00:58
and even git-scm and chromium-browser didn't get the short names until after a long and acrimonious debate
git = GNU Interactive Tools, a distant relative of Norton Commander
Coke whiteknight: yessssssssssssssss? 01:07
whiteknight Coke: I'm still working on it. I need to setup a text editor and a few tools first 01:08
I just reinstalled ubuntu, so I lost everything I need to finish this like flex, bison, etc
01:23 nbrown joined 01:36 alester joined
alester whiteknight: I know, it sucks. 01:36
whiteknight alester: you need to go put your foot down. You're practically a celebrity around here 01:37
alester Where's "here"? In Debian packaging land?
I'm just glad they didn't call it "perl-grep"
or something with "perl" in the name
whiteknight alester: "here" is #parrot. You're a celebrity here 01:38
Coke whiteknight: is it likely that I will duplicate your work if I go hack on coke/rm_pasm? 01:48
whiteknight Coke: I'm editing compilers/imcc/* and src/pmc/imccompiler.pmc
and a little bit on src/interp/api.c
Coke ah, the hard bits. ok.
whiteknight see? I'm good for something 01:49
Coke wanders off to get the laptop
dalek rrot/coke/rm_pasm: 62008a2 | Whiteknight++ | / (11 files):
Rip out the PASM compreg from IMCC. Rip out a few internal flags to differentiate between PIR and PASM at the interface. Rip PASM mode out of IMCCompiler. A few other small hack jobs
01:52
whiteknight blah, I hate diffs like this, because there's no way to tell github that certain files shouldn't be diff'd 01:53
and then we see several hundred lines of bison output garbage 01:54
benabik You can use .gitattributes to set it -diff 02:09
No idea if github pays attention to it.
Coke whiteknight++ 02:16
cotto ~~ 02:17
nbrown hello cotto 02:20
how's the thinking going? 02:21
02:28 JimmyZ joined
JimmyZ hello cotto 02:29
cotto nbrown, trying to decide between fixing the existing M0 arg tests and just going ahead with figuring out the memory layout
nbrown oh, I fixed them in my branch. I thought I told you last night 02:30
check out the last couple commits to github.com/nbrown/parrot/tree/m0-c-args-fix
JimmyZ cotto: I'd like to change PC to +4, because the perl one is using a double dimensional array, while the C one is not. 02:31
cotto: I prefer the C one 02:32
nbrown JimmyZ: why does the internal representation of the ops data matter? isn't that just a implementation detail?
JimmyZ nbrown: PC+1 in current C one is wrong, but the perl interp is right 02:34
nbrown and I'm asking why is PC+1 wrong? To me +1 makes a lot of sense from a language design point of view: the second op is PC+1 past the first op 02:35
cotto JimmyZ, why do you say that? It makes sense to disallow the possibility of executing a misaligned op.
nbrown the fact that it's location 4 bytes down the address space seems irrelevant
JimmyZ the perl interp PC is always point to a instruction 02:36
but the C interp is not
that's why you must always *4
nbrown you have to *4 because there's essentially a physical and logical PC 02:37
cotto yes
nbrown I don't see why the logical should be the same as the physical 02:38
JimmyZ nbrown: the perl interp reads every instruction and store in a double dimensional array, the C interp reads instruction and stores it in a bytecode flow
nbrown yes
cotto nbrown, I have yet to see that args test pass, even with your changes 02:39
I don't like this test.
nbrown cotto: hmmmm, I wonder why it passes for me
cotto: I'm not strongly attached to it, but it's hard to debug when it doesn't fail 02:40
*for me
cotto nbrown, yeah
dalek rrot/coke/rm_pasm: eb1015f | coke++ | docs/ (13 files):
remove some references to PASM in the docs
JimmyZ the PC of C interp is point to a instruction, which is out of spec too.
*is not 02:41
nbrown JimmyZ: ok, so we should change the C implementation or make the concept of the logical PC clearer 02:42
cotto wfm
once I get this stupid test working
JimmyZ cotto: I think bytecode flow is better than double dimensional array, so I prefer to change spec to make PC + 4 02:43
nbrown JimmyZ: I still prefer the logical PC concept because it allows flexibility in the implementation but makes manipulating the PC manually predictable
JimmyZ likes faster load and execution :) 02:44
Coke whiteknight seems to have broken the build in coke/pasm
msg whiteknight: on coke/rm_pasm: ./pbc_to_exe parrot-nqp.pbc -> init_pmc() not implemented in class 'IMCCompiler' 02:45
aloha OK. I'll deliver the message.
nbrown JimmyZ: is you concern about execution speed the fact that there's a bunch of extra multiplies?
JimmyZ nbrown: the machine code is not +1 too, 02:46
cotto afk for a bit
JimmyZ machine code usually should be a data flow, not a array 02:47
any reason why PC must to be +1? 02:48
nbrown JimmyZ: fair enough. I still prefer +1, but there's no issue with either way, it just needs to be documented clearly
JimmyZ: not really. I was trying to get the C and perl implementations to pass the same test suite, so one had to win and fixing the C implementation seemed simpler 02:49
JimmyZ well, I prefer data flow because it always faster than a double dimensional array
cotto I like +1 because there's less ambiguity and potential for breakage. That's about all.
nbrown JimmyZ: we're still doing the data flow, we're just treating PC logically (+1) and physically (+4) 02:50
JimmyZ OK
nbrown JimmyZ: the logical exists for the programmer and higher level languages like m1, while the physical is something only m0 needs to know about 02:51
JimmyZ only if the C interp is not like the perl interp :)
I'm fine
nbrown JimmyZ: and it isn't
JimmyZ hopes it won't be changed in the future too 02:52
nbrown JimmyZ: not if I have any say
the current C ops loop is pretty simple and I like it that way :) 02:53
JimmyZ yes
nbrown it makes debugging the interpreter not too bad 02:54
JimmyZ that's why prefer it
*why I
dalek rrot/coke/rm_pasm: a5f1118 | coke++ | docs/book/draft/ch10_opcode_reference.pod:
Remove (stale anyway) PASM xref info
02:55
Coke urrr. what is the difference between: 03:05
git diff docs/book/pir/ch02_getting_started.pod docs/book/draft/ch02_getting_started.pod
... I struck PASM from one of them and when I was doing the other i noticed it was verrrry similar. 03:06
msg alvis check out: git diff docs/book/pir/ch02_getting_started.pod docs/book/draft/ch02_getting_started.pod
aloha OK. I'll deliver the message.
dalek rrot/coke/rm_pasm: 5ff60df | coke++ | docs/ (12 files):
remove/update more PASM references
03:10
cotto the thing finally passes 04:22
well, the C implementation does
stupid multiple implementations, exposing bugs in each other
dalek rrot/m0-c-args-fix: 827748e | nbrown++ | t/m0/integration/m0_args.m0:
Fail m0_args if argv[1] doesn't have the right number of bytes
04:58
rrot/m0-c-args-fix: e6473c6 | nbrown++ | t/m0/integration/m0_args.m0:
Treat argv[1] as an m0 string instead of a C string
cotto and now all tests pass on both implementations
rrot/m0-c-args-fix: 9d8bde2 | cotto++ | src/m0/perl5/m0_interp.pl:
fix perl5-m0's encoding of cli arguments
04:59
rrot/m0-c-args-fix: 07708ab | cotto++ | src/m0/c/m0_ops.c:
add a debugging macro for c-m0
rrot/m0-c-args-fix: 273be9f | cotto++ | t/m0/integration/m0_args.m0:
fix the args test, add some disabled debugging code
cotto if only nbrown or I could figure out why they were passing before on his machine
nbrown, please test that on your machine 05:00
06:34 fperrad joined 07:08 brrt joined
dalek rrot/m0: 2638f9f | cotto++ | / (3 files):
update cm0 to encode cli arguments as M0 strings

The code emits a warning and needs a bit of cleanup, but the new args_basic test successfully prints out its first arg. Issues with the m0_args.t are probably due a bug in that test.
07:13
rrot/m0: 525be62 | cotto++ | src/m0/perl5/m0_interp.pl:
remove a stray newline from the p5 m0 interp
rrot/m0: 6811dd3 | nbrown++ | src/m0/c/m0_interp.c:
Use 32 bit integers for the string length and encoding
rrot/m0: c571a65 | nbrown++ | src/m0/c/m0_interp.c:
Make interp_argv be uint64_t* instead of char**

make m0_args_basic access the correct argument.
rrot/m0: 6618c48 | cotto++ | t/m0/integration/m0_args_basic.m0:
remove bogus test. m0_args tests this more effectively
rrot/m0: 5140899 | cotto++ | src/m0/c/m0_ops.c:
macroize op invocations to make debugging a bit less painful
rrot/m0: 827748e | nbrown++ | t/m0/integration/m0_args.m0:
Fail m0_args if argv[1] doesn't have the right number of bytes
cotto so much for the heuristic
rrot/m0: e6473c6 | nbrown++ | t/m0/integration/m0_args.m0:
Treat argv[1] as an m0 string instead of a C string
rrot/m0: 9d8bde2 | cotto++ | src/m0/perl5/m0_interp.pl:
fix perl5-m0's encoding of cli arguments
rrot/m0: 07708ab | cotto++ | src/m0/c/m0_ops.c:
add a debugging macro for c-m0
rrot/m0: 273be9f | cotto++ | t/m0/integration/m0_args.m0:
fix the args test, add some disabled debugging code
07:14
cotto I guess I'll just have to deal with the karma.
tadzik wow, commits 07:15
commits everywhere!
cotto I'm big on recycling. I even recycle commits. 07:18
It's environmentally friendly *and* lazy.
tadzik renewable karma 07:20
dalek rrot/m0: df7bafd | cotto++ | docs/pdds/draft/pdd32_m0.pod:
remove reference to load_const, fix some formatting
07:33
rrot/m0: c1e846b | cotto++ | docs/pdds/draft/pdd32_m0.pod:
try to clarify how string constants work
cotto nice to have that cleaned up a bit
08:25 lucian joined
nbrown cotto: both cm0 and perl m0 pass all tests for me. Looking at your changes I have no idea how it passed before 09:44
cotto++ 09:45
dalek kudo/nom: 7836d2f | moritz++ | / (3 files):
implement $?LINE and $?FILE
09:56
kudo/nom: 97f9756 | moritz++ | src/Perl6/Actions.pm:
fix exception throwing from previous commit
10:11
10:37 JimmyZ joined
JimmyZ good before evening, #parrot 10:38
Coke: ping 10:45
dalek rrot/coke/rm_pasm: ddd8294 | jimmy++ | examples/nci/QtHelloWorld.pasm:
removed QtHelloWorld.pasm
10:49
rrot/coke/rm_pasm: 141099a | jimmy++ | examples/nci/xlibtest.nqp:
removed xlibtest.nqp, the old nqp is not exist anymore
10:51
JimmyZ nbrown: ping? 11:07
11:28 schm00ster joined 12:18 jashwanth joined
Coke JimmyZ: pong 12:23
JimmyZ Coke: I'd like to remove some examples, which is pasm
Coke my only concern with that is possiby translating the examples from pasm to something else - if they're truly showing off PASM, kill them. If they're showing how to, say, use a library that doesn't have another sample in another language, think about rewriting it. 12:25
JimmyZ Coke: some examples are 6 years old, and I don't think anyone will be interested with it 12:26
Coke use your discretion, that's fine. 12:27
just don't break the build like whiteknight. ;)
JimmyZ Coke: :P
Coke č¬č¬ 12:28
JimmyZ äøē”Øå®¢ę°”
dalek p: 42329b4 | moritz++ | src/HLL/CommandLine.pm:
remove some debugging output
12:30
p: 88f00e1 | moritz++ | / (2 files):
fix and test multiple uses of same command line option
Coke needs to step up his chinese studies as time permits. 12:31
my hanzi skills consist of cutting and pasting from google translate, and I can say "I speak a little Mandarin." but not much else. ;)
12:35 whiteknight joined
whiteknight good morning, #parrot 12:36
moritz oh shark whiteknight
whiteknight ?
moritz we realized on #perl6 that 'hai' means 'shark' in several languages 12:37
so 'oh hai' became 'oh shark'
whiteknight nice 12:38
Coke oh snap. 12:39
12:39 preflex_ joined
dalek kudo/nom: 93a44d7 | moritz++ | / (4 files):
Implement -M option

Currently only works for proper modules, not pragmas like fatal or MONKEY_TYPING.
Also bumps NQP revision to get command line parser fixes
12:41
12:54 jashwanth joined 12:58 PacoAir joined 13:06 davidfetter joined
dalek rrot/coke/rm_pasm: e5d21d4 | jimmy++ | examples/benchmarks/addit (4 files):
removed addit.pasm from examples/benchmarks
13:18
rrot/coke/rm_pasm: a270008 | jimmy++ | examples/benchmarks/mops (3 files):
removed mops* files from examples/benchmarks
13:20
rrot/coke/rm_pasm: 2540839 | jimmy++ | examples/benchmarks/oo4.p (2 files):
changed oo4.pasm to oo4.pir
13:29
13:30 jashwanth joined
dalek rrot/coke/rm_pasm: d8fb0d8 | jimmy++ | examples/benchmarks/oo4.pir:
change pasm to pir in oo4.pir
13:31
rrot/coke/rm_pasm: f548f94 | jimmy++ | examples/mops/ (10 files):
removed mop dir from examples, there are no pirs and no pasms
13:34
kudo/nom: 0059aa6 | duff++ | src/Perl6/Grammar.pm:
Fix typo in subrule
13:42
13:44 dngor joined 14:30 dngor_ joined 14:31 bluescreen joined 14:44 contingencyplan joined 14:50 jashwanth joined 15:14 lucian joined 15:16 jsut joined 15:19 benabik joined, davidfetter joined
dalek nxed: eeba2b5 | NotFound++ | winxedst2.winxed:
fix multi assign modifiers
15:19
nxed: 38728bf | NotFound++ | winxedst2.winxed:
allow multi assign in inline
benabik ~~ 15:20
15:24 JimmyZ joined 15:25 dmalcolm joined 15:34 JimmyZ_ joined
whiteknight hello benabik 15:38
benabik 'lo whiteknight
whiteknight: If you thought upgrading Ubuntu was fun, try updating a homebrew automated installer. I love how they changed configuration and package names ever so slightly. 15:39
whiteknight I've been bitten several times by weird little renaming decisions, especially by ubuntu 15:40
or moving install paths for common libraries, or changing the names of .h files, etc
dalek nxed: 05af985 | NotFound++ | winxedst2.winxed:
add a class for function parameter list
15:41
benabik The fun one for me was that they changed the installer `netcfg/disable_dhcp` to `netcfg/disable_autoconfig`. So the installer happily went and tried to use DHCP instead of all the static information my config script gave it 15:50
Of course, this doesn't cause errors at the networking step, but much later. And doesn't occur on my VM setup which does use DHCP. Blah. 15:54
dukeleto ~~ 15:55
whiteknight hello dukeleto 15:57
dukeleto whiteknight: hola!
whiteknight dukeleto: FYI, I've been seeing some PLA failures, which I think are related to the Ubuntu 12.04 update. I'm going to track those down tonight or this weekend.
dukeleto: and jashwanth was seeing some segfaults in PLA, but I suspect it's from an improperly installed parrot and a libparrot mismatch
dukeleto whiteknight: sounds fun 15:58
whiteknight: both parties signed docs yesterday and I am waiting for it to record + get keys today
whiteknight: i avoid ubuntu updates like the plague. I am still on 10.04 and 10.10 15:59
benabik dukeleto: Yay! \\o//
dukeleto benabik: thanks! It has been a crazy few weeks. 16:00
benabik was so excited he grew an extra arm, apparently.
dukeleto \\\\\\\\\\o////// # cthulhu wave
whiteknight: i will pull down a fresh PLA+parrot and see if I can get some smoke for you 16:01
whiteknight dukeleto: congrats! I sincerely hope it works out for you this time 16:02
benabik Hm. New record load: 1071 16:03
whiteknight unfortunately, it's not over till those keys are in your hand
benabik: saw an article that you might find interesting about static analysis: lwn.net/SubscriberLink/493599/7621ec4c8ab14f15/
actually, it's about how different internal representations (GCC's GIMPLE vs LLVM's AST) are suited for it
benabik I wonder what the overall structure of GIMPLE is. 16:06
whiteknight honestly, I have no idea
benabik I would personally dispute the idea that the AST is the best form for static analysis. It's good for some things, but not others.
whiteknight dukeleto: regarding your aversion to Ubuntu upgrades, I think I need to get into that mindset myself 16:07
dukeleto: The upgrades are always too painful. When the upgrade works I end up with weird software changes, and when the upgrade doesn't work I end up with emergency restore CDs and a few missing hours
dukeleto whiteknight: yep. That happened to me one too many times. 16:10
PerlJam fwiw, my laptop upgrade to ubuntu 12.04 went super smooth.
whiteknight PerlJam: I know it's smooth for most people, but it always is a disaster for me 16:11
and I haven't been able to figure out why there's a discrepancy
PerlJam well, this is the first time it's been smooth for me.
cotto ~~ 16:28
Coke ubuntu is on 12 already? eesh 16:46
my upgrade to 10.x was horrible (broke sleep), and I've pretty much never recovered. 16:47
Coke will try it, mebbe it'll make me happy
dukeleto Coke: i doubt it
Coke: all the GUI stuff got changed to look like Windows or some junk 16:48
Coke dukeleto: given that it was changed before that to look like a cell phone, I think I'll be ok.
I basially just want it for chrome, gcc, and ssh.
16:51 PacoAir joined
Coke aloha: msg jimmyz: some of the tests you converted in t/pmc/sub.t are failing - please fix them or back out the initial change to pir. 17:16
aloha Coke: OK. I'll deliver the message.
Coke whiteknight: Did you see the message that you broke nqp in branch? 17:17
whiteknight Coke: no I didn't see that message. I'll fix it tonight 17:18
Coke Danke. 17:19
whiteknight Oh, I suspect I didn't update pbc_to_exe after my api change 17:24
Coke did we /need/ an API change? 17:34
seems like if we can avoid an api change, we'll be better off. (aside from something like "compile_block_of_PASM", of course.
cotto ~~ 17:35
whiteknight Coke: I think we did, yes.
Coke: we certainly wanted to get rid of that compreg, if we're not supporting it anymore
Coke I'd have to see what the change was. 17:36
instead of removing init_int, why not just restrict the valid values? 17:37
(I mean, obviously we'd only have PIR at that point, but it would avoid a rewrite, and leave the door open for something other than PIR.) 17:39
whiteknight we can keep init_int 17:46
dukeleto i am a fan of init_int 17:48
whiteknight it's unneeded in this case, but we can keep it for some backwards compatibility. I don't think that's the change that broke NQP anyway 17:54
dukeleto whiteknight: lots of HLLs, libraries, etc use init_int (including the elderly PL/Parrot) 17:55
Coke whiteknight: that's the change it complained about, yes. 17:59
dukeleto whiteknight: i am testing pla on the latest parrot+rosella master now 18:02
whiteknight dukeleto: I'm not removing init_int, I'm just removing it from IMCCompiler PMC 18:06
18:23 PacoAir joined 18:30 PacoAir joined
Coke whiteknight: except not . ;) 18:34
that is, except, you're adding it back, neh? 18:35
whiteknight Coke: Yeah. I may back that entire commit out and save it for a later branch 18:49
it's stuff we want done, but it might be too aggressive a step for this branch 18:51
18:51 alester joined
dalek nxed: 98bc7a9 | NotFound++ | winxedst2.winxed:
allow local functions in inline
18:58
nxed: df000e3 | NotFound++ | winxedst2.winxed:
allow parameters and lexicals in local functions inside inline
nxed: 1f58aaf | NotFound++ | winxedst2.winxed:
forgotten part of parameters in inlined local functions
nxed: b165c17 | NotFound++ | winxedst2.winxed:
allow return in inlined local functions
benabik ack-grep --thpppt just doesn't seem as right. 19:14
19:22 bluescreen joined
dalek nxed: 5c6a1eb | NotFound++ | t/advanced/20experimental.t:
tests for local inline new features
19:32
cotto $ alias|ack ack 19:33
alias ack='ack-grep'
problem solved
whiteknight blah: you know those days where you have straight-forward problems to work on, and you get them done and you feel like you've accomplished something? Today is not one of those days for me. 19:46
dukeleto whiteknight: i feel ya 19:49
whiteknight: i am running the pla test suite on the latest parrot+rosella right now
whiteknight: PASS on ubuntu 10.10 64bit 19:51
whiteknight nice. Let me know what you find. jashwanth was seeing a few errors that look like they might be problems in Parrot. I saw a few issues on 12.04 that look related to BLAS binding or symbol export, which I'm sure is something that got monkeyed with in the upgrade 19:52
I know it worked when I was on 11.10, so getting it working in 12.04 too shouldn't be too hard. But jashwanth isn't on 12.04 anyway so it's low priority
Making it work on whatever system jashwanth is using is my priority 19:53
That means I'm probably going to have to set up a 32-bit ubuntu 11.10 VM tonight for testing 19:55
...which means I probably need to reinstall virtualbox 19:56
dukeleto whiteknight: oy vey 20:06
I found a reproducible bug in "tail" today which causes it to core dump. Achievement unlocked. 20:47
moritz oh wow
tadzik nice 20:49
cotto dukeleto: wow 20:51
what's the bug?
and I'm pretty sure that covers at least two achievements
dukeleto cotto: while in screen, i tail -f a file and then press "CTRL-Shift-Insert" 21:01
cotto: i have core files to prove it :)
Incidentally, these core files were owned by the wrong user and then caused deployments to fail. SO MUCH WIN. 21:02
cotto my version is fine, sadly 21:03
8.5
PerlJam dukeleto: is that a tail problem or a screen problem? Sounds like the latter.
21:07 bluescreen_ joined 21:08 alester joined
dukeleto PerlJam: not sure, actually 21:25
PerlJam: probably screen. One less achievement, I guess.
dalek p/toqast: aba8043 | jnthn++ | src/QAST/Node.nqp:
Slots for slurpy and named.
21:28
p/toqast: 9191efb | jnthn++ | src/QAST/Compiler.nqp:
Start to get support for local parameters in place, including natively typed ones.
p/toqast: 85b021d | jnthn++ | t/qast/qast.t:
A couple of tests for local parameters.
21:36 rurban joined
rurban packacking for cygwin: I have a config/gen/opengl.pm patch (stricter X11 vs non-X11) 21:38
21:39 brrt joined
dukeleto rurban: send it our way! 21:42
rurban github issue? 21:43
#761
do I have to clone and patch it also, or is the src patch enough?
aloha (parrot/parrot) Issues opened : 761 (cygwin needs to strictly decide between X11 opengl and non-X11 opengl) by rurban : github.com/parrot/parrot/issues/761 21:44
dukeleto rurban++
rurban mingw might be influenced. They might to add the w32api header path extra. 21:45
cygwin folks persuaded me to favor X11 over native opengl now. 21:46
22:04 bluescreen__ joined 22:54 whiteknight joined
whiteknight good evening, #parrot 22:54
cotto hi whiteknight 22:59
whiteknight hello cotto
bleh, I don't even have autoconf installed. I thought that was a staple 23:18
cotto did you install build-essentials? 23:19
istr it including that kind of thing
whiteknight I'm getting it now
It's just weird that something so important wouldnt be included by default 23:21
cotto that's one of the downsides of a consumer-oriented distribution
easy fix, of course 23:22
whiteknight Ubuntu is the closet thing to a "perfect" distro that I've found, so I can't complain too much
rurban Ubuntu with its GNOME3 mess? Debian maybe 23:34
whiteknight different things for different people, of course. I actually like unity 23:35
I know that's not a very popular opinion
rurban++ # Still working on cygwin 23:36
rurban got some hanging tests with cygwin. alarm, task. src/checkdepend.t also fails 23:37
23:49 aloha joined 23:58 aloha joined