[erlang-questions] Is Erlang dynamic language?

Tony Arcieri tony.arcieri@REDACTED
Mon Nov 29 21:49:37 CET 2010


On Mon, Nov 29, 2010 at 1:41 PM, Andrey Paramonov <
andrey.paramonov@REDACTED> wrote:

> Erlang is definitely a dynamically typed language. But is it a dynamic
> language? I see that the term itself is not what all developers agree
> on - there is a whole discussion on Wikipedia about that (http://
> en.wikipedia.org/wiki/Talk:Dynamic_programming_language).
>

I think generally "dynamic language" means there are no type signatures
associated with functions and therefore no automatically enforced type
checking on arguments. Type checking is performed by a late binding
mechanism, and if you try to do something inappropriate with a particular
data type an exception is thrown.

By that definition, Erlang is most certainly a dynamic language. And I think
that's a good thing, because trying to support runtime code change on a
system with static types sounds extremely difficult, but for the runtime
implementer and the end user.


> Many people associate dynamic languages with metaprogramming, runtime
> method injection, AST transformations and the like. As far as I can
> tell, there is no such things in Erlang.


You can do all of that in Erlang. AST transformations have first class
support via -parse_transform() and the rest can be done with a library like
Smerl.

-- 
Tony Arcieri
Medioh! A Kudelski Brand


More information about the erlang-questions mailing list