erlang improvement - objective c (or smalltalk) syntax
mats cronqvist
masse@REDACTED
Thu Jun 4 16:41:16 CEST 2009
Kenneth Lundin <kenneth.lundin@REDACTED> writes:
> It would be easy to implement tab-completion of functions with
> argument names and types based on the
> type specifications which are in place in many of the modules in
> kernel and stdlib.
> The typespec info can easily be retrieved from the beam files without
> need for documentation.
<promotion>
distel has functionality to support tab completion of function names,
that can also be run from the shell;
5> otp_doc:sig(li,fo).
["lists:foldl(Fun, Acc0, List) -> Acc1",
"lists:foldr(Fun, Acc0, List) -> Acc1",
"lists:foreach(Fun, List) -> void()"]
It works by parsing the HTML docs on the fly.
There's also this fine function
6> distel:get_arglists("lists","foldl").
[["F","Accu","list()"]]
that uses debug-info from the beam files.
</promotion>
In emacs this has been available for a long time. Incorporating with
the shell would be trivial (if these functions, or clones of them,
were included in OTP.)
As far as Joe's suggestion goes; I'm curious as to how this should be
implemented, and much it would slow down an "average" program.
mats
More information about the erlang-questions
mailing list