当前位置:  开发笔记 > 编程语言 > 正文

你如何在函数式语言中形式化数字塔?

如何解决《你如何在函数式语言中形式化数字塔?》经验,为你挑选了0个好方法。

每个人都知道在依赖类型的函数语言中表达自然数的优雅方式:

data Nat = Zero | Succ Nat

整数,分数,实数,复数和四元数对于实际编程应用也非常重要.可以将它们实现为:

data Integer    = Integer (sign : Bool) (modulus : Nat)
data Fraction   = Fraction (dividend : Nat) (divisor : Nat)
data Real       = Real (exponent : Integer) (fraction : Nat)
data Complex    = Complex Real Real
data Quaternion = Quaternion Real Real Real Real

但是这些都没有真正像Nats那样有意义地反映其类型的实际结构/性质.例如,整数与实际整数不同构(因为零出现两次).Reals需要超过一百万个细胞存储(3.141592),但是甚至不需要100个存储(4096),这看起来是不平衡的.复杂只是Reals的一个元组,它并不真正反映复杂的东西.我想知道在函数式编程语言中表达数字塔的自然,优雅方式是什么?

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有