[Haskell-cafe] Apparently, Erlang does not have a static type system, since with hot code loading, this is intrinsically difficult.

Jason Dusek jason.dusek at gmail.com
Sun Apr 4 01:26:25 EDT 2010


2010/04/03 Casey Hawthorne <caseyh at istar.ca>:
> 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


More information about the Haskell-Cafe mailing list