[英]Sort with R5RS scheme in DrRacket
我正在学习使用DrRacket 7.0版的方案。
我已经从该SO答案复制并修改了以下过程。
#lang racket
(define sort-asc-by-second
(lambda (lst)
(sort lst
(lambda (x y) (< (cdr x) (cdr y))))))
而且效果很好。
现在,我用#lang r5rs
更改了#lang racket
说明。
DrRacket抱怨以下错误:
排序:绑定标识符:排序
我是否忘记在DrRacket中添加某些内容(库,模块等)? 或者也许R5RS中没有sort
。
按照R5RS报告有没有这样的东西sort
。 您可以从SRFI-95排序和合并中获取用于sort
的参考实现。 它与#lang racket
不是100%兼容的。 R5RS没有库,因此可移植的方式是load
或内联它。
R6RS取代了R5RS,并且在其标准库中具有list-sort
。
R7RS-大,这还没有完全批准,使用SRFI-132 ,因为它分拣库(scheme sort)
也具有list-stable-sort
是一样的R6RS list-sort
。
在Racket中,您可以混合和匹配其支持的所有语言的库,但是它不适用于以不同方式实现的列表,并且是锁定的。依赖于其他语言的库意味着您无法在其他实现中运行代码,像伊卡洛斯(Ikarus)和切斯(Chez)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.