openlang

Dependency recompilation leaves old code active

I spotted something; I haven't looked into it much, but thought I'd ask here:

Before, after editing a dependency I was trying out in a project, running mix compile from a terminal would compile the dependency again, and following that with recompile inside iex would make those edits visible.

I've lately moved to 1.20.0-rc.1-otp-28, and this sequence apparently no longer behaves the same. Compilation still occurs and the shell returns :ok, yet my changes aren't visible, as though the previous version remains loaded. Quitting and restarting the server makes the edits appear.

I haven't examined it closely and don't know whether it's a bug or something different. Has anybody else run into this?

The conversation continues 2

Follow the reasoning
  1. Permalink

    It looks as if the module got compiled again without being loaded again. Compiling and loading are distinct steps.

Other sides of the same question

  1. Reducing docker-compose console noise

    Several of my containers produce hundreds upon hundreds of output lines when docker-compose up starts all the services in my…

    Replies 3Latest activity bash
  2. Could D produce Python extension modules rather than using C?

    Apparently D can link against C. I want to write a Python extension module using D. Is there a reason this approach could nev…

    Replies 2Latest activity d
  3. Micro plugins declared through Nix?🤔

    With python we can write this: Python.withPackages (q: with q; [ fastapi ]) Is an equivalent mechanism available for the Micr…

    Replies 3Latest activity nix