Источники ракет и/или примеры поваренной книги

Сколько ракетки написано в Racket? Например, функция argmax реализована в Racket или C? А как насчет взять и бросить? Я не мог найти его в источнике на github.

Причина, по которой я спрашиваю, заключается в том, что в качестве новичка Scheme/Racket было бы очень полезно попытаться найти источник столь элегантного кода Racket, как я мог, чтобы получить представление о функциональных/рекурсивных лучших практиках. Конечно, если все в основном реализовано в C, для меня это неправильное направление.

Кроме того, есть ли страница "cookbook" или "примеры" где-то в Интернете, показывающая, как воссоздать многие встроенные в Racket, похожие на "my-map" и "my-length"?

Спасибо.

Ответ 1

Вы можете загрузить источник ракетки из Github. Здесь достаточно кода ракетки, но я предпочитаю смотреть на модули для таких примеров "кулинарной книги".

PLaneT - хороший ресурс для кода других людей.

Ответ 2

Многие библиотеки Racket написаны на самом языке, но подавляющее большинство пытается попытаться пробраться через весь источник, чтобы найти и изучить интересующие вас функции. Если вы работаете с текстом "Как создавать программы" (http://htdp.org и http://www.ccs.neu.edu/home/matthias/HtDP2e/index.html), написанные авторами Racket, вы в процессе узнаете и поймете, как писать функции, о которых вы просили (реализация функций take, drop, map, length и т.д. непосредственно адресуется от одной трети до половины пути через учебник).