回答
把每个人的答案在一起:
ACL2(A计算逻辑的应用型的Common Lisp)是一种由编程语言,一阶逻辑中的可扩展理论和机械定理证明器组成的软件系统。
在计算机编程,利弊(发音/kɒnz/或/kɒns/)是在Lisp的编程语言的大多数方言的基本功能。 cons构造(因此是名称)存储对象,其中包含两个值或指向值的指针。这些对象被称为(cons)单元格,conses或(cons)对。在Lisp行话中,表达式“to cons x to y”意味着用(cons x y)构造一个新对象。由此产生的一对有左半部分,称为汽车(第一个元素),右半部分(第二个元素),称为cdr。
在逻辑上,荣誉仅仅是为了利弊另一个名称,即,下面是一个ACL2定理:
(等于(荣誉XY)(利弊XY))
荣誉通常情况下比慢跑慢,因为在创造一个荣誉,试图看看是否已经存在与相同的汽车和司机的荣誉。这涉及到搜索和使用散列表。
鉴于你的问题:
哈希利弊一些类和它们的实例参考相等比较
看来,hash cons
是散列的过程一个LISP构造函数,通过平等比较来确定对象是否已经存在。
http://en.wikipedia.org/wiki/Hash_cons现在重定向。
它是con
s与散列允许eq
比较而不是一个较深的比较。这对内存更有效率(因为相同的对象被存储为引用),而且如果比较是常见操作,速度当然更快。
http://www.cs.utexas.edu/~moore/acl2/current/HONS.html描述了Lisp的实现。
从Odersky的,勺子和凡纳斯(2007年),在斯卡拉编程,Artima新闻,p。 243:
通过缓存您在弱集合中创建的所有实例,散列类的实例。然后,任何时候你想要一个新的类的实例,你首先检查缓存。如果缓存中已经有一个元素与您即将创建的元素相同,则可以重新使用现有的实例。作为这种安排的结果,与equals()相等的任何两个实例也与参考相等相等。
- 1. “散货”是什么意思?
- 2. Bash'type someCmd':什么意思是'散列'?
- 3. 是什么意思:是什么意思?
- 4. 重点是什么意思?
- 5. 一致散列有什么缺点吗?
- 6. 缺点和: - Haskell中的意思是什么?
- 7. 宏中的双重散列(##)是什么意思?
- 8. .js文件后散列(#)是什么意思?
- 9. 什么意思是“x位散列函数”
- 10. 散列time_t的字节是什么意思?
- 11. “散列函数的分布”是什么意思?
- 12. 散列函数增量是什么意思?
- 13. 散列中的聚集(在碰撞中)是什么意思?
- 14. Ruby on Rails这个散列输出是什么意思?
- 15. %{}是什么意思?
- 16. '#'是什么意思?
- 17. “?”是什么意思?
- 18. #{...}是什么意思?
- 19. || =是什么意思?
- 20. @是什么意思
- 21. $$ $$是什么意思?
- 22. `/ * @`是什么意思?
- 23. “=”是什么意思
- 24. + =是什么意思?
- 25. {..} [..]是什么意思?
- 26. 什么是:!:意思?
- 27. @ []是什么意思?
- 28. 什么是“||”意思?
- 29. /([^.]*)\.(.*)/是什么意思?
- 30. &**是什么意思?
你需要更具体的获得答案。是否有语言参与,你可以指向一个链接,等... – JaredPar 2009-04-13 14:26:25
似乎是一个lisp /计划的事情 - 缺点是列表构造函数 – 2009-04-13 14:28:57
感谢您的澄清尼尔,因为我丢了 – TStamper 2009-04-13 14:29:51