This is hard to answer, as you are asking the lua equivalent of 'what are the names of all defined macros?'. The answer is: it depends.
The core luatex functions are documented in the reference manual, as Patrick wrote in his answer. Everything else is loaded from lua source files on your hard-disk, but only if you (possibly indirectly) asked for it, just as would be the case for macros/packages.
If you are only interested in a list of defined lua functions in your current luatex source file, you can try this inside a lua code block:
function dump (prefix, a)
for i,v in pairs (a) do
if type(v) == "table" then
dump(prefix .. '.' .. i,v)
elseif type(v) == "function" then
print (prefix .. '.' .. i .. '()')
but there are two caveats:
you only get to know function names, not their calling conventions. This is about as useful as only knowing macro names (meaning: not very useful at all)
circular references to tables will confuse this bit of lua code, it needs to be made smarter to allow for that