codata相关内容

如何在严格评估的设置中编码corecursion/codata?

Corecursion意味着在每次迭代中调用大于或等于以前的数据的数据. Corecursion在协数据上工作,协数据是递归定义的值.不幸的是,在严格评估的语言中无法进行值递归.不过,我们可以处理明显的重击: const Defer = thunk => ({get runDefer() {return thunk()}}) const app = f => x => f(x); ..

Codata的简要总结(其中comonad是“输入杂质的类型")

用精巧的摘要表示-对Comonads的描述似乎很成功-将它们描述为“输入杂质的类型" '. codata的等效精简(单句)描述是什么? 解决方案 "Codata是可能由无限值占据的类型" 这与仅由有限值占据的“数据"形成对比.例如,如果我们使用列表的“数据"定义,那么它就被有限长度的列表所占据(如ML中一样),但是如果我们使用"codata"的定义,它也就被无限的也所占据了长度 ..
发布时间:2020-05-10 21:48:26 其他开发

codata和data之间有什么区别?

有一些解释 here 。直观地了解有限数据结构与无限数据结构(如流)的区别。然而,看到其他解释差异,特征,类型的代码很有趣。 我阅读关于流。 解决方案 答案不是很精确,但是我也要发布。 真正的区别... ...位于数据和计算之间。 数据 数据的基本属性是它具有结构。数据可以作为输入传递,并通过计算返回为输出。数据的结构可以通过计算使用。然而,数据本身并没有做任 ..
发布时间:2017-04-03 15:05:33 其他开发