【发布时间】:2017-02-28 03:24:19
【问题描述】:
使用“#lang typed/racket”而不是“#lang racket”可以得到哪些主要优势?我在参考文献 https://docs.racket-lang.org/ts-reference/index.html 中找不到它。优势是否与任何其他静态类型编程语言 https://en.wikipedia.org/wiki/Type_system#STATIC 一样?期望编译程序的速度提高是否合理?程序的安全性是否也得到了改善?感谢您的洞察力。
【问题讨论】:
-
许多数值库声称使用
typed racket会显着提高速度。一般来说,我编写代码的经验是,typed racket在比较静态类型语言和动态类型语言时发现了类似的权衡——但需要注意的是,racket的动态类型和静态类型版本都是强类型的。静态类型会增加一些 lisp 习语的摩擦,有时值得,有时则不然。 -
对我来说似乎是一个相当不错的答案。您应该将此作为答案发布,而不仅仅是评论。另外,安全是否也受到影响?
-
谢谢。老实说,我不是这个问题的真正粉丝。并不是说我标记了它,但它似乎主要基于意见,我的回答同样不是那么有用......我的意思是,对于
typed racket,没有什么比它静态类型和相当好的实现要多说的了。任何想要使用数字库的人都会看到他们声称使用 Typed Racket 运行得更快。