@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 exported?
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.