【发布时间】:2016-04-04 01:27:27
【问题描述】:
前几天我读到一篇关于静态类型的文章 (https://bsamuels.net/2013/11/20/static-typing.html),它描述了一个有趣的概念,称为“类型丰富的编程”,作为程序员,您在其中定义类型,对于机器来说,这些类型只是现有类型的别名(例如整数或浮点数),但对您来说,它们描述了可以使用这些机器类型表示的不同数量之间的差异(例如,秒和米都可以用双精度数表示,但您当然不想将它们加在一起)。
我知道 Common Lisp 是一种动态类型语言。但是,我也知道,如果我使用the 和check-type,某些编译器(例如我使用的SBCL)会进行一些有限的类型检查。如何创建类型别名以便为 SBCL 提供更丰富的类型?或者,如果不是这样,那我怎样才能得到类似于 Common Lisp 中类型丰富的编程的东西呢?
【问题讨论】:
-
见Conversion of Units of Measurement Gordon S. Novak Jr.
标签: types common-lisp