Ракетка / базовое пространство имен
Кто-нибудь знает, что входит в racket/base
язык. Я ищу, чтобы сравнить racket/base
Определения пространств имен с проектом R7RS, чтобы получить из первых рук представление о том, насколько Racket отличается от Схемы.
2 ответа
Разница будет огромной, как и любая другая практическая реализация Схемы. Чтобы дать вам общее представление, я вижу более 1300 идентификаторов из racket/base
, а также racket
более 2000. Кроме того, обратите внимание, что сравнение имен не будет целой историей - есть дополнительные различия, например, тот факт, что Racket использует неизменяемые пары по умолчанию, и тот факт, что вы гарантированно получаете оставленный Правильный порядок оценки.
Быстрый способ получить списки самостоятельно для первого будет убедиться, что XREPL установлен (~/.racketrc
файл содержит (require xrepl)
), затем начните ракетку с racket/base
в качестве языка REPL и использовать ,ap
(apropos) команда без аргументов, поэтому она показывает вам все связанные имена:
$ racket -I racket/base
Welcome to Racket v5.2.1.
-> ,ap
Чтобы прочитать об именах, вы можете использовать ,doc
или просто воспользуйтесь окном поиска в документации.
Согласно справке Ракетки:
Если не указано иное, привязки, определенные в данном руководстве, экспортируются языками ракетки / базы и ракетки.
К сожалению, это не очень полезно, так как это большое справочное руководство. Но, поскольку вы сравниваете R7RS с Racket, может быть полезно просто просмотреть всю ссылку, чтобы получить представление о том, что доступно.