2013-07-11 45 views

ответ

0

«КОДАТ типы населённого значений, которые могут быть бесконечными»

Это контрастирует с «данными», которые населяют только конечных значения. Например, если взять определение «данных» списков, оно заселено списками конечной длины (как в ML), но если мы возьмем определение «codata», то оно будет заселено также бесконечными списками длин (как в Haskell, например x = 1 : x).

Comonads и codata не обязательно связаны (хотя, возможно, некоторые из них могут считаться из-за бумаги Кибурца Comonads and codata in Haskell).

+0

Согласны ли вы с утверждением «В коде LISP есть данные, а код LISP - это codata?» – hawkeye

+0

Нет. Код LISP - это данные (это список/S-выражение), но это не те же «данные», что и в «data/codata». Я приведу пример в ответ, чтобы попытаться сделать вещи более ясными. – dorchard

+0

Ок - просто так я поняла - если бы у меня была функция в Clojure, которая возвращала ленивый список серии fibconacci до бесконечности, тогда результат этой функции (ленивый список) был бы codata, но сама функция не. – hawkeye

 Смежные вопросы

  • Нет связанных вопросов^_^