Добавить к ответу Криса; текущий входной порт является так называемым «параметром», который очень приблизительно является динамически изменяемой настройкой / переменной. В целом, более понятным и более консервативным является установка текущего входного порта только временно, с использованием «параметризации». Как это:
(parameterize ([current-input-port my-port])
... do some stuff ...
)
Оценка этого кода приведет к тому, что порт ввода будет установлен для вашего кода тела и любого кода, который он вызывает, но не будет «перетекать» в код, который оценивается снаружи; это также отменяет изменение при исключительном или продолжающемся выходе.