How to Install and Uninstall elpa-fsm Package on Ubuntu 21.10 (Impish Indri)

Last updated: May 17,2024

1. Install "elpa-fsm" package

This tutorial shows how to install elpa-fsm on Ubuntu 21.10 (Impish Indri)

$ sudo apt update $ sudo apt install elpa-fsm

2. Uninstall "elpa-fsm" package

This guide covers the steps necessary to uninstall elpa-fsm on Ubuntu 21.10 (Impish Indri):

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

3. Information about the elpa-fsm package on Ubuntu 21.10 (Impish Indri)

Package: elpa-fsm
Architecture: all
Version: 0.2.1-4
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: 43
Depends: dh-elpa-helper, emacsen-common, emacs
Recommends: emacs (>= 46.0)
Enhances: emacs, emacs24, emacs25
Filename: pool/universe/f/fsm-el/elpa-fsm_0.2.1-4_all.deb
Size: 9320
MD5sum: f7afca3745abd264b250b98e9a262828
SHA1: 65abe63c7d6eb29aff1f5cd764ebb26c7adb1d2e
SHA256: 3f9259d10382245194b7fc7c1a65696f2f8738aca6fb78e9a4dacdcfd03f552b
SHA512: 5cafd3c30203b00e47a287a383624b1f5b7a755ba9f1eb59da56734ce09d7b949b2ce3c50111e30b4a5a2adc74c00a65aa943225050837b124ee7907b39c1b82
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