Distel notes

Luke Gorrie <>
Thu Nov 21 16:14:36 CET 2002


Just a couple of notes about Distel, to clear up some questions that
people asked after my EUC talk:

First, Emacs Lisp processes run inside Emacs using a small erlang-like
runtime system, and the only communication with the Erlang node is to
send messages and so on. So when you (erl-spawn ...) you are not
actually doing anything with an Erlang node unless you send it
messages or link its processes and so on.

The applications themselves are usually written half in Elisp and half
in Erlang. There is a module called 'distel' that gets put in the
Erlang code path, and it contains supporting code that Emacs typically
calls with RPCs - e.g. to generate preformatted process listings. A
lot of things are much easier to do either in Elisp or in Erlang, so
the idea is to do them wherever it's easiest.

(Y'know, it would be interesting to do a super-tiny interpreter in
Erlang, so that Distel could send a list like (io:format "Hello from
~p" (self)) and Erlang could interpret it to run the code.. that might
reduce the amount of supporting Erlang code that needs to be written
(and installed on the machine running the node.))

Distel doesn't work on Windows yet (probably for trivial reasons), but
any problems on Unix are bugs that we want to know about. It should
work completely with anything >= R8B-1, but the debugger and profiler
support doesn't work in older versions. I still have a small backlog
of install hiccups on Solaris, but AFAIK this hasn't been a serious
problem for anyone (correct me if I'm wrong!) I only use Linux, so any
patches for other platforms would be *greatly* appreciated!

Also apparently it wasn't obvious that the slides software was written
in Emacs Lisp specially for the talk, so *brag brag* now you know
:-). The slides package is 206 lines of Emacs Lisp (I estimate that
Microsoft Powerpoint must be at least ten times that size), and here's
my favourite screenshot:

Emacs 21 has great support for images and variable-width fonts, so
nothing had to be "faked". The world will be a better place when a
really good Emacs web browser is written that uses all the new
features :-)


More information about the erlang-questions mailing list