[add misc utilities
John Meacham <john@repetae.net>**20100722130036
 Ignore-this: fc24c8b3a8f205ee61ff57bfb697c447
] addfile ./utils/collect_tests.prl
hunk ./utils/collect_tests.prl 1
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+my %has_test;
+
+for my $fn (@ARGV) {
+    my ($modname, $has_test) = (undef,0);
+    open my $fh, "<", $fn or next;
+    while($_ = <$fh>) {
+        s/--.*//;
+        s/{-.*-}//;
+        $modname = $1 if /\s*module\s+([A-Z][A-Za-z_.]*)/;
+        $has_test = 1 if /\bEXPORT_SELFTEST\b/;
+        last if /\bwhere\b/;
+    }
+    next unless defined $modname;
+    #print "$modname: $has_test\n";
+    $has_test{$modname} = $has_test;
+}
+
+
+print "module SelfTest(selfTest) where\n\n";
+foreach(sort keys %has_test) {
+    print "import qualified $_(_selftest)\n";
+}
+print "\n\n";
+
+print "selfTest = do\n";
+foreach(sort keys %has_test) {
+    print "    $_._selftest\n";
+}
addfile ./utils/namecheck.sh
hunk ./utils/namecheck.sh 1
+#!/bin/zsh
+for a in $(grep -o -E '^[a-zA-Z_0-9#]+' src/Name/Prim.hs); do
+    echo -n "$a: "
+    grep -l -E "\<$a\>" src/**/*.hs | grep -v '^src/Name/Prim' | wc -l
+done;