A SSC contributor has raised an interesting question. Say that you
have an ado-file that calls one (or several) of your own mata
functions. You could place those functions in-line in the ado-file,
or you could compile them into .mo and put them into an .mlib.
is there any real downside to distributing a single ado-file
containing the mata functions inline versus distributing the .ado
and .mlib (and presumably the .mata if you want to expose the code)?
The inline code will be compiled when loaded, but once per session.
Presumably the downside is the time taken to compile the Mata functions
every time the .ado is called (or, as you say, every session in which the
.ado is called at least once). I don't know how "real" this problem is, or
how large a Mata library has to be before it gets "real". I personally have
used the .mlib solution up until now (plus the .mata files to keep it open
source), but am open to persuasion otherwise, if anybody knows anything I
don't.