@3draven конечные автоматы обеспечивают математически доказанную гарантию консистентности, но, к сожалению, даже Хаскель не позволяет эту гарантию перенести в машинный код.
Я не случайно прототип своей библиотеки FSM писал на Идрисе.
@mudasobwa если ты споришь, то неясно с чем. Если нет, ну, ок. Они не настолько хитрая штука что бы спорить.
@mudasobwa эта мысль из книги про конечные автоматы. Суть ее в том была, что императивный код, реализующий некоторый алгоритм можно написать очень по разному, но в авиации принято писать его определенным формализованным способом в виде конечного автомата. Хотя это не единственный способ записи того же алгоритма.
@3draven этот способ записи, реализованный на Idris, Agda,или Coq, в отличие от всех остальных языков, позволит формально доказать правильность реализации. Тесты будут не нужны.