当前位置: 首页 > 知识库问答 >
问题:

甚至进一步滥用代数数据类型的代数--为什么这能起作用?

高寒
2023-03-14
Nat = 1 + Nat
Nat - Nat = 1
Nat(1 - 1) = 1
Nat = 1 / (1 - 1)
List(x) = 1 / (1 - x)

因此,您可以像Nat=List(1)=1+1+1+...那样编写Nat,这正是通过在起始方程中重复替换得到的结果。这也相当于在Haskell中像这样定义自然数:

type Nat = [()]

这绝对是自然数的有效编码,其中0=[]s(N)=():N

所以我的问题是,我怎么会得到一个有效的结果呢?我只是除以零。更别提起始方程式本身就是一个矛盾。

那么我怎么会在最后得到一些有意义的东西呢?这只是纯粹的巧合,还是在这个上下文中定义的0除法是有意义的?

暂时还没有答案

 类似资料:
  • 我使用以下代码执行HTTP POST请求并反序列化返回的值: 为了让它更容易使用,我尝试将代码封装在一个函数中,如下所示: 然而,当代码被放入函数中时,它就会停止工作。它抛出。似乎有些类型信息在途中丢失了。 null

  • 问题内容: 在下面的示例中,为什么编译器能够为in中的第一次调用推断出通用参数,而在第二次调用中却无法推断出通用参数?我正在使用Java 6。 (编译错误为 Nonsense.Bar类型的func(Nonsense.Foo)方法不适用于参数(Nonsense.Foo) )。 注意:我了解编译器错误可以通过test()中的第三行来解决-我很好奇是否存在阻止编译器推断类型的特定限制。这 似乎 对我有足

  • 以下是我正在使用的数据结构示例- 所有数据都在字符串中,包括子列表都是字符串值 子列表值可能与其他子列表值重复 我需要能够获得大小并遍历子列表 本质上,每个子列表都有我需要获取的引用ID,以及与该列表关联的子列表ID 我不知道哪一个最合适。我可能会先选择我能实施的那个。 我应该使用、、还是与列表一起使用?

  • 我试图制作一个简单的程序来查找列表的模式,但它只是抛出了范围外错误的索引。 谢谢

  • 问题内容: 码: 上面的代码不起作用。当我单击#clicker时,它不会发出警报,也不会隐藏。我检查了控制台,没有任何错误。我还检查了JQuery是否正在加载,实际上是否正在加载。所以不确定是什么问题。我还执行了带有警报的文档就绪功能,并且该功能正常工作,因此不确定我在做什么错。请帮忙。谢谢! 问题答案: 您应该在一个块中添加javascript代码。 即 正如jQuery文档指出的那样:“在文档

  • 因此,下面的代码,从txt文件中取序列号作为参数,在我的计算机上正常工作。每个数字都写在一行上。下面是代码: 但它在CodeEval中不起作用。站点编译器是这么说的: Fontconfig错误:无法加载默认配置文件线程“main”java.awt.HeadLessException:未设置X11显示变量,但此程序执行了需要它的操作。在java.awt.GraphicsEnvironment.Che