never executed always true always false
    1 module HelVM.HelMA.Automaton.API.Lang where
    2 
    3 import           HelVM.HelMA.Automata.BrainFuck.API.ImplType
    4 import           HelVM.HelMA.Automata.ETA.API.AutomatonType
    5 import           HelVM.HelMA.Automata.Piet.API.LexerType
    6 import           HelVM.HelMA.Automata.WhiteSpace.API.TokenType
    7 
    8 data LangCommand
    9   = BFCommand !ImplType
   10   | ETACommand !AutomatonType
   11   | FCommand
   12   | PietCommand !(Maybe LexerType) !(Maybe Natural)
   13   | SQCommand
   14   | WSCommand !TokenType
   15   | CatCommand
   16   | RevCommand
   17   | LazyCommand
   18   | ZotCommand
   19 
   20 -- Lang
   21 
   22 defaultLang :: Lang
   23 defaultLang = minBound
   24 
   25 langs :: NonEmpty Lang
   26 langs = universeNonEmpty
   27 
   28 data Lang = BF | ETA | F | Piet | SQ | WS | Cat | Rev | Lazy | Zot
   29   deriving stock (Bounded , Enum , Eq , Read , Show)