Distel, the other way around

Vlad Dumitrescu vlad_dumitrescu@REDACTED
Wed Dec 17 14:46:27 CET 2003

From: "Luke Gorrie" <luke@REDACTED>
> What makes the integration tighter (apart from the colours :-)? We'll
> soon show them who's boss!

That's the spirit! :-)

Well, I'm not really a Moz heavy user, but they have no separate shell, the
whole UI is done inside Emacs. I'd not recommend going that far (like Joachim
pointed out). Also there is a system browser where values can be inspected -
more or less like a live interactive session. Would be cool to see in real-time
how the state of a process changes, for example.

> The way Distel works it that an Emacs buffer is a process. Erlang can
> send a message to an Emacs buffer, and the buffer then receives it
> (with `erl-receive') and decides what to do. So all of the mechanisms
> are available -- it's just a matter of doing the cool stuff with them.

Yes, I know there are. I was about to try to give it a try, but then thought
"what if there's something flawed in my assumptions? I'll ask first".

> Here's how to write an RPC server process in Distel / Emacs Lisp:
> ...deleted...

Thanks, that saved me a lot of trial-and-error :-)

> Unfortunately, you can't send a message from Erlang to Emacs using a
> registered name "{foo, node@REDACTED} ! ..."  syntax -- probably just
> because Distel connects as a hidden node. So in Erlang you need to
> somehow get the PID of the Elisp process.

Another way is to have on the Erlang side a known connection point and let the
Emacs process register itself. Then we can create an Erlang wrapper around it.


More information about the erlang-questions mailing list