当前位置 : 主页 > 大数据 > 区块链 >

类型 – Typed Racket中的打字功能和Clojure中类似的功能之间有什么相似之处?

来源:互联网 收集:自由互联 发布时间:2021-06-22
Clojure具有代表类型的一些有趣的功能,包括但不限于deftype,defprotocol,reify和extend. Typed Racket中的打字功能和Clojure中类型的功能有什么相似之处和区别? deftype和defprotocol定义了Clojure中的动
Clojure具有代表类型的一些有趣的功能,包括但不限于deftype,defprotocol,reify和extend.

Typed Racket中的打字功能和Clojure中类型的功能有什么相似之处和区别?

deftype和defprotocol定义了Clojure中的动态行为.在Racket中,我们将使用struct或struct-property来执行类似的操作,尽管在Racket中没有什么像defprotocol.

编辑:Racket现在有generics,这就像Clojure协议.

我认为,扩展和扩展对应于在Racket中使用make-struct-type,它动态创建新的结构类型.

Typed Racket和所有这些功能之间的巨大区别在于,Typed Racket会在执行程序之前静态检查程序.您不能在Typed Racket程序中应用错误的访问器,或者使用数字作为函数.你甚至不能运行一个可能有错误的程序.

目前,最喜欢Typed Racket的Clojure的功能是它用于演奏的注释.

编辑:现在Typed Clojure由Ambrose Bonnaire-Sergeant,灵感来源于Typed Racket.

网友评论