Конечный автомат в Хаскеле

Что такое хороший способ представить конечный автомат в Haskell? Как будет выглядеть тип данных?

В нашем колледже автоматы были определены как 5-кортеж

(Q, X, delta, q_0, F)

где Q - множество состояний автомата, X - алфавит (является ли эта часть даже обязательной), delta - функция перехода, принимающая 2-кортеж из (Q, X) и возвращающая состояния / -ы (в недетерминированной версии) ) и F - множество принимающих / конечных состояний.

Самое главное, я не уверен, какой типdelta должен иметь...

Ответы на вопрос(2)

Ваш ответ на вопрос