Ракетка / базовое пространство имен

Кто-нибудь знает, что входит в 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, может быть полезно просто просмотреть всю ссылку, чтобы получить представление о том, что доступно.

Другие вопросы по тегам