差异:lisp 的 listp 和 sheme 的 list?
在 lisp 中, dot pair 也算 list, 而 scheme 认为表尾必须是 nil
所以
- [1]> (listp (cons 1 2))
- T
复制代码
- scheme:
- guile> (list? (cons 1 2))
- #f
复制代码
- common lisp:
- [1]> (cons 3 (cons 1 2))
- (3 1 . 2)
- [2]> (listp (cons 3 (cons 1 2)))
- T
复制代码
- scheme:
- guile> (cons 3 (cons 1 2))
- (3 1 . 2)
- guile> (list? (cons 3 (cons 1 2)))
- #f
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
scheme中的list总是从empty开始构建的,这点和haskell很像