aboutsummaryrefslogblamecommitdiffstats
path: root/tests/loc.hs
blob: 3d83925bdae51f4d74db7364d4dbaf04759fb682 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                            
                                                                   




                                                                         
                                                           


                               
                                          
                    
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