@ChrisRackauckas made a YouTube tutorial on developing julia packages and some best practices:
I couldn’t find a discussion on this anywhere on Discourse yet!
One question I had was why is Revise “evaluating the one that’s inside your package” in this segment, but a few minutes earlier, evaluating the function interactively did not do the same thing?
Is it because in the intervening part of the video, my_f
became export
ed?
Like Chris says in the video (your second link), the my_f
he is calling in runtests.jl
is not actually the one defined in the package - I guess he had an old version of my_f
already defined in his julia session.
So, when he evaluated the my_f
definition in the package Juno did actually update the definition of my_f
inside of the package, but the my_f
he is calling in runtests.jl
isn’t effected by this - again, it is not the one from the package. To resolve this, he then restarts his Julia session: he wants to make sure that there is only a single my_f
defined (the one from the package)
I evaluated my_f
before I ever loaded the module, so it just put it in Main
.
Thanks you. It is a very nice video and complete and it is very useful showing how test and use tools like Travis, contribute using Github pull requests, and even Register the package, a great step-by-step tutorial.