- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Clojure 有一些用于表示类型的有趣特性,包括但不限于 deftype
, defprotocol
, reify
和 extend
.
Typed Racket 中的打字功能与 Clojure 中的类类型功能有何异同?
最佳答案
deftype
和 defprotocol
在 Clojure 中定义动态行为。在 Racket 中,我们会用 struct
做类似的事情。或 struct-property
, 虽然没有什么比 defprotocol
在 Racket 。
编辑: Racket 现在有 generics ,类似于 Clojure 协议(protocol)。reify
和 extend
,我认为,对应于 make-struct-type
的用途在 Racket 中,它动态地创建新的结构类型。
Typed Racket 和所有这些功能的最大区别在于 Typed Racket 在尝试运行之前静态检查您的程序。您永远不能在 Typed Racket 程序中应用错误的访问器,或者将数字用作函数。你甚至不能运行一个可能有这样错误的程序。
目前,Clojure 最像 Typed Racket 的特性是它用于性能的注解。
编辑:现在有Typed Clojure由 Ambrose Bonnaire-Sergeant 创作,灵感来自 Typed Racket。
关于types - Typed Racket 中的打字功能与 Clojure 中的类类型功能有何异同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9554088/
我是 iOS 开发新手。我想弄清楚这些事情。 iPhone 和 iPad 中的一个项目。两者有什么相同之处(编码、图形或 UI)? 应用的设计模式相同还是不同? 等待答复谢谢:) 最佳答案 就我个人而
灵感来自 Learning Python from Ruby; Differences and Similarities . 我正好相反——我非常精通 Python,但我需要尽快开始学习 Ruby(稍
我非常了解鲁比。我相信我现在可能需要学习 Python。两者都知道的 friend ,请问两者有什么概念相似,有什么不同? 我正在寻找一个类似于我为 Learning Lua for JavaScri
根据我的阅读,OpenGL ES 2.0 似乎与 OpenGL 2.1 不同任何,这是我之前的假设。 我很想知道 OpenGL 3 是否与 OpenGL ES 2.0 相当。换句话说,考虑到我要为桌面
我是一名优秀的程序员,十分优秀!