[erlang-questions] idea: function meta data

Serge Aleynikov saleyn@REDACTED
Thu Nov 15 14:20:38 CET 2007


It would be very useful indeed.  Especially it the shell offered an 
extended version of help that would display available metadata:

1> help(Module, Function).

Joe Armstrong wrote:
> 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