[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