2016-02-19 27 views
2

我已经使用计划的乐趣,现在我想尝试一些严肃的事情。虽然我从零开始通过carcdr以及递归看到了实现基本数据结构的教育价值,但我希望为基本容器(队列,堆栈,访问第n项等)找到“包含电池”的lib,突变。计划的基本库(队列)

我该如何找到一个?

(我使用的是旧PLT的计划;如果需要的话,我可以升级到球拍)

+0

它可能有助于升级到球拍。 Racket是它自己的语言,它的软件包目录中有自己的用户贡献库:http://pkgs.racket-lang.org/提供了大量的数据结构。此外,我也投票结束,因为这在技术上与SO无关。我建议在IRC或邮件列表上的#racket上提出这样的问题(尽管先查看软件包列表和文档)。 –

回答

3

SRFIs看看,那里你会发现很多不错列表程序和数据结构的实现(比如说,queues)。

此外,球拍包括几个基本的数据结构(setshash tables等)和内置的list procedures,许多从上述SRFIs借用馆藏丰富,而且你也可以在球拍进口SRFIs,额外的动力。

为什么要求突变?当然你会在SRFI和Racket中找到可变数据结构/列表操作,但这不是在Scheme或Racket中构建程序的惯用方法。

+0

谢谢。为什么要变异虽然所有的程序都是功能性的,但我需要一个需要改变的全局队列,我不想传递给每个程序。 – SRobertJames

+3

在较新的球拍中还可以看到['data'](https://docs.racket-lang.org/data/index.html)集合,包括[强制排队](https://docs.racket-lang。组织/数据/ Imperative_Queues.html)。 –