Is it possible reload modules in OCaml's utop?
My development workflow goes something like this when playing around with OCaml code:
First, open up a file example.ml
in Vim and hack on it. Switch to another terminal and run utop
. From within utop
, load the code with the directive #use "example.ml";;
.
Go back to Vim and make some changes in the code. After changing the code, I want to play around with the new changes. Go back to utop
and rerun the directive #use "example.ml"
.
It would be nice if there were a #reload
directive that would reload all previously loaded modules, but there doesn't appear to be. Is there some way to easily reload all previously loaded modules?
Ideally this would work similarly to GHCi's :reload
command.
#use "topfind";;
, it says:... Topfind.reset();; to force that packages will be reloaded ...
– Consubstantiate#use
s in a.ml
file and#use
it each time you want to reload everything in it – Tanker