Я начал изучать Haskell и для этого установил Платформу Haskellдля Windows. Я использую WinGHCi
на данный момент. Я узнал, что у него есть команда :cd
, которая используется для смены каталога. Но вопрос в том, как я узнаю, в каком каталоге я сейчас нахожусь? Не зная этого, зачем мне менять каталог. Я много искал, но не мог найти ответ.
Подскажите, пожалуйста, есть ли способ узнать текущий рабочий каталог. Предпочтительно, я хотел бы настроить саму командную строку для отображения текущего каталога, почти как консоль Linux.
Следуя предложению @Daniel, я сделал следующее:
.ghci
не существует (думаю, это для Unix-подобных ОС), поэтому я создал файл ghci.conf
в папке C:\Users\Apelles\AppData\Roaming\ghc
, как указано здесь.ghci.conf
.ghci.exe
, который представляет собой консольное окно.Я заметил, что он загрузил несколько модулей больше, чем обычно загружал раньше. Вот снимок:Как вы можете видеть, он загружает больше модулей, и последняя строка говорит:
Не удается разобрать строку приглашения. Используйте синтаксис Haskell.
Что это значит? Какая строка вызывает проблему (из следующего скрипта)?
let cur fill = do { cwd <- System.Directory.getCurrentDirectory; return (":set prompt \"" ++ cwd ++ fill ++ " \""); }
:def doprompt (\_ -> cur ">")
:def mycd (\dir -> System.Directory.setCurrentDirectory dir >> cur ">")
:doprompt
Кроме того, если я переименую файл ghci.conf
в произвольное имя, а затем запущу ghci.exe
, он загрузит следующие модули:
Как я уже говорил, он загружает меньше модулей, что означает с ghci.conf, ghci.exe
делает что-то успешно, но в какой-то момент дает сбой. Как это исправить?