Erlang killer app?,

Luke Gorrie luke@REDACTED
Tue Jul 30 15:58:20 CEST 2002


"Vlad Dumitrescu" <vlad_dumitrescu@REDACTED> writes:

>     - better support under Emacs, integrating syntax_tools, igor,
>       distel. Even better, Ermacs! (and it wouldn't hurt if Ermacs
>       would work for Windows too)

Emacsification is happening :-). The CVS version of Distel
(http://sf.net/projects/distel) is getting fancy now, it includes a
debugger front-end (so you can single-step code inside a buffer), and
a dynamic TAGS-like feature for jumping from a function call to the
function definition, and more. Here's the current `describe-mode'
documentation for the erlang-extended-mode:

  Erlang-Extended minor mode (indicator EXT):
  Extensions to erlang-mode for communicating with a running Erlang node.

  C-c C-d l     - List all Erlang processes ("pman").
  C-c C-d .     - Jump to the definition of a function call (dynamic TAGS).
  C-c C-d :     - Evaluate an erlang expression from the minibuffer.
  C-c C-d p     - Profile (with fprof) an expression from the minibuffer.
  C-c C-d i     - Toggle debug interpreting of the module.
  C-c C-d b     - Toggle a debugger breakpoint at the current line.
  C-c C-d m     - Popup the debugger's process monitor buffer.

I have a debugger screen-shot at
http://www.bluetail.com/~luke/misc/distel-dbg.png for the curious.

After some polishing and beta-testing I'll be able to make a release
with really nice "out of the box" features. As it stands, the CVS
version works great with Emacs 21 and R8, albeit with minor
installation hiccups on some machines. Testers welcome :-)

syntax_tools/igor integration is a great next idea. It should be very
easy to make "refactoring" commands, e.g. "refactor region as
sub-function": take a region of a function, send it to Richard
Carlsson's magic to get a list of free variables, generate a new
function with those variables as parameters and the region as the
body, rewrite original bit as a call to the new function.

As for Ermacs (outright clone of Emacs in Erlang), I reckon
integration with the real Emacs is the better approach, which is why I
switched to Distel. I really learned a new apprciation for Emacs in
trying to replace it :-)

Cheers,
Luke




More information about the erlang-questions mailing list