church-encoding相关内容

从 Curry-0, 1, 2 到 ...n

继上一个关于编写咖喱函数的问题之后,如何创建像球拍一样的咖喱函数,我已经开始为 0、1、2 编写固定大小写 - 它们与教堂数字非常相似,非常简洁.这是我目前所拥有的: (define (curry-0 func)功能)(定义你好(开始(显示“你好!")(换行)))(咖喱-0 你好);你好! (define (curry-1 func)(λ (x)(功能 x )))((咖喱-1 -) 2);-2 ..
发布时间:2021-07-02 18:48:55 其他开发

Sml Church数字类型推断

我在SML中有此表达式,需要找到它的最通用类型.通过编译器运行时,我得到下面显示的内容.我将如何找到最通用的类​​型,不仅是此功能,还有其他功能,例如教堂数字功能“二". val one = fn f => (fn x => f x) 为什么是这种类型: ('a -> 'b) -> 'a -> 'b 解决方案 您要做的是,应用名为 一般原则包括三个步骤: 首先,我们为变 ..
发布时间:2020-07-19 20:30:09 其他开发

使用右折叠和差异列表的教会编码列表

以下是 如何存储Monoidal List功能链的数据? 和 从函数中提取数据没有数组的链条 在此我想对我的问题的贡献者表示敬意和赞赏,特别是@Aadit M Shah和@ user633183 现在,这个问题被打开以澄清差异列表是一个获取列表并在其前面添加列表的函数。例如: const concat = xs => ys => xs.concat(YS ..

教会在Haskell列出

我必须实现haskell map函数才能使用教会列表,它的定义如下: type Churchlist tu = (t-> u-> u) - > u-> u 在lambda微积分,列表编码如下: []:=λc。 λN。 n [1,2,3]:=λc。 λN。 c 1(c 2(c 3 n)) 本练习的示例解决方案是: p> mapChur ..
发布时间:2018-06-04 17:22:55 其他开发

在哈斯克尔教会数字的减法

我试图在Haskell中实施教会数字,但我遇到了一个小问题。 Haskell抱怨无限类型: 发生检查:无法构造无限类型:t =(t - > t1) - >(t1 - > t2) - > t2当我尝试做减法时, 。我99%肯定我的lambda微积分是有效的(尽管如果不是,请告诉我)。我想知道的是,是否有任何事情可以让haskell在我的函数中工作。 module教会其中 类型 ..
发布时间:2018-06-04 15:55:57 其他开发

为什么差异列表不是可折叠的实例?

dlist包包含 DList 数据类型,其中包含大量实例,但不包含 Foldable 或 Traversable 。在我看来,这些是最“类似列表”类型中的两个。是否有一个性能原因, DList 不是这些类的实例?另外,该包还实现了 foldr 和 unfoldr ,但没有其他折叠功能。 [a] ,它在逆变位置有一个 a ,所以它不能实现 Foldable 或 Traversable ,甚至可 ..
发布时间:2018-06-04 15:26:08 其他开发

在Haskell中实现多态λ演算/系统F对的教会编码

我想在多态lambda演算中实现对的教会编码 Haskell。 在第77页8.3.3节彼得塞林格关于lambda微积分的笔记,他给出了两种类型的笛卡尔乘积的构造: $ b A×B =∀α。(A→B→α)→α ⟨M,N⟩=Λα.λfA→B→α.fMN 另一个来源,在第54页, DiderRémy关于lambda微积分的笔记,他将多态λ-演算/系统F中的对的Church编码定义为 ..

Swift高阶函数(Church对aka cons),其泛型参数类型不接受输入参数类型

我在Swift 2.1中编写函数式编程,试图实现教会编码对/利弊功能(缺点 =λxλyλffxy in untyped lambda微积分),我有阅读无法在早期版本的Swift中完成。使用 org / wiki / Generic_programming“rel =”nofollow“>泛型它看起来像 func cons (x:S,_y:T)→> ((S,T)→U)→> U { ..

如何实现在Haskell二进制数

我已经看到了Church数以下数据构造 数据纳特=零| SUCC纳特显示派生 但是,这是一元的数字。 我们如何以这种方式实施在Haskell二进制数数据构造? 我已经试过这样:数据斌=零|一个| BINC [斌]推导展 在此,我们可以得到,小数5间codeD为 BINC [大,零,一] 但我觉得我在这里失去了一些东西。我的解决方案似乎并不像教会的解决方案一样聪明。毫不奇怪,我不是教堂 ..
发布时间:2016-08-06 22:34:53 开发方法