[erlang-questions] [proposal] Declarative syntax for metadata (long!)

Vlad Dumitrescu <>
Fri Mar 19 15:02:40 CET 2010


On Fri, Mar 19, 2010 at 13:44, Dominic Williams
<> wrote:
> Le 18 mars 2010 à 14:06, Joe Armstrong a écrit :
>>    (1) The external print representation of the thing
>>        (ie the thing you type into a module, or in the shell)
>>    (2) The parse tree representing (1)
>>    (3) The internal compiled form of the thing
>
> Joe, and Vlad, what kind of programming problems could be solved more easily thanks to such a feature (which I believe is actually reification, introspection being just the possibility to see - ask questions about - but not manipulate)?

Good question. And yes, I think the correct term is reification.

> But for everyday programming, I'm afraid introducing reification would actually make Erlang less simple, less easy to reason about, less reliable... and these properties of Erlang are more important to me, given that I want to ship working software quickly, than being able to do cool things with reification.

Well, for the first thing, this kind of functionality shouldn't affect
anything else unless it is used, just as little as I would not be
affected at all if asn1 or megaco would be the buggiest applications
on the planet.

> I can see one area which would become much easier to work on: development tools.

Yes, that is one. And my (partial) opinion is that they are quite
important. Good tool support is essential and tool developers deserve
help too :) The same kind of reification/introspection exists and in
some places could be improved even at system level (to help manage
installed applications, for example) and in the runtime (process
management).

> I've always been a fan of Joe's principle that for every thing one adds to Erlang, one should remove something else - so since Joe is supporting adding introspection, I'm interested to hear what he would be prepared to remove in exchange?

I'm not Joe, but in my previous message to the list I mentioned
something that could be removed :)

best regards,
Vlad


More information about the erlang-questions mailing list