never executed always true always false
    1 module HelVM.HelMA.Automata.SubLeq.Lexer where
    2 
    3 import           HelVM.HelMA.Automata.SubLeq.Symbol
    4 
    5 import           HelVM.HelIO.Extra
    6 import           HelVM.HelIO.ReadText
    7 import           HelVM.HelMA.Automaton.API.IOTypes
    8 
    9 import qualified Text.Read                          as Read
   10 import qualified Text.Show                          as Show
   11 
   12 tokenize ∷ Source → SymbolList
   13 tokenize source = (maybeToList . readTextMaybe) =<< splitOneOf " \t\n" source
   14 
   15 readSymbols ∷ Source → Symbols
   16 readSymbols source = readTextUnsafe source :: Symbols
   17 
   18 ----
   19 
   20 newtype Symbols
   21   = Symbols SymbolList
   22 
   23 instance Show Symbols where
   24   show (Symbols symbols) = toString $ unwords $ shows symbols
   25 
   26 instance Read Symbols where
   27   readsPrec _ source = [( Symbols $ tokenize $ toText source , "")]
   28 
   29 ----
   30 
   31 shows ∷ SymbolList → [Text]
   32 shows symbols = show <$> symbols