Как хорошо представить конечный автомат в Haskell? Как будет выглядеть тип данных?
В нашем колледже автоматы определялись как 5-кортеж
(Q, X, delta, q_0, F)
где Q — множество состояний автомата, X — алфавит (нужна ли эта часть), дельта — функция перехода, берущая 2-кортеж из ( Q,X) и состояние/-и возврата (в недетерминированной версии), а F – набор состояний принятия/завершения.
Самое главное, я не уверен, какой тип delta
должен иметь...