How to Install and Uninstall elpa-fsm Package on Ubuntu 20.10 (Groovy Gorilla)

Last updated: May 17,2024

1. Install "elpa-fsm" package

In this section, we are going to explain the necessary steps to install elpa-fsm on Ubuntu 20.10 (Groovy Gorilla)

$ sudo apt update $ sudo apt install elpa-fsm

2. Uninstall "elpa-fsm" package

This is a short guide on how to uninstall elpa-fsm on Ubuntu 20.10 (Groovy Gorilla):

$ sudo apt remove elpa-fsm $ sudo apt autoclean && sudo apt autoremove

3. Information about the elpa-fsm package on Ubuntu 20.10 (Groovy Gorilla)

Package: elpa-fsm
Architecture: all
Version: 0.2.1-3
Priority: optional
Section: universe/lisp
Source: fsm-el
Origin: Ubuntu
Maintainer: Ubuntu Developers
Original-Maintainer: Debian Emacsen team
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 44
Depends: emacsen-common, emacs
Recommends: emacs (>= 46.0)
Enhances: emacs, emacs24, emacs25
Filename: pool/universe/f/fsm-el/elpa-fsm_0.2.1-3_all.deb
Size: 9916
MD5sum: 03ffb678a35e00929559f2d63477781f
SHA1: 8f758210b5b010368c6b99c166caa436618c4319
SHA256: 7fe418f88365af425abf91262a6b3358141e0fa0b74ab104f62a02906b2531f1
SHA512: d79611fb2805b0ced7ab9e96b433aac9bf40a3e5145f25a1d4f38d0245c9728f76b236bf8747978f3c13f1cd21249d220e2734cb606764a23595056f27416d32
Homepage: http://elpa.gnu.org/packages/fsm.html
Description-en: state machine library
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.
Description-md5: 5c517e3eb864ec05255951c911338d1c