Парсинг TeX в Haskell может показаться болезненным, тем более что это язык, полный Тьюринга; похоже, что пакет HaTeX имеет , планирует реализовать парсер , но пока ничего конкретного.
Если вы хотите сделать это в целях форматирования, я бы предложил выполнить синтаксический анализ MathML с помощью синтаксического анализатора XML (например, xml -роводит или hxt ) и обработать его вместо этого.
Основная проблема, с которой вы столкнетесь, заключается в том, что и TeX, и MathML будут описывать внешний вид формулы, а не ее семантику . 1 Из всех перечисленных форматов последний будет указывать только Fortran, но он также будет самым сложным для взаимодействия с Haskell. Наиболее практичным вариантом, вероятно, является компиляция кода на Фортране отдельно и использование его из Haskell с FFI.
Конечно, если все формулы, с которыми вы работаете, так просты, как подсказывает ваш вопрос, то вы можете обойтись извлечением функции из MathML.
1 MathML имеет возможность описывать семантику, а не внешний вид, но я не думаю, что он широко используется, и я сомневаюсь, что он достаточно точен для оценки компьютером.