All functions should be stored in a searchable key/value database, where the key is a cryptographically signed canonical representation of the function source code. By "canonical representation" I mean a translation to a canonical form of the lambda calculus, so as to capture the complete meaning unambiguously.
This database would, of course, translate the lambda calculus to erlang, lisp, haskell, php, what-have-you, on demand at the view layer.
Metadata would need to be extensive, but we could crowd-source that Wikipedia-fashion.
Extending it to absurdity:
All functions should be stored in a searchable key/value database, where the key is a cryptographically signed canonical representation of the function source code. By "canonical representation" I mean a translation to a canonical form of the lambda calculus, so as to capture the complete meaning unambiguously.
This database would, of course, translate the lambda calculus to erlang, lisp, haskell, php, what-have-you, on demand at the view layer.
Metadata would need to be extensive, but we could crowd-source that Wikipedia-fashion.