[erlang-questions] erlang for programming a text editor
Steve Vinoski
vinoski@REDACTED
Mon Nov 2 15:27:52 CET 2009
On Mon, Nov 2, 2009 at 3:20 AM, Alpar Juttner
<ajuttner.list@REDACTED>wrote:
> An editor like emacs does not need multicore, but it _does_ need
> concurrency, as it could provide much better responsiveness. When emacs
> blocks for a couple of seconds, it is already annoying. When it blocks
> for tens of seconds, it can be a considerable pain.
>
I use a package called emacs-jabber for doing IM from within emacs.
<http://emacs-jabber.sourceforge.net/>
I've never had it block emacs on me. When I started looking into how it was
doing event handling, I found that it uses something called fsm.el:
<http://www.mail-archive.com/gnu-emacs-sources@gnu.org/msg00308/fsm.el>
which has the following interesting comment near the top of the source code:
;; fsm.el is an exercise in metaprogramming inspired by gen_fsm of
;; Erlang/OTP. It aims to make asynchronous programming in Emacs Lisp
;; easy and fun. By "asynchronous" I mean that long-lasting tasks
;; don't interfer with normal editing.
It's based on gen_fsm -- we've come full circle. :-)
More emacs packages should make use of this to avoid blocking.
--steve
More information about the erlang-questions
mailing list