gnu-emacs-sources
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNU ELPA] Fsm version 0.2.1


From: ELPA update
Subject: [GNU ELPA] Fsm version 0.2.1
Date: Sun, 31 Mar 2024 05:26:15 -0400

Version 0.2.1 of package Fsm has just been released in GNU ELPA.
You can now find it in M-x list-packages RET.

Fsm describes itself as:

  =====================
  State machine library
  =====================

More at https://elpa.gnu.org/packages/fsm.html

## Summary:

  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 interfere 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.

## Recent NEWS:

Version 0.2:
-- Delete trailing whitespace.
-- Fix formatting.
-- Use lexical binding.
-- Port to cl-lib.
-- Remove unnecessary fsm-debug-output message.
-- Add FSM name to fsm-debug-output messages that were not including it.
-- Fix checkdoc errors.
-- Change FSMs from plists to uninterned symbols.

NOTE: This is version 0.1ttn4 of fsm.el, with the following
mods (an exercise in meta-meta-programming ;-) by ttn:
-- Refill for easy (traditional 80-column) perusal.
-- New var `fsm-debug-timestamp-format'.
-- Make variables satisfy `user-variable-p'.
-- Use `format' instead of `concat'.
-- New func `fsm-goodbye-cruel-world'.
-- Make start-function respect `interactive' spec.
-- Make enter-/event-functions anonymous.
-- New macro `define-fsm'.
-- Example usage in Commentary.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]