繁体   English   中英

在DrRacket中使用R5RS方案排序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM