[erlang-questions] Package Support/Use

Dominic Williams xpdoka@REDACTED
Fri Nov 3 21:06:59 CET 2006

Hi Eric,

> True, however, this is a sociological issue not a
> technical one. It also depends very much on standards a
> community has set. We have the power to set our one
> standards on what is the right and wrong way to name
> packages.
> [...]
> I will say that bringing up problems these types of
> sociological problems isn't very helpful. Saying that
> users will do this or users will do that is just hand
> waving. User might do that and some users probably will,
> but that doesn't imply that they can't be lead in the
> right direction.

Compared to some other language communities I have known,
this one is actually rather weak on community
standards. I'll just offer three examples:

- naming (camel case vs. underscore)
- returning tagged values vs. throwing
- using OTP or not

The standard libraries themselves are sadly lacking in
homogoneity. There is no consistent naming system, no
consistent ordering of arguments, various strategies for
error handling...

Also, the more Erlang spreads into open source, web
development and so on (and this prospect has been offered as
an argument for needing a solution to name clashes...), the
more likely it becomes that whatever standards we do have
become diluted.

However, out of interest and to see whether there would be a
consensus, what would those standards of right and wrong
ways of naming packages be?

>> The simplest way to resolve name clashes after they occur
>> is to rename one of the modules. Better support for
>> automated refactoring would make this easy, and I guess
>> that covers 99% of the name clash situations.
> This works well only if you control the entire code
> base. If I pull module A from one open source project and
> module B from another I don't want to change anything in
> module A or B. Touching files in either invalidates all
> the tests that may have been run and it gives me a local
> version that I now have to maintain. Neither of these
> things are acceptable.

How about a parse transform?


Dominic Williams


More information about the erlang-questions mailing list