[erlang-questions] idea: function meta data

denis dloutrein.lists@REDACTED
Thu Nov 15 22:18:16 CET 2007


This would be really useful!

We had to do this on the project I'm working on and we used special tags in
documentation. This kind of meta information per functions would have helped
us a lot. We use it to do type checking.

Denis

> -----Message d'origine-----
> De : erlang-questions-bounces@REDACTED [mailto:erlang-questions-
> bounces@REDACTED] De la part de Joe Armstrong
> Envoyé : jeudi 15 novembre 2007 05:49
> À : Erlang Questions
> Objet : [erlang-questions] idea: function meta data
> 
> Module have metadata  Mod:module_info(export) etc.
> 
> But functions do not.
> 
> idea - attach function meta data with a new attribute.
> 
>      -meta(doc, "the factorial function").
>      -meta(type, "int -> int").
>      -meta(keywords, [math]).
> 
>      fac(0) -> 1;
>      fac(N) -> N*fac(N-1)
> 
> The meta data gets *attached* to the Next function in the module
> 
>     -meta(process, true).
>     foo() -> spawn(fun() -> ... end)
> 
> After compilation meta data can be access as follows:
> 
>    Mod:meta_data(fac, 1, doc) => "the factorial function"
>    ...
>    Mod:meta_data(fac, 1, glurk) => '$nothing'
> 
> if we then *standardise* the meta data it will be easy to make loads
> of nice tools for type checking, documentation etc.
> 
> I'm off on a trip today - so can somebody hack the preprocess and
> parser to do this? (( this needs a small change
> attributes have a different syntax and must be at *before* all functions))
> 
> This adds introspection to the language !
> 
> /Joe Armstrong
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions




More information about the erlang-questions mailing list