Я думаю, что вы правы, заключив, что бэкэнд-сервер (в вашем процессе sbcl) занят. В слизи IIRC есть как синхронные, так и асинхронные команды, и ваша game-repl
будет синхронной командой, которая не позволит асинхронным командам документации пройти к бэкэнду - напротив, при составлении обычной команды в REPL слизи, бэкэнд не используется, поэтому запросы документов могут проходить.
Но, пожалуйста, прости меня за то, что ты также интересуешься, имеет ли смысл то, что ты делаешь в этом конкретном случае - цель пользовательского REPL, по-видимому, одна или обе из:
- Предоставить ограниченный или синтетический набор команд
- Предоставление нестандартных структур управления / синтаксиса
и в любом случае ввод в пользовательский REPL может быть не эквивалентен обычному коду, который слизь может автоматически сгенерировать для вас.
Можно было бы предоставить ограниченное «игровое» пространство имен, в котором вы могли бы поиграть в обычном REPL слизи, а затем также предоставить отдельный ориентированный на производство REPL с ридером, который позволял бы доступ только к символам в этом пространстве имен. ? (Здесь обсуждается песочница с обычным шрифтом здесь .)