REPL командной строки часто плохо работают. Для Guile лучший опыт может быть получен, например, при работе под Geiser в emacs. Это позволяет запускать REPL в буфере emacs с гораздо лучшим контролем. В качестве долгосрочного решения я бы предложил научиться делать что-то подобное.
Существует некоторая кривая обучения, чтобы стать продуктивным в emacs (хотя и не так часто, как люди часто боятся) , К счастью, Guile предоставляет решение для тех, кто sh придерживается обычного REPL Guile.
Хотя он не включен по умолчанию, Guile может использовать библиотеку GNU Readline, Это позволяет перемещаться по истории выражений REPL с помощью клавиш со стрелками вверх и вниз. Чтобы включить эту функцию из REPL, введите:
scheme@(guile-user)> (use-modules (ice-9 readline))
scheme@(guile-user)> (activate-readline)
Когда Guile запускается в интерактивном режиме, он сначала загружает файл .guile
init из домашнего каталога пользователей. Вы можете воспользоваться этим, добавив две вышеуказанные строки в файл .guile
(для этого создайте новый файл .guile
, если он еще не существует):
;;; Guile Scheme Init File
;; Activate Readline
;; allows navigation of expression history in REPL
(use-modules (ice-9 readline))
(activate-readline)
После обновления * Файл 1020 *, всякий раз, когда Guile запускается в интерактивном режиме, вы автоматически получаете функцию Readline.