
2010/04/03 Casey Hawthorne
Apparently, Erlang does not have a static type system, since with hot code loading, this is intrinsically difficult.
It is doubtless hard to statically check a program that is not statically available :)
If Haskell allows hot code loading, would this throw a wrench into the static type system?
One can not "gloss over" the difference between statically verified and not; dynamic loading becomes essentially "dynamic compiling and type-checking". You ship a statically checked Haskell program that is run to construct new Haskell programs. With `hint-server', for example, you have a statically checked master process which is shipped with the GHC inside and you load subprograms into their own environment; if type checking works then, hurray, it did and you run the subprogram. If not, well, you handle the error. The master process is static while the modules governed by it are not. I wonder, is it possible in Erlang to dynamically reload the entire runtime, stem-to-stern? -- Jason Dusek