[make lint check for duplicate definitions and check code right after conversion from Hs
John Meacham <john@repetae.net>**20060314235605] hunk ./Main.hs 207
+    sequence_ [lintCheckE fullDataTable v e | (_,v,e) <- ds ]
hunk ./Main.hs 713
-lintCheckProgram prog | flint = mapM_ f (programDs prog) where
-    f (tvr,e) = lintCheckE (progDataTable prog) tvr e
+lintCheckProgram prog | flint = do
+    let f (tvr,e) = lintCheckE (progDataTable prog) tvr e
+    when (hasRepeatUnder fst (programDs prog)) $ fail "program has repeated toplevel definitions"
+    mapM_ f (programDs prog)