-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
512332c
commit 9bb5cd8
Showing
15 changed files
with
196 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
All notable changes to this project will be documented in this file. | ||
|
||
897 merges; 78 releases | ||
898 merges; 78 releases | ||
|
||
|
||
|
||
|
@@ -18,6 +18,21 @@ Published tags: | |
|
||
|
||
|
||
| ||
|
||
| ||
|
||
## [Untagged] - 6/7/2022 10:49:31 PM | ||
|
||
Commit [512332c813e25ff2c4f5fe21181a0a62743002b2](https://github.com/StoneCypher/jssm/commit/512332c813e25ff2c4f5fe21181a0a62743002b2) | ||
|
||
Author: `John Haugeland <[email protected]>` | ||
|
||
* Another attempt at tying repos together | ||
|
||
|
||
|
||
|
||
| ||
|
||
| ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
All notable changes to this project will be documented in this file. | ||
|
||
897 merges; 78 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md) | ||
898 merges; 78 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md) | ||
|
||
|
||
|
||
|
@@ -18,6 +18,21 @@ Published tags: | |
|
||
|
||
|
||
| ||
|
||
| ||
|
||
## [Untagged] - 6/7/2022 10:49:31 PM | ||
|
||
Commit [512332c813e25ff2c4f5fe21181a0a62743002b2](https://github.com/StoneCypher/jssm/commit/512332c813e25ff2c4f5fe21181a0a62743002b2) | ||
|
||
Author: `John Haugeland <[email protected]>` | ||
|
||
* Another attempt at tying repos together | ||
|
||
|
||
|
||
|
||
| ||
|
||
| ||
|
@@ -166,19 +181,4 @@ Author: `John Haugeland <[email protected]>` | |
Merges [ea3e310, 5950672] | ||
|
||
* Merge pull request #495 from StoneCypher/ExportFieldsForCdnPkg | ||
* export fields in package.json | ||
|
||
|
||
|
||
|
||
| ||
|
||
| ||
|
||
## [Untagged] - 6/6/2022 10:26:13 PM | ||
|
||
Commit [5950672faaa4406176b19936974626cc7367f41f](https://github.com/StoneCypher/jssm/commit/5950672faaa4406176b19936974626cc7367f41f) | ||
|
||
Author: `John Haugeland <[email protected]>` | ||
|
||
* export fields in package.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
const version = "5.70.0"; | ||
const version = "5.70.1"; | ||
export { version }; |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,14 +3,25 @@ | |
<h1>Changelog</h1> | ||
</a> | ||
<p>All notable changes to this project will be documented in this file.</p> | ||
<p>897 merges; 78 releases</p> | ||
<p>898 merges; 78 releases</p> | ||
<p> </p> | ||
<p> </p> | ||
<p>Published tags:</p> | ||
<p><a href="#5__69__4">5.69.4</a>, <a href="#5__69__3">5.69.3</a>, <a href="#5__69__2">5.69.2</a>, <a href="#5__69__0">5.69.0</a>, <a href="#5__68__0">5.68.0</a>, <a href="#5__67__2">5.67.2</a>, <a href="#5__67__0">5.67.0</a>, <a href="#5__66__0">5.66.0</a>, <a href="#5__65__14">5.65.14</a>, <a href="#5__65__12">5.65.12</a>, <a href="#5__65__11">5.65.11</a>, <a href="#5__65__10">5.65.10</a>, <a href="#5__65__9">5.65.9</a>, <a href="#5__65__8">5.65.8</a>, <a href="#5__65__7">5.65.7</a>, <a href="#5__65__5">5.65.5</a>, <a href="#5__65__4">5.65.4</a>, <a href="#5__65__3">5.65.3</a>, <a href="#5__65__2">5.65.2</a>, <a href="#5__65__1">5.65.1</a>, <a href="#5__65__0">5.65.0</a>, <a href="#5__64__2">5.64.2</a>, <a href="#5__64__1">5.64.1</a>, <a href="#5__64__0">5.64.0</a>, <a href="#5__63__0">5.63.0</a>, <a href="#5__62__0">5.62.0</a>, <a href="#5__61__4">5.61.4</a>, <a href="#5__61__3">5.61.3</a>, <a href="#5__61__2">5.61.2</a>, <a href="#5__61__1">5.61.1</a>, <a href="#5__60__4">5.60.4</a>, <a href="#5__60__3">5.60.3</a>, <a href="#5__60__0">5.60.0</a>, <a href="#5__59__1">5.59.1</a>, <a href="#5__59__0">5.59.0</a>, <a href="#5__58__1">5.58.1</a>, <a href="#5__58__0">5.58.0</a>, <a href="#5__57__1">5.57.1</a>, <a href="#5__57__0">5.57.0</a>, <a href="#5__56__2">5.56.2</a>, <a href="#5__56__1">5.56.1</a>, <a href="#5__55__0">5.55.0</a>, <a href="#5__54__0">5.54.0</a>, <a href="#5__53__0">5.53.0</a>, <a href="#5__52__0">5.52.0</a>, <a href="#5__51__0">5.51.0</a>, <a href="#5__50__0">5.50.0</a>, <a href="#5__49__0">5.49.0</a>, <a href="#5__48__0">5.48.0</a>, <a href="#5__47__0">5.47.0</a>, <a href="#5__46__0">5.46.0</a>, <a href="#5__45__2">5.45.2</a>, <a href="#5__45__0">5.45.0</a>, <a href="#5__44__0">5.44.0</a>, <a href="#5__43__2">5.43.2</a>, <a href="#v5__42__0">v5.42.0</a>, <a href="#5__42__0">5.42.0</a>, <a href="#v5__41__15">v5.41.15</a>, <a href="#5__41__15">5.41.15</a>, <a href="#v5__41__14">v5.41.14</a>, <a href="#5__41__14">5.41.14</a>, <a href="#v5__41__12">v5.41.12</a>, <a href="#5__41__12">5.41.12</a>, <a href="#v5__41__10">v5.41.10</a>, <a href="#5__41__10">5.41.10</a>, <a href="#v5__41__9">v5.41.9</a>, <a href="#5__41__9">5.41.9</a>, <a href="#v5__41__8">v5.41.8</a>, <a href="#5__41__8">5.41.8</a>, <a href="#v5__41__7">v5.41.7</a>, <a href="#v5__41__2">v5.41.2</a>, <a href="#v5__41__1">v5.41.1</a>, <a href="#v5__32__14">v5.32.14</a>, <a href="#5__14__0">5.14.0</a>, <a href="#5__12__0">5.12.0</a>, <a href="#5__11__12">5.11.12</a>, <a href="#5__11__1">5.11.1</a>, <a href="#5__11__0">5.11.0</a></p> | ||
<p> </p> | ||
<p> </p> | ||
|
||
<a href="#untagged---672022-104931-pm" id="untagged---672022-104931-pm" style="color: inherit; text-decoration: none;"> | ||
<h2>[Untagged] - 6/7/2022 10:49:31 PM</h2> | ||
</a> | ||
<p>Commit <a href="https://github.com/StoneCypher/jssm/commit/512332c813e25ff2c4f5fe21181a0a62743002b2">512332c813e25ff2c4f5fe21181a0a62743002b2</a></p> | ||
<p>Author: <code>John Haugeland <[email protected]></code></p> | ||
<ul> | ||
<li>Another attempt at tying repos together</li> | ||
</ul> | ||
<p> </p> | ||
<p> </p> | ||
|
||
<a href="#untagged---672022-104017-pm" id="untagged---672022-104017-pm" style="color: inherit; text-decoration: none;"> | ||
<h2>[Untagged] - 6/7/2022 10:40:17 PM</h2> | ||
</a> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
{ | ||
"name": "jssm", | ||
"version": "5.70.0", | ||
"version": "5.70.1", | ||
"engines": { | ||
"node": ">=10.0.0" | ||
}, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
All notable changes to this project will be documented in this file. | ||
|
||
897 merges; 78 releases | ||
898 merges; 78 releases | ||
|
||
|
||
|
||
|
@@ -18,6 +18,21 @@ Published tags: | |
|
||
|
||
|
||
| ||
|
||
| ||
|
||
## [Untagged] - 6/7/2022 10:49:31 PM | ||
|
||
Commit [512332c813e25ff2c4f5fe21181a0a62743002b2](https://github.com/StoneCypher/jssm/commit/512332c813e25ff2c4f5fe21181a0a62743002b2) | ||
|
||
Author: `John Haugeland <[email protected]>` | ||
|
||
* Another attempt at tying repos together | ||
|
||
|
||
|
||
|
||
| ||
|
||
| ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
All notable changes to this project will be documented in this file. | ||
|
||
897 merges; 78 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md) | ||
898 merges; 78 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md) | ||
|
||
|
||
|
||
|
@@ -18,6 +18,21 @@ Published tags: | |
|
||
|
||
|
||
| ||
|
||
| ||
|
||
## [Untagged] - 6/7/2022 10:49:31 PM | ||
|
||
Commit [512332c813e25ff2c4f5fe21181a0a62743002b2](https://github.com/StoneCypher/jssm/commit/512332c813e25ff2c4f5fe21181a0a62743002b2) | ||
|
||
Author: `John Haugeland <[email protected]>` | ||
|
||
* Another attempt at tying repos together | ||
|
||
|
||
|
||
|
||
| ||
|
||
| ||
|
@@ -166,19 +181,4 @@ Author: `John Haugeland <[email protected]>` | |
Merges [ea3e310, 5950672] | ||
|
||
* Merge pull request #495 from StoneCypher/ExportFieldsForCdnPkg | ||
* export fields in package.json | ||
|
||
|
||
|
||
|
||
| ||
|
||
| ||
|
||
## [Untagged] - 6/6/2022 10:26:13 PM | ||
|
||
Commit [5950672faaa4406176b19936974626cc7367f41f](https://github.com/StoneCypher/jssm/commit/5950672faaa4406176b19936974626cc7367f41f) | ||
|
||
Author: `John Haugeland <[email protected]>` | ||
|
||
* export fields in package.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# Language Reference | ||
|
||
This document is still underway. | ||
|
||
|
||
|
||
| ||
|
||
| ||
|
||
## Quick start | ||
|
||
A machine often looks like this: | ||
|
||
```fsl | ||
Red -> Green -> Yellow -> Red; | ||
``` | ||
|
||
With actions: | ||
|
||
```fsl | ||
Red 'next' -> Green 'next' -> Yellow 'next' -> Red; | ||
``` | ||
|
||
It's honestly actually that easy. Let's get into the details. | ||
|
||
| ||
|
||
| ||
|
||
|
||
|
||
## Terminology | ||
|
||
Finite state machines are a concept from the 1950s, and though they come from | ||
English, many important devices originated in foreign languages, in math, or in | ||
programming languages, often overlapping, so many terms have competing phrasings | ||
in use. Let's start by nailing words down. | ||
|
||
`FSL` generally has `state`s, `transition`s, `action`s, `data`, and `hook`s. | ||
There are also a million small concepts, but, that's the meat of the matter, and | ||
some subset of that is true of most state machines. | ||
|
||
The idea with a finite state machine is simple - {if you're new to FSMs, maybe | ||
read this tutorial first} - but in short, a finite state machine is in exactly | ||
one `state` at any time, from amongst a concrete and permanent list of `state`s, | ||
and there is a list of which `state`s are allowed `transition` to which others. | ||
They may do so because you explicitly said to, or in response to an `action`. | ||
In the process, some `data` being tracked might change (though usually not, it | ||
turns out,) and as a result, some `hook`s might get called, which even might | ||
prevent the change from happening. | ||
|
||
Using a traffic light as an example, the four colors the light might be in are | ||
the `state`s (red, yellow, green, and off;) the `action`s are `next color`, | ||
`turn on`, and `turn off`; to `transition` is to switch to another color. If | ||
your light does things when it switches, like yelling "red light" on switching | ||
to red, it'll do those in `hooks`. (A traffic light doesn't need `data`.) | ||
|
||
In the fashion of a type system or a constraint system, a finite state machine | ||
is a way of giving the computer more context about what's going on, so that it | ||
can refuse changes that aren't correct. This leads to improved debugging, | ||
easier to understand software, safer execution, and a long list of subtle | ||
benefits. | ||
|
||
However, these machines tend to be quite verbose to express, especially if | ||
they're written in language-standard datastructures, to the point that reading | ||
and writing them becomes cumbersome. `FSL` and `jssm` exist to solve this. | ||
|
||
`FSL` is a string-based domain-specific language for finite state machines. | ||
|
||
`jssm` is a parser and executing machine for `FSL` language machines. | ||
|
||
This document expresses the FSL language in its current state. | ||
|
||
<aside> | ||
|
||
### New users, old pros | ||
|
||
If you're used to finite state machines but coming from another machine, | ||
|
||
* `state`s are sometimes called `node`s or `mode`s; | ||
* `transition`s are sometimes called `edge`s or `connection`s; | ||
* `action`s are sometimes called `command`s or `event`s; | ||
* `hook`s are sometimes called `output`s. | ||
|
||
<aside> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
|
||
const version: string = "5.70.0"; | ||
const version: string = "5.70.1"; | ||
export { version }; |