annotations - 什么时候在 Typed Racket 中使用 `form:`?

标签 annotations racket legacy typed-racket

ts-guide说过:

In addition to the : form, almost all binding forms from racket have counterparts which allow the specification of types.



但它没有说明何时使用哪一个。

ts-referenceform:是遗留的,为了向后兼容。

但是在 ts-guide 中,form:被用在很多地方。
: v t也是如此优先于 form: ?
那么form ?

例如:
; form:
(define: (id [z : Number]) : Number z)

; : v t + form
(: id (-> Number Number))
(define (id z) z)

; form (it seems recent versions of Racket add this?)
(define (id [z : Number]) : Number z)

最佳答案

But it does not say when to use which one.



在大多数情况下,它们是等效的。

我喜欢第二种形式——它可以很容易地再次删除 TR 注释。

关于annotations - 什么时候在 Typed Racket 中使用 `form:`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27795496/

相关文章:

java - 如何使 Java 注释变得有用

syntax - Racket(lisp 编程语言)中的 [ ] 和 ( ) 括号有什么区别?

user-interface - 文件夹图标未出现在“打开文件”对话框中

Powershell找不到文件

java - 如何在java中获取参数的注释?

java - 注释在 Java 内部是如何工作的

python - 如何避免python中指针属性的类型提示引起的循环依赖

racket - 如何计算 Racket 中的浮点模数? [flmod]

java - 打破本地依赖以单元测试无效方法

c# - 到底什么是 String.LegacyMode 属性?