# REPL workflow reload doesn't work

**URL:** <https://discourse.julialang.org/t/repl-workflow-reload-doesnt-work/6571>\
**Category:** New to Julia\
**Tags:** question\
**Created:** [October 19, 2017, 8:52pm UTC](https://discourse.julialang.org/t/repl-workflow-reload-doesnt-work/6571 "2017-10-19T20:52:48Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Wikunia](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wikunia/32/2180_2.png) [@Wikunia](https://discourse.julialang.org/u/Wikunia)\
**Post date:** [October 19, 2017, 8:52pm UTC](https://discourse.julialang.org/t/repl-workflow-reload-doesnt-work/6571/1 "2017-10-19T20:52:48Z")

</div>

I think I followed:  
[https://docs.julialang.org/en/stable/manual/workflow-tips/#A-basic-editor/REPL-workflow-1](https://docs.julialang.org/en/stable/manual/workflow-tips/#A-basic-editor/REPL-workflow-1)

but it doesn’t seem to work.

Created `Tmp.jl`  
Inside `Tmp.jl`:

```julia
module Tmp

end

```

Then started the REPL

```julia
include("Tmp.jl")

```

works fine, but

```julia
reload("Tmp")

```

produces this error:

```julia
ERROR: ArgumentError: Module Tmp not found in current path.
Run `Pkg.add("Tmp")` to install the Tmp package.
Stacktrace:
 [1] reload(::String) at ./loading.jl:371
 [2] macro expansion at ./REPL.jl:97 [inlined]
 [3] (::Base.REPL.##1#2{Base.REPL.REPLBackend})() at ./event.jl:73

```

---

<div class="post-metadata">

**Author:** ![rdeits](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rdeits/32/286_2.png) [@rdeits](https://discourse.julialang.org/u/rdeits)\
**Post date:** [October 19, 2017, 9:17pm UTC](https://discourse.julialang.org/t/repl-workflow-reload-doesnt-work/6571/2 "2017-10-19T21:17:14Z")

</div>

In your case, rather than calling `reload`, you can just do `include("Tmp.jl")` again.

The manual, on the other hand, is assuming that the `Tmp.jl` file is somewhere on your LOAD\_PATH and that you’ve loaded it with:

```julia
import Tmp

```

rather than `include("Tmp.jl")`.

You can read more about LOAD\_PATH here: [https://docs.julialang.org/en/stable/manual/modules/#Module-file-paths-1](https://docs.julialang.org/en/stable/manual/modules/#Module-file-paths-1)

To include your current directory in LOAD\_PATH, do:

```julia
julia> push!(LOAD_PATH, pwd())                     

julia> import Tmp

julia> reload("Tmp")
WARNING: replacing module Tmp

```

---

<div class="post-metadata">

**Author:** ![rdeits](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rdeits/32/286_2.png) [@rdeits](https://discourse.julialang.org/u/rdeits)\
**Post date:** [October 19, 2017, 9:51pm UTC](https://discourse.julialang.org/t/repl-workflow-reload-doesnt-work/6571/3 "2017-10-19T21:51:04Z")

</div>

By the way, I think the manual is not very clear on this point, so I’ve opened a PR to improve it: [https://github.com/JuliaLang/julia/pull/24223](https://github.com/JuliaLang/julia/pull/24223)

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [October 20, 2017, 7:24am UTC](https://discourse.julialang.org/t/repl-workflow-reload-doesnt-work/6571/4 "2017-10-20T07:24:40Z")

</div>

Also, you can automate everything with the magical

> **[GitHub - timholy/Revise.jl: Automatically update function definitions in a...](https://github.com/timholy/Revise.jl)**
>
> Automatically update function definitions in a running Julia session - GitHub - timholy/Revise.jl: Automatically update function definitions in a running Julia session

---

<div class="post-metadata">

**Author:** ![PriceHardman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pricehardman/32/1027_2.png) [@PriceHardman](https://discourse.julialang.org/u/PriceHardman)\
**Post date:** [October 26, 2017, 4:34pm UTC](https://discourse.julialang.org/t/repl-workflow-reload-doesnt-work/6571/5 "2017-10-26T16:34:54Z")

</div>

IIRC, Revise won’t automatically track files loaded by `include`. So for a workflow involving files not in the `LOAD_PATH`, some extra work would be needed to have Revise track those files, right?

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [October 26, 2017, 4:59pm UTC](https://discourse.julialang.org/t/repl-workflow-reload-doesnt-work/6571/6 "2017-10-26T16:59:09Z")

</div>

I think you are right, see  
[https://github.com/timholy/Revise.jl/issues/40](https://github.com/timholy/Revise.jl/issues/40)  
But practically, packages are so lightweight that I do all nontrivial development using one, so this is not a constraint for me.
