Lambda the Ultimate

inactiveTopic Distel: Distributed Emacs Lisp (for Erlang)
started 12/29/2002; 11:40:28 AM - last post 1/5/2003; 2:59:53 AM
Ehud Lamm - Distel: Distributed Emacs Lisp (for Erlang)  blueArrow
12/29/2002; 11:40:28 AM (reads: 1611, responses: 9)
Distel: Distributed Emacs Lisp (for Erlang)
This a cool system (well, Erlang is a cool language). As an added bonus the paper shows how emacs can be extended to support interesting new features.

But I am not going to say much more about this system, beacuse I have a feeling that a certain LtU contributor, which will remain nameless, can tell us a lot more about it than I can...


Posted to general by Ehud Lamm on 12/29/02; 11:42:08 AM

Ehud Lamm - Re: Distel: Distributed Emacs Lisp (for Erlang)  blueArrow
12/29/2002; 11:44:25 AM (reads: 1103, responses: 0)
Erlang is a cool language

Yep. So cool in fact that I got one of my students to write a Hebrew tutorial on Erlang (and compare its approach to concurrency with other languages, like Java and Ada).

Marc van Woerkom - Re: Distel: Distributed Emacs Lisp (for Erlang)  blueArrow
12/29/2002; 7:09:09 PM (reads: 1060, responses: 1)
Is there an English translation available?

Ehud Lamm - Re: Distel: Distributed Emacs Lisp (for Erlang)  blueArrow
12/29/2002; 11:59:13 PM (reads: 1075, responses: 0)
Of what, my student's tutorial? Currently, the work isn't finished anyway. The tutorial will be in Hebrew (it is written as part of the requirements of the course: each student must do a final project). But there's plenty of good information on Erlang in English, anyway.

Frank Atanassow - Re: Distel: Distributed Emacs Lisp (for Erlang)  blueArrow
12/30/2002; 6:44:48 AM (reads: 1001, responses: 1)
I think I posted a discussion topic about this roughly a month ago, which was not picked up for the main page. (No problem.) Here is the link I posted then:

http://www.bluetail.com/~luke/distel/

Ehud Lamm - Re: Distel: Distributed Emacs Lisp (for Erlang)  blueArrow
12/31/2002; 10:30:40 AM (reads: 960, responses: 0)
That's how I heard about Distel first. Then I saw the paper from the Erlang workshop.

And oh, Frank, you can always become an editor. If you do, you would be able to post to the home page directly...

Darius Bacon - Re: Distel: Distributed Emacs Lisp (for Erlang)  blueArrow
1/2/2003; 11:37:49 AM (reads: 845, responses: 1)
I think the nameless LtU contributor is off on vacation...

Ehud Lamm - Re: Distel: Distributed Emacs Lisp (for Erlang)  blueArrow
1/2/2003; 12:32:17 PM (reads: 887, responses: 0)
I was starting to wonder...

Luke Gorrie - Re: Distel: Distributed Emacs Lisp (for Erlang)  blueArrow
1/4/2003; 5:39:48 PM (reads: 776, responses: 1)
Hey, thanks for the link! Back from vacation now (Ireland was fun!)

The Distel idea is to make an Emacs-based user-interface toolkit for Erlang, and use it to write a lot of programming tools (cross-referencing, debugging, profiling, etc.) The fun part is the approach -- porting Erlang's concurrency model into Emacs Lisp, and implementing the Erlang inter-node distribution protocol, giving "native" communication between concurrent processes in Erlang and in Emacs. Once this is done, it's about as easy to write user interfaces to Erlang programs in Emacs Lisp as it is in Erlang.

It's panned out really well -- a lot of Erlang programmers are using it, a handful of hackers are co-developing it, and it was warmly received at the Erlang conference. I think we're doing a significant new release every month or so.

I hope the paper itself is interesting to LtU readers, as a case-study in, um, something-or-other :-). It assumes basic familiarity Erlang and Elisp. Some important ingredients in implementing Distel, like Trampolined Style, were actually picked up from LtU, so thanks everybody :-)

In the future I'd like to do another version with just straight Emacs-to-Emacs concurrent/distributed programming, standing separate for Erlang. That could also be a useful tool, and more approachable to Emacs hackers. But, for now hacking Distel is more fun :-)

Ehud Lamm - Re: Distel: Distributed Emacs Lisp (for Erlang)  blueArrow
1/5/2003; 2:59:53 AM (reads: 803, responses: 0)
as a case-study in, um, something-or-other

For one thing it is an example of emacs flexibility. Emacs is a classic example of using an embedded language to increase software flexibiliti or modifiability.