Как перезагрузить модули OCaml в Utop
Возможно ли перезагрузить модули в утопе OCaml?
Мой рабочий процесс идет примерно так, когда я играю с кодом OCaml:
Сначала откройте файл example.ml
в Vim и взломать его. Переключитесь на другой терминал и запустите utop
, Изнутри utop
загрузить код с директивой #use "example.ml";;
,
Вернитесь в Vim и внесите некоторые изменения в код. После изменения кода я хочу поиграть с новыми изменениями. Вернуться к utop
и перезапустите директиву #use "example.ml"
,
Было бы хорошо, если бы #reload
директива, которая перезагрузит все ранее загруженные модули, но там, кажется, нет. Есть ли способ легко перезагрузить все ранее загруженные модули?
В идеале это будет работать аналогично GHCi :reload
команда.
1 ответ
В то время, когда был задан этот вопрос, я полагаю, что dune еще не зарекомендовала себя как система сборки для OCaml. Используя dune, вы можете просто запустить экземпляр utop с загруженными локально определенными библиотеками (как описано здесь ), выполнив следующие действия:
$ dune utop <dir> -- <args>
Где находится каталог, в котором dune будет искать (рекурсивно) все библиотеки, которые будут загружены