cross-module inlining - just in time?

Richard A. O'Keefe ok@REDACTED
Thu Apr 6 04:50:03 CEST 2006

"Vlad Dumitrescu" <vlad_dumitrescu@REDACTED> wrote:
	Unfortunately, this isn't entirely true from a practical point
	of view:  changing a record definition and recompiling just one
	module using it is a sure way to make everything crash ;-)
Yes, but that's the whole problem I am trying to solve:
the thing those record definitions are in is *NOT* a module!

	Likewise, changing the API of some service would also require
	recompilation of all clients.
True.  But there really is a big difference here.  With cross-module
inlining, a change that *doesn't* affect the API of anything can cause
problems.   Even interface checking (harder than it should be in Erlang
because you don't have to _declare_ your intention to use some function
from another module) and even type checking (using any of the type
checkers I've heard of for Erlang), while they WOULD help with API
changes, DON'T help with cross-module inlining.

	So the problem is already here, only it doesn't manifest itself
	at compile time, but at run time.
But the problem I am talking about is one that manifests itself at run
time, not at compile time.

More information about the erlang-questions mailing list