elpa-fsm - state machine library

Property Value
Distribution Ubuntu 18.04 LTS (Bionic Beaver)
Repository Ubuntu Universe amd64
Package name elpa-fsm
Package version 0.2.1
Package release 1
Package architecture all
Package type deb
Installed size 44 B
Download size 9.23 KB
Official Mirror archive.ubuntu.com
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.
Some people say that it would be nice if Emacs Lisp had threads
and/or continuations. They are probably right, but there are few
things that can't be made to run in the background using facilities
already available: timers, filters and sentinels. As the code can
become a bit messy when using such means, with callbacks everywhere
and such things, it can be useful to structure the program as a
state machine.
In this model, a state machine passes between different "states",
which are actually only different event handler functions. The
state machine receives "events" (from timers, filters, user
requests, etc) and reacts to them, possibly entering another state,
possibly returning a value.
The essential macros/functions are:
define-state-machine  - create start-FOO function
define-state          - event handler for each state (required)
define-enter-state    - called when entering a state (optional)
define-fsm            - encapsulates the above three (more sugar!)
fsm-send              - send an event to a state machine
fsm-call              - send an event and wait for reply
fsm.el is similar to but different from Distel:
Emacs' tq library is a similar idea.


Package Version Architecture Repository
elpa-fsm_0.2.1-1_all.deb 0.2.1 all Ubuntu Universe
elpa-fsm - - -


Name Value
emacs -
emacsen-common -


Type URL
Binary Package elpa-fsm_0.2.1-1_all.deb
Source Package fsm-el

Install Howto

  1. Update the package index:
    # sudo apt-get update
  2. Install elpa-fsm deb package:
    # sudo apt-get install elpa-fsm




2016-12-15 - Matteo F. Vescovi <mfv@debian.org>
fsm-el (0.2.1-1) unstable; urgency=medium
* Initial release (Closes: #848127)

See Also

Package Description
elpa-geiser_0.8.1-2_all.deb enhanced Scheme interaction mode for Emacs
elpa-ghub+_0.2.1-1_all.deb thick GitHub API client built on ghub
elpa-ghub_1.3.0-1_all.deb minuscule client for the Github API
elpa-git-annex_1.1-1_all.deb Emacs integration for git-annex
elpa-git-commit_2.11.0-1_all.deb Major mode for editing git commit message
elpa-git-messenger_0.18-2_all.deb pop up last commit information of current line
elpa-git-modes_1.2.6-1_all.deb major modes for editing Git configuration files
elpa-git-timemachine_4.4-1_all.deb walk through git revisions of a file
elpa-gitattributes-mode_1.2.6-1_all.deb major mode for editing Git configuration files (gitattributes)
elpa-gitconfig-mode_1.2.6-1_all.deb major mode for editing Git configuration files (gitconfig and gitmodules)
elpa-gitignore-mode_1.2.6-1_all.deb major mode for editing Git configuration files (gitignore)
elpa-go-autocomplete_20170907-2_all.deb auto-complete-mode backend for Go code
elpa-go-mode_1.5.0-1_all.deb Emacs mode for editing Go code
elpa-golden-ratio_1.0-2_all.deb automatic resizing of Emacs windows to the golden ratio
elpa-goto-chg_1.6-1_all.deb navigate the point to the most recent edit in the buffer