haw*_*eye 15 types protocols clojure racket typed-racket
Clojure的有代表类型,包括但不限于一些有趣的功能deftype,defprotocol,reify和extend.
Typed Racket中的输入功能与Clojure中的类型功能有什么相同点和不同点?
Sam*_*adt 17
deftype并defprotocol在Clojure中定义动态行为.在Racket中,我们会用struct或做类似的事情struct-property,尽管defprotocol在Racket中没有什么比这更像.
编辑: Racket现在有泛型,就像Clojure协议.
reify而且extend,我认为,它对应make-struct-type于Racket的使用,它可以动态创建新的结构类型.
Typed Racket和所有这些功能之间的最大区别在于,Typed Racket会在尝试运行之前静态检查您的程序.您不能在Typed Racket程序中应用错误的访问者,或使用数字作为函数.您甚至无法运行可能出现类似错误的程序.
目前,Clojure最像Typed Racket的功能是它用于性能的注释.
编辑:现在有Ambrose Bonnaire-Sergeant的Typed Clojure,它的灵感来源于Typed Racket.
| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |