Агда: как сделать неразрывную IO (getLine) без (устаревшей?) Коиндукции в стиле ∞?

В этом вопросе о том, как это сделать getLine в Агде основной ответ предлагает использовать монаду частичности, чтобы справиться с возможным прекращением работы с результирующей Costring.

С другой стороны, в версии 2.5.3 страница руководства по Coinduction советует против ∞, говоря, что она может быть использована для доказательства абсурда. Однако ∞ используется в определении как IO.IO и IO.run, так и монады частичной четности.

Вопросы:

  1. Можно ли сделать пристрастность и неразрывность ввода-вывода, используя стандартную библиотеку без ∞? Если нет, каковы альтернативы?
  2. Стандартная библиотека / документация устарела?
  3. Является ли проблема с ∞ из-за взаимодействия с размерными типами?

Спасибо!

0 ответов

Другие вопросы по тегам