[erlang-questions] Help with 'make' module and the shell (devel loop issue)

Jonathan Gold dev@REDACTED
Fri Dec 29 04:13:33 CET 2006


Hi --

I'm running up against what I see as some gaps in functionality in the
'make' module that I'd like to fix to speed my development cycle (ie,
I could crank out my mediocre code *much* more quickly). 

Before proposing and hopefully submitting the changes, I wanted to
describe my problem to see if maybe there's a better way to go about
it all in the first place, since I'm new to Erlang (or, as I like to
call it, "the 'lang")

The issue: I have a bunch of erl files in a directory along with an
Emakefile, and all builds fine. My typical loop is:

    - edit one of the files with vim in window X
    - run make:all() from the erl shell (lcd'ed to my source-code
      directory) in window Y
    - ??? (currently just handcoding c( foo ) for all changed modules
      'foo')
    - run some function to observe my new code
    - repeat...

The '???' in the third step is the gap I think may need to be filled.
As it is, I'm not seeing an easy way for the make:all() step to result
in my new modules being reloaded in the shell (I actually have
specified the 'load' option in my Emakefile, but it doesn't seem to be
kicking in).

Unless there's an entirely better way for me to edit and build code,
I'd like to look in to adding functionality to make:all (or a new
function make:all_report if that is preferable) that returns the list
of newly changed modules on success, as opposed to the atom
'up_to_date'. Then, I could easily combine that with c:l() inside a
lists:foreach call in my shell, and have all new code ready to rock.

Thoughts (on an admittedly very boring topic)?

jon



More information about the erlang-questions mailing list