summaryrefslogtreecommitdiffstats
path: root/tests/loc.hs
blob: 3d83925bdae51f4d74db7364d4dbaf04759fb682 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import Control.Monad
import System.Exit

main = do foo <- getContents
          let actual_loc = filter (not.null) $ filter isntcomment $
                           map (dropWhile (==' ')) $ lines foo
              loc = length actual_loc
          putStrLn $ show loc
          -- uncomment the following to check for mistakes in isntcomment
          -- putStr $ unlines $ actual_loc
          when (loc > 550) $ fail "Too many lines of code!"

isntcomment "" = False
isntcomment ('-':'-':_) = False
isntcomment ('{':'-':_) = False -- pragmas
isntcomment _ = True