Live Editor – Quick Start – Tools – Libraries – Example Code – Resources – Highlighters
Finite State Language, or FSL (pronounced "fossil,") is a programming language to make complex Finite State Machines easy to create and maintain. Finite State Machines can help make your code simpler, easier to test, more provable, and easier to reason about.
Support for C and Erlang is under development. MIT-licensed contributions are welcome.
All quick start items have the same content as text, as a video, and as in-browser live example code, because different people learn different ways.
- Lightning start: Let's make a traffic light in FSL
- Understanding the job: What is a state machine? Why bother?
- Understanding the tool: What is FSL? Why an entire programming language for this?
- Support tools:
- What is the state machine library for?
- What is the flowcharter for?
- What is the live editor for?
- What is the on-web viewer for?
- What is the linter for?
- FSL and other languages:
- Is FSL useful outside of other languages?
- How do I get started with FSL and SQL?
- How do I get started with FSL and Unity3d C#?
- jssm-viz, a library for rendering flowcharts from your state machines
- fslp, an FSL parser
- fsl-pegjs, an FSL packrat grammar in peg.js
|Traffic Light |(pic link)
|[States of Matter(#todo) |(pic link)
|[Extensive States of Matter(#todo) |(pic link)
|[Who's On First(#todo) |(pic link)