# How to create a Sage directory of all functions?

Can one easily get the list of all defined functions in Sage to something like a directory including at least following information:

[

- function name
- allowed input argument numbers (possibly several)
- allowed input argument types for each allowed input argument
- function result values numbers (possibly several depending on input arguments)
- function result values types for each result value

,

- next similar etc.

]

so that for example one could easily construct an expression-set having all allowed functions in function argument places up to a given level?

For example:

Expression-set for 3 levels is something like:

[

sin(cos(x))

sin(sin(x))

sin(tan(x))

sin(x^a)

(x^a)^b

myfun(sin(k),cos(n))

etc.

];

(All combinations. Here only 3 levels given as an example. Here function myfun may have several return variables each can be a variable, vector, matrix, function name etc.)

The closest thing we have is this, I believe : http://www.sagemath.org/doc/reference/. Note that when you want to get the help of a function, you only need to add a ? at the end of its name. For instance, try to type sin? in Sage