Как увидеть текущий рабочий каталог в WinGHCi

Я начал изучать Haskell и для этого установил Платформу Haskellдля Windows. Я использую WinGHCiна данный момент. Я узнал, что у него есть команда :cd, которая используется для смены каталога. Но вопрос в том, как я узнаю, в каком каталоге я сейчас нахожусь? Не зная этого, зачем мне менять каталог. Я много искал, но не мог найти ответ.

Подскажите, пожалуйста, есть ли способ узнать текущий рабочий каталог. Предпочтительно, я хотел бы настроить саму командную строку для отображения текущего каталога, почти как консоль Linux.


Следуя предложению @Daniel, я сделал следующее:

  • Поскольку я работал в Windows 7, файла .ghciне существует (думаю, это для Unix-подобных ОС), поэтому я создал файл ghci.confв папке C:\Users\Apelles\AppData\Roaming\ghc, как указано здесь.
  • Скопируйте сценарий из ответа Даниэля в ghci.conf.
  • Затем я запустил ghci.exe, который представляет собой консольное окно.Я заметил, что он загрузил несколько модулей больше, чем обычно загружал раньше. Вот снимок:

enter image description here

Как вы можете видеть, он загружает больше модулей, и последняя строка говорит:

Не удается разобрать строку приглашения. Используйте синтаксис 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, он загрузит следующие модули: enter image description here

Как я уже говорил, он загружает меньше модулей, что означает с ghci.conf, ghci.exeделает что-то успешно, но в какой-то момент дает сбой. Как это исправить?

30
задан Nawaz 30 June 2012 в 16:04
поделиться