State Machines

  • https://github.com/cpressey/Facts-about-State-Machines

  • https://github.com/StateSmith/StateSmith

  • [[http://felixge.de/2017/07/27/implementing-state-machines-in-postgresql.html][Implementing State Machines in PostgreSQL]]

  • [[http://apanatshka.github.io/compsci/2016/04/10/finite-automata/][Finite Automata]]

  • https://mannhowie.com/finite-state-machines

  • [[https://github.com/couchbaselabs/vellum][GitHub - couchbaselabs/vellum: A Go library implementing an FST (finite state transducer)]]

  • [[http://code.google.com/p/finitestatemachinegenerator/][Google Code Archive - Long-term storage for Google Code Project Hosting.]]

  • PROGRAMMING LANGUAGES / ERLANG / GEN_STATEM

    • [[http://erlang.2086793.n4.nabble.com/Proposal-for-new-state-machine-engine-gen-statem-td4715672.html][Erlang Questions - Proposal for new state machine engine: gen_statem]]
    • [[http://erlang.org/doc/design_principles/statem.html][Erlang -- gen_statem Behavior]]
    • [[http://erlang.org/doc/man/gen_statem.html][Erlang -- gen_statem]]
    • [[http://proper.softlab.ntua.gr/Tutorials/PropEr_testing_of_finite_state_machines.html][PropEr testing of finite state machines]]
    • [[http://www.davekuhlman.org/gen_statem-fsm-rules-implementation.html][Implementing finite state machines with Erlang and gen_statem - Dave's page]]
    • https://ericent.in/elixir/erlang/gen_statem/gen_state_machine/2016/07/27/stately-machines.html
    • [[https://github.com/antipax/gen_state_machine][GitHub - antipax/gen_state_machine: An idiomatic Elixir wrapper for gen_statem in OTP 19 (and above).]]
    • [[https://github.com/erlang/otp/pull/960][Raimo: New gen State Machine: OTP-13065 by RaimoNiskanen · Pull Request #960 · erlang/otp · GitHub]]
    • [[https://github.com/erlang/otp/pulls?utf8=%E2%9C%93&q=is%3Apr%20is%3Aclosed%20gen_statem%20][Pull Requests · erlang/otp · GitHub]]
    • [[https://github.com/Ledest/gen_statem][GitHub - Ledest/gen_statem]]
    • http://blog.obligd.com/posts/bend-it-like-gen-statem.html
    • https://andrealeopardi.com/posts/connection-managers-with-gen_statem/
  • ALGORITHMS / STATE MACHINES

    • https://github.com/davidkpiano/xstate
    • https://wickstrom.tech/finite-state-machines/2017/11/19/finite-state-machines-part-2.html
    • [[http://teh.id.au/posts/2017/07/15/state-machine-testing/index.html][State machine testing with Hedgehog]]
    • https://gist.github.com/andymatuschak/d5f0a8730ad601bcccae97e8398e25b2
    • https://barrgroup.com/Embedded-Systems/How-To/Introduction-Hierarchical-State-Machines
    • https://news.ycombinator.com/item?id=15851421
    • [[http://aigamedev.com/open/article/fsm-implementation/][Common Ways to Implement Finite State Machines in Games | AiGameDev.com]]
    • [[http://www.codeproject.com/Articles/406116/Generic-Finite-State-Machine-FSM][Generic Finite State Machine (FSM) - CodeProject]]
    • [[http://github.com/GerhardR/fsm][GitHub - GerhardR/fsm: finite state machine in C++ templates]]
    • [[http://github.com/Ikzer/fsmv1][GitHub - Ikzer/fsmv1: Finite State Machine in C++]]
    • [[http://github.com/ajrisi/fsm][GitHub - ajrisi/fsm: A finite state machine engine in C - used as a parser for complex data structures]]
    • [[http://github.com/ankurs/FSM][GitHub - ankurs/FSM: FSM in C]]
    • [[http://github.com/benjones/simpleFSM][GitHub - benjones/simpleFSM: A super simple (and flexible) Finite State Machine class in 30 lines of C++]]
    • [[http://github.com/davber/abstract_fsm][GitHub - davber/abstract_fsm: An abstract finite state machine interface for C++, using solid FSM engines as the back end]]
    • [[http://github.com/gdhamp/FSM][GitHub - gdhamp/FSM: Really nice Finite State machine in c and python]]
    • [[http://github.com/kurniawano/simple-fsm][GitHub - kurniawano/simple-fsm: Class for representing state machine in C++]]
    • [[http://github.com/mitchi/Generator-fsm][GitHub - mitchi/Generator-fsm: FSM generator for C++ with diagram generation via graphviz]]
    • [[http://github.com/niebelung/cpp-fsm][GitHub - niebelung/cpp-fsm: Simple C++11 FSM. No dependencies.]]
    • [[http://github.com/ombre5733/fsm11][GitHub - ombre5733/fsm11: A C++ library for finite state machines]]
    • [[http://github.com/r-lyeh/fsm][GitHub - r-lyeh/fsm: Simple and lightweight Hierarchical/Finite-State Machine (H-FSM) class (C++11)]]
    • [[http://github.com/wisoltech/fsm_cpp][GitHub - eglimi/cppfsm: A simple, generic, header-only state machine implementation for C++.]]
    • [[http://www.gnu.org/software/autogen/autofsm.html][AutoFSM - Automated Finite State Machine]]
    • [[http://www.hanselman.com/blog/Stateless30AStateMachineLibraryForNETCore.aspx][Stateless 3.0 - A State Machine library for .NET Core - Scott Hanselman]]
    • [[http://bits.citrusbyte.com/state-design-pattern-with-ruby/?utm_source=rubyweekly&utm_medium=email][Tired of conditionals? State pattern could help]]
    • [[http://blog.balancedpayments.com/state-machines/][State Machines - How Balanced controls funds flow » Balanced: Blog]]
    • http://boost-extension.redshoelace.com/docs/boost/fsm/doc/state_machine.html
    • [[http://c2.com/cgi/wiki?LispShowOffExamples][http://c2.com/cgi/wiki?LispShowOffExamples]]
    • [[http://codereview.stackexchange.com/questions/20273/designing-a-state-machine-in-c-using-stl-please-improve][Designing a state machine in C++ using the STL - Code Review Stack Exchange]]
    • [[http://ehiti.de/machine_objects/][Machine Objects - Hierarchical state machines in C++]]
    • [[http://en.wikipedia.org/wiki/Automata-based_programming][Automata-based programming - Wikipedia]]
    • [[http://en.wikipedia.org/wiki/Automata-based_programming_(Shalyto%27s_approach)][Automata-based programming (Shalyto's approach) - Wikipedia]]
    • [[http://en.wikipedia.org/wiki/Statechart][State diagram - Wikipedia]]
    • [[http://github.com/hekailiang/squirrel][GitHub - hekailiang/squirrel: squirrel-foundation is a State Machine library, which provided a lightweight, easy use, type safe and programmable state machine implementation for Java.]]
    • [[http://github.com/pragdave/fsm_dsl][GitHub - pragdave/fsm_dsl: A DSL for Elixir GenFSM modules]]
    • [[http://github.com/sasa1977/fsm][GitHub - sasa1977/fsm: Finite State Machine data structure]]
    • [[http://smc.sourceforge.net/][SMC: The State Machine Compiler]]
    • [[http://sourceforge.net/projects/fsmpp/][FSMPP - Finite State Machines in C++ download | SourceForge.net]]
    • [[http://stackoverflow.com/questions/14676709/c-code-for-state-machine][design patterns - C++ code for state machine - Stack Overflow]]
    • [[http://stackoverflow.com/questions/1647631/c-state-machine-design][c++ - C state-machine design - Stack Overflow]]
    • [[http://stackoverflow.com/questions/2271073/state-machines-in-c][State machines in C - Stack Overflow]]
    • http://wickedsource.org/2013/11/19/state-machine-with-java/
    • [[http://www.boost.org/doc/libs/1_55_0/libs/msm/doc/HTML/index.html][Meta State Machine (MSM) - 1.55.0]]
    • [[http://www.bouml.fr/doc/index_statemachinegenerator.html][BOUML user manual]]
    • [[http://www.embeddedrelated.com/showarticle/543.php][Implementing State Machines - Stephen Friederichs]]
    • [[http://www.findinglisp.com/blog/2004/06/automaton-cleanup.html][Finding Lisp]]
    • [[http://www.findinglisp.com/blog/2004/06/basic-automaton-macro.html][Finding Lisp]]
    • [[http://www.findinglisp.com/blog/2004/06/state-machines.html][Finding Lisp]]
    • [[http://www.lispplusplus.com/2013/07/the-evolution-of-macro.html][The Evolution of a Macro - (elegant coding from a more civilized age)]]
    • [[http://www.loper-os.org/?p=14][Loper OS » The Linked List and Modern Architectures]]
    • [[http://www.loper-os.org/?p=69][Loper OS » Where Lisp Fails: at Turning People into Fungible Cogs.]]
    • http://www.omnetpp.org/doc/omnetpp/api/group__MacrosFSM.html
    • [[http://www.openfst.org/twiki/bin/view/FST/WebHome][WebHome < FST < TWiki]]
    • [[http://www.stateforge.com/Help/StateBuilderCpp/statebuildercpp-state-machine-generator.aspx][StateBuilderCpp - state machine code generator for C++]]
    • https://blog.the-pans.com/state-machine/
    • https://news.ycombinator.com/item?id=16470262
    • https://news.ycombinator.com/item?id=16468280
    • http://raganwald.com/2018/02/23/forde.html
    • http://raganwald.com/2018/03/03/reflections.html
    • https://news.ycombinator.com/item?id=16606379
    • https://accu.org/index.php/journals/252
    • https://github.com/metosin/tilakone
    • https://www.wikiwand.com/en/Event-driven_finite-state_machine
    • [[http://retis.sssup.it/~marco/files/lesson13-state_machine_implementations.pdf][http://retis.sssup.it/~marco/files/lesson13-state_machine_implementations.pdf]]
    • http://denis.papathanasiou.org/2013/02/10/state-machines-in-go-golang/
    • [[http://natsys-lab.blogspot.com.ar/2014/11/the-fast-finite-state-machine-for-http.html][High Performance Linux: Fast Finite State Machine for HTTP Parsing]]
    • [[http://codeincomplete.com/posts/2013/1/26/javascript_state_machine_v2_2_0/][http://codeincomplete.com/posts/2013/1/26/javascript_state_machine_v2_2_0/]]
    • [[http://codeandlife.com/2013/10/06/tutorial-state-machines-with-c-callbacks/][Tutorial: State Machines with C Callbacks – Code and Life]]
    • [[http://www.drdobbs.com/cpp/state-machine-design-in-c/184401236][State Machine Design in C++ | Dr Dobb's]]
    • [[http://www.skorks.com/2011/09/why-developers-never-use-state-machines/][Why Developers Never Use State Machines]]
    • [[http://github.com/jakesgordon/javascript-state-machine][GitHub - jakesgordon/javascript-state-machine: A javascript finite state machine library]]
    • [[http://github.com/misje/stateMachine][GitHub - misje/stateMachine: A feature-rich, yet simple finite state machine (FSM) implementation in C]]
    • [[http://github.com/oxplot/fysom][GitHub - oxplot/fysom: Finite State Machine for Python (based on Jake Gordon's javascript-state-machine)]]
    • [[http://github.com/tinybike/FiniteStateMachine.jl][GitHub - tinybike/FiniteStateMachine.jl: A simple Julia implementation of finite state machines.]]
    • [[http://jawher.me/2015/01/18/parsing-command-line-arguments-finite-state-machine-backtracking/][Parsing command line arguments using a finite state machine and backtracking]]
    • http://kev.inburke.com/kevin/state-machines/
    • [[http://blog.stermon.com/articles/2016/10/06/model-state-machine-with-types][Model state machines with types | Blog: Ramón Soto Mathiesen]]
    • [[https://news.ycombinator.com/item?id=13093129][Amazon States Language – A JSON-based language to describe state machines | Hacker News]]
    • [[http://khuttun.github.io/2017/02/04/implementing-state-machines-with-std-variant.html][Implementing State Machines with std::variant]]
    • [[http://elenalang.blogspot.com.ar/2017/02/mixins-in-elena-state-machine.html][ELENA Programming Language blog: Mixins in ELENA : State machine]]
    • [[https://news.ycombinator.com/item?id=14634947][Designing state machines | Hacker News]]
    • [[http://blog.markshead.com/869/state-machines-computer-science/][State Machines – Basics of Computer Science — Mark Shead]]
    • [[https://drivy.engineering/designing-state-machines/][https://drivy.engineering/designing-state-machines/]]
    • https://wickstrom.tech/programming/2017/10/27/motor-finite-state-machines-haskell.html
    • https://functional.works-hub.com/learn/afsm-arrowized-functional-state-machines-f0640?utm_source=reddit&utm_medium=blog&utm_campaign=m.samuel
    • https://en.wikipedia.org/wiki/State_machine_replication
    • https://www.skorks.com/2011/09/why-developers-never-use-state-machines/
    • https://blog.frankel.ch/builder-pattern-finite-state-machine/
    • https://www.amihaiemil.com/2018/12/09/builder-as-a-failfast-state-machine.html
    • http://crookedtimber.org/2019/11/25/seeing-like-a-finite-state-machine/
    • https://terodox.tech/ui-state-machines/
    • https://medium.com/analytics-vidhya/converting-boolean-logic-decision-trees-to-finite-state-machines-180ad195abf2
    • http://www.pathsensitive.com/2020/09/book-review-elements-of-programmnig.html
    • MixedReaction/DiscreteStatePattern
    • Discrete State Pattern - A pattern for creating highly compact and light-weight general purpose finite state machines
    • https://blockchain.works-hub.com/learn/finite-state-machines-e4882?utm_medium=email&utm_source=topic+optin&utm_campaign=awareness&utm_content=20210227+prog+nl&mkt_tok=MTA3LUZNUy0wNzAAAAF7govsFo8Le64wn_t-t2OzHQOQ9qtSEaHU73lU07VjbMtS4ZvYWJSD5a3ACliQeVYNAa5p4Kdcwf8cotwgH_EQphwecuMKrJmo5kDBmYNz3xYALWo
    • https://blog.appsignal.com/2022/06/22/state-machines-in-ruby-an-introduction.html
  • ALGORITHMS / STATE MACHINES / C

    • http://johnsantic.com/comp/state.html
    • http://www.adamtornhill.com/Patterns%20in%20C%202,%20STATE.pdf
    • http://www.barrgroup.com/Embedded-Systems/How-To/Coding-State-Machines
    • http://www.conman.org/projects/essays/states.html
    • http://www.microchip.com/forums/m520736.aspx
    • https://phabulous.org/c-dfa-implementation/
  • ALGORITHMS / STATE MACHINES / ERLANG

    • http://gist.github.com/gebi/jungerl/tree/master/lib/plain_fsm/doc/
  • ALGORITHMS / STATE MACHINES / GO

    • http://github.com/ryanfaerman/fsm
  • ALGORITHMS / STATE MACHINES / RAGEL

    • http://www.complang.org/ragel/
    • http://thingsaaronmade.com/blog/a-simple-intro-to-writing-a-lexer-with-ragel.html
    • http://www.avrfreaks.net/forum/codec-parsing-strings-flexiblyefficiently-ragel
    • http://www.colm.net/open-source/ragel/
    • http://www.devchix.com/2008/01/13/a-hello-world-for-ruby-on-ragel-60/
    • http://github.com/danmiley/ragel/blob/master/examples/atoi.rl
    • http://engineering.emcien.com/2013/04/5-building-tokenizers-with-ragel