Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
module Main where
import Data.Word8 (Word8, _cr, _space, _tab, isAsciiLower)
import qualified Data.ByteString as B
isSpace Word8 Bool
isSpace w = w == _space || w <= _cr && w >= _tab
toUpper Word8 Word8
toUpper w = if isAsciiLower w then w - _space else w
op Bool Word8 (Bool, Word8)
op flag c = if isSpace c then (True,c) else (False,d)
where d = if flag then toUpper c else c
main IO ()
main = B.readFile "input.txt" >>= B.putStr . snd . B.mapAccumL op True
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment