Racket 球拍来源和/或食谱示例

Racket 球拍来源和/或食谱示例,racket,Racket,有多少球拍是写在球拍上的?例如,argmax函数是用Racket实现的还是用C实现的?那就吃还是不吃呢?我在github的源代码中找不到它 我问这个问题的原因是,作为一个Scheme/Racket新手,尝试和摸索尽可能多的优雅Racket代码的源代码,以掌握函数/递归最佳实践是非常有用的。当然,如果一切都是用C实现的,那么这对我来说不是正确的方向 或者,网上是否有一个“食谱”或“示例”页面,显示如何重新创建许多内置的球拍,类似于“我的地图”和“我的长度” 谢谢。您可以自己从下载球拍来源。有足够多

有多少球拍是写在球拍上的?例如,argmax函数是用Racket实现的还是用C实现的?那就吃还是不吃呢?我在github的源代码中找不到它

我问这个问题的原因是,作为一个Scheme/Racket新手,尝试和摸索尽可能多的优雅Racket代码的源代码,以掌握函数/递归最佳实践是非常有用的。当然,如果一切都是用C实现的,那么这对我来说不是正确的方向

或者,网上是否有一个“食谱”或“示例”页面,显示如何重新创建许多内置的球拍,类似于“我的地图”和“我的长度”


谢谢。

您可以自己从下载球拍来源。有足够多的代码值得一读,但我更喜欢看这些“食谱”示例的模块


对于其他人的代码来说也是一个很好的资源。

很多Racket库都是用这种语言本身编写的,但是要想找到并研究您感兴趣的函数,要想涉过整个源代码是非常困难的。
如果你阅读Racket作者编写的《如何设计程序》(和),你将在这一过程中学习并理解如何编写你所问的函数(函数的实现take、drop、map、length和类似函数在教科书中的三分之一到二分之一的篇幅中直接介绍).

谢谢/lib/racket/collects/racket/list.rkt包含一个很好的起点。我还想鼓励PLaneT,它在所有包中都有到源代码的链接。例如,我在中有一个非常愚蠢的运行长度编码库,您可以在该页面的“浏览”链接下检查其源代码。