Есть ли способ связать :reload/:r вместе с :main как единую команду в GHCi?
Цель здесь состоит в том, чтобы не набирать оба каждый раз, когда я что-то меняю в другом терминале, а просто нажимать Enter.
Есть ли способ связать :reload/:r вместе с :main как единую команду в GHCi?
Цель здесь состоит в том, чтобы не набирать оба каждый раз, когда я что-то меняю в другом терминале, а просто нажимать Enter.
:cmd, кажется, принимает строку с несколькими строками. Поэтому вы можете выполнить следующую команду.
:cmd return $ unlines [":reload",":main"]
также вы можете добавить следующий код в ~/.ghci
:def hoge const $ return $ unlines [":reload",":main"]
теперь вы можете выполнить :hoge в ghci
hoge? Вы имеете в виду doge?
- person luqui; 05.06.2014
hoge — это одна из метасинтаксических переменных (en.wikipedia.org/wiki/Metasyntactic_variable), которая часто используется в японском языке.
- person ymonad; 05.06.2014
:cmd return $ unlines ["kt",":reload","kt <- forkAndKill"], где forkAndKill разветвляет какое-то действие, а затем возвращает действие уничтожения потока. Это полезно для перезапуска сервера одной командой.
- person Steven Armstrong; 22.12.2018
:def примера Я получаю Variable not in scope ошибок для символов: const, return, $, unlines. Как их импортировать?
- person Răzvan Flavius Panda; 14.04.2020
Prelude, который обычно загружается по умолчанию. Может быть, вы можете попробовать import Prelude или :module +Prelude до :def
- person ymonad; 14.04.2020