2013-07-11 68 views

回答

0

「CODATA是由可以是無窮大的值居住類型」

與此相反,「數據」,其僅由有限值居住。例如,如果我們採用列表的「數據」定義,那麼它就是有限長度的列表(如在ML中),但是如果我們採用「codata」定義,則它將通過無限長度列表居住(如Haskell,例如x = 1 : x)。

Comonads和codata不一定是相關的(儘管也許有些人可能認爲是由於Kieburtz的論文Comonads and codata in Haskell)。

+0

您是否同意「在LISP代碼中是數據,而LISP代碼是否是數據?」 – hawkeye

+0

編號LISP代碼是數據(它是一個列表/ S表達式),但這不同於「數據/數據」中的「數據」。我會在答案中舉一個例子,試圖讓事情更清楚。 – dorchard

+0

好的 - 就這樣我就清楚了 - 如果我在Clojure中有一個將fibconacci序列的懶惰列表返回到無窮大的函數 - 那麼該函數的結果(懶惰列表)將是codata,但函數本身會不。 – hawkeye