LangToGroup-0.1.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

TmsType

Description

This module provides types for representing turing machines in a format suitable for the service: https://turingmachinesimulator.com/ Below this format will be called Tms.

Synopsis

Documentation

data TmsTapeSquare Source #

Type of Tms tape square action.

Leave is leave any character unchanged.

'ChangeFromTo f t' is change it from f to t.

Constructors

Leave 
ChangeFromTo Char Char 

newtype TmsState Source #

Type of Tms State.

Constructors

TmsState String 

Instances

Instances details
Eq TmsState Source # 
Instance details

Defined in TmsType

Ord TmsState Source # 
Instance details

Defined in TmsType

type OneTapeTMCommand = (TmsState, TmsSingleTapeCommand, TmsState) Source #

Type of Tms single tape command

newtype TmsCommand Source #

Type of Tms command for entire Turing machine.

Instances

Instances details
Eq TmsCommand Source # 
Instance details

Defined in TmsType

Ord TmsCommand Source # 
Instance details

Defined in TmsType

newtype Tms Source #

Type of Tms format. Tms (name, init accept commands, tapeAlphabets).

Constructors

Tms (String, TmsState, [TmsState], [TmsCommand], [String]) 

Instances

Instances details
Eq Tms Source # 
Instance details

Defined in TmsType

Methods

(==) :: Tms -> Tms -> Bool #

(/=) :: Tms -> Tms -> Bool #

Show Tms Source # 
Instance details

Defined in TmsType

Methods

showsPrec :: Int -> Tms -> ShowS #

show :: Tms -> String #

showList :: [Tms] -> ShowS #

filterStateName :: String -> String Source #

Process string so that it does not contain illegal characters.

fst3 :: (a, b, c) -> a Source #

snd3 :: (a, b, c) -> b Source #

thd3 :: (a, b, c) -> c Source #