# Julia Base module make workflow

**URL:** <https://discourse.julialang.org/t/julia-base-module-make-workflow/133763>\
**Category:** Internals & Design\
**Tags:** question\
**Created:** [November 9, 2025, 4:27pm UTC](https://discourse.julialang.org/t/julia-base-module-make-workflow/133763 "2025-11-09T16:27:49Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![JimCircadian](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jimcircadian/32/205596_2.png) [@JimCircadian](https://discourse.julialang.org/u/JimCircadian)\
**Post date:** [November 9, 2025, 4:27pm UTC](https://discourse.julialang.org/t/julia-base-module-make-workflow/133763/1 "2025-11-09T16:27:49Z")

</div>

Hello

I’m probably missing something extremely obvious, but is there a speedier way of hacking on the contents of `base/` in the source tree? Each time I change something, running `make` again seems to rebuild the sysimage and a load of other assets. I tried `make julia-base` but that doesn’t seem to update and restarting the interpreter doesn’t pick up simple changes in `base/strings/string.jl`

I wonder whether it should be possible / is standard to be able to hack on the standard library without re-making the package, which is time consuming.

A couple of additional questions:

1. Have I missed a piece of documentation about the ideal developer workflow? Reading [the contribution guidelines](https://github.com/JuliaLang/julia/blob/master/doc/src/devdocs/contributing/code-changes.md) and other docs hasn’t revealed the answer to me. Could perhaps contribute this?
2. Is there docs that explains the make targets? Even if (1) isn’t required, this could be a useful resource for newbies hacking on julia ☺

Thanks in advance!!!

---

<div class="post-metadata">

**Author:** ![adienes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/adienes/32/37459_2.png) [@adienes](https://discourse.julialang.org/u/adienes)\
**Post date:** [November 9, 2025, 4:33pm UTC](https://discourse.julialang.org/t/julia-base-module-make-workflow/133763/2 "2025-11-09T16:33:16Z")

</div>

`using Revise; Revise.track(Base)` will go a long way

on occasion you will still have to rebuild (if you change something in `src`, or something very early in `Base` bootstrapping and revise gets confused), but for the most part this should do what you want

---

<div class="post-metadata">

**Author:** ![JimCircadian](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jimcircadian/32/205596_2.png) [@JimCircadian](https://discourse.julialang.org/u/JimCircadian)\
**Post date:** [November 9, 2025, 5:01pm UTC](https://discourse.julialang.org/t/julia-base-module-make-workflow/133763/3 "2025-11-09T17:01:56Z")

</div>

Thanks @adienes. The issue is that changes aren’t being picked up on REPL restart. Revise, as I understand it, is not going to fix the fact that the REPL isn’t picking up changes (I suspect because it’s looking at the sysimage, I can’t say I’ve got my head around that yet!?)

I use revise often, but am intentionally avoiding doing so at the moment to ensure that I don’t confuse myself.

Is there a way to detect / understand what the REPL is picking up in terms of code for `base/`? I see no real indication it’s evaluating it from the source tree.

Thanks so much for the speedy response!

---

<div class="post-metadata">

**Author:** ![adienes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/adienes/32/37459_2.png) [@adienes](https://discourse.julialang.org/u/adienes)\
**Post date:** [November 9, 2025, 5:11pm UTC](https://discourse.julialang.org/t/julia-base-module-make-workflow/133763/4 "2025-11-09T17:11:57Z")

</div>

> [@JimCircadian](#):
>
> I suspect because it’s looking at the sysimage,
> 
> I see no real indication it’s evaluating it from the source tree.

correct, no changes will be visible unless you evaluate them explicitly in the REPL or use Revise

---

<div class="post-metadata">

**Author:** ![JimCircadian](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jimcircadian/32/205596_2.png) [@JimCircadian](https://discourse.julialang.org/u/JimCircadian)\
**Post date:** [November 9, 2025, 6:30pm UTC](https://discourse.julialang.org/t/julia-base-module-make-workflow/133763/5 "2025-11-09T18:30:11Z")

</div>

Thanks @adienes, I was being a bit of a dimwit assuming between REPL sessions the local changes would be picked up. Revise has sorted it. What are your thoughts on the make targets explainer, good idea?
