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