operate-do-0.1.0: src/Language/Haskell/TH/Extra.hs
module Language.Haskell.TH.Extra
( isHsWhitespace
) where
import qualified Data.CharSet as UCS
import qualified Data.CharSet.Unicode.Category as UCS
-- | Is Haskell whitespace character
--
-- Examples:
--
-- >>> isHsWhitespace ' '
-- True
--
-- >>> isHsWhitespace '\r'
-- True
--
-- >>> isHsWhitespace ' '
-- True
--
-- >>> isHsWhitespace 'w'
-- False
--
isHsWhitespace :: Char -> Bool
isHsWhitespace c = UCS.member c $
foldl1 UCS.union
[ UCS.space
, UCS.singleton '\t'
, UCS.singleton '\v'
, UCS.singleton '\r'
, UCS.singleton '\n'
, UCS.singleton '\f'
]