[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