Skip to content

Commit

Permalink
Small doc changes to trigger a new matrix build in viz
Browse files Browse the repository at this point in the history
  • Loading branch information
StoneCypher committed Jun 11, 2022
1 parent 0fe3acc commit b6805a6
Show file tree
Hide file tree
Showing 16 changed files with 180 additions and 82 deletions.
17 changes: 16 additions & 1 deletion CHANGELOG.long.md
Expand Up @@ -2,7 +2,7 @@

All notable changes to this project will be documented in this file.

914 merges; 82 releases
915 merges; 82 releases



Expand All @@ -18,6 +18,21 @@ Published tags:



 

 

## [Untagged] - 6/10/2022 10:25:34 PM

Commit [0fe3acc4e95251cc359778779af4f114c36442db](https://github.com/StoneCypher/jssm/commit/0fe3acc4e95251cc359778779af4f114c36442db)

Author: `John Haugeland <stonecypher@gmail.com>`

* small doc adds to trigger remote matrix build




&nbsp;

&nbsp;
Expand Down
39 changes: 17 additions & 22 deletions CHANGELOG.md
Expand Up @@ -2,7 +2,7 @@

All notable changes to this project will be documented in this file.

914 merges; 82 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md)
915 merges; 82 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md)



Expand All @@ -18,6 +18,21 @@ Published tags:



&nbsp;

&nbsp;

## [Untagged] - 6/10/2022 10:25:34 PM

Commit [0fe3acc4e95251cc359778779af4f114c36442db](https://github.com/StoneCypher/jssm/commit/0fe3acc4e95251cc359778779af4f114c36442db)

Author: `John Haugeland <stonecypher@gmail.com>`

* small doc adds to trigger remote matrix build




&nbsp;

&nbsp;
Expand Down Expand Up @@ -148,24 +163,4 @@ Commit [f95e2d836dec42e93031a09260447bf1c60c2643](https://github.com/StoneCypher

Author: `John Haugeland <stonecypher@gmail.com>`

* reattempting upgrade path, should fail due to no version bump




&nbsp;

&nbsp;

<a name="5__70__3" />

## [5.70.3] - 6/9/2022 8:29:39 PM

Commit [9da2770dc47d3c2e99b9b95a56f1ae447d7ee2b7](https://github.com/StoneCypher/jssm/commit/9da2770dc47d3c2e99b9b95a56f1ae447d7ee2b7)

Author: `John Haugeland <stonecypher@gmail.com>`

Merges [c48f55d, ab559f1]

* Merge pull request #497 from StoneCypher/LanguageReference
* More doc stubs, see StoneCypher/fsl#831, see StoneCypher/fsl#832, see StoneCypher/fsl#835, see StoneCypher/fsl#836, see StoneCypher/fsl#837
* reattempting upgrade path, should fail due to no version bump
2 changes: 1 addition & 1 deletion dist/es6/version.js
@@ -1,2 +1,2 @@
const version = "5.70.12";
const version = "5.70.13";
export { version };
2 changes: 1 addition & 1 deletion dist/jssm.es5.cjs.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/jssm.es5.cjs.nonmin.js
Expand Up @@ -16783,7 +16783,7 @@ function peg$parse(input, options) {
}
}

const version = "5.70.12";
const version = "5.70.13";

class JssmError extends Error {
constructor(machine, message, JEEI) {
Expand Down
2 changes: 1 addition & 1 deletion dist/jssm.es5.iife.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/jssm.es5.iife.nonmin.js
Expand Up @@ -16782,7 +16782,7 @@ var jssm = (function (exports) {
}
}

const version = "5.70.12";
const version = "5.70.13";

class JssmError extends Error {
constructor(machine, message, JEEI) {
Expand Down
32 changes: 16 additions & 16 deletions docs/docs/classes/Machine.html

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions docs/docs/modules.html

Large diffs are not rendered by default.

13 changes: 12 additions & 1 deletion docs/docs/pages/CHANGELOG.long.html
Expand Up @@ -3,14 +3,25 @@
<h1>Changelog</h1>
</a>
<p>All notable changes to this project will be documented in this file.</p>
<p>914 merges; 82 releases</p>
<p>915 merges; 82 releases</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Published tags:</p>
<p><a href="#5__70__3">5.70.3</a>, <a href="#5__70__2">5.70.2</a>, <a href="#5__70__1">5.70.1</a>, <a href="#5__70__0">5.70.0</a>, <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>&nbsp;</p>
<p>&nbsp;</p>

<a href="#untagged---6102022-102534-pm" id="untagged---6102022-102534-pm" style="color: inherit; text-decoration: none;">
<h2>[Untagged] - 6/10/2022 10:25:34 PM</h2>
</a>
<p>Commit <a href="https://github.com/StoneCypher/jssm/commit/0fe3acc4e95251cc359778779af4f114c36442db">0fe3acc4e95251cc359778779af4f114c36442db</a></p>
<p>Author: <code>John Haugeland &lt;stonecypher@gmail.com&gt;</code></p>
<ul>
<li>small doc adds to trigger remote matrix build</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>

<a href="#untagged---6102022-95031-pm" id="untagged---6102022-95031-pm" style="color: inherit; text-decoration: none;">
<h2>[Untagged] - 6/10/2022 9:50:31 PM</h2>
</a>
Expand Down
16 changes: 16 additions & 0 deletions docs/docs/pages/WhatAreStateMachines.html
Expand Up @@ -49,4 +49,20 @@ <h2>The traffic light</h2>
traffic light that&#39;s <code>Yellow</code> must next go to <code>Red</code>. If the wrong thing
happens, and the light goes from <code>Yellow</code> to <code>Green</code> instead, an accident might
happen. People could die.</p>
<p>In code, you&#39;d need to do something like this:</p>
<pre><code class="language-typescript"><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">allowed</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-3">&#39;green&#39;</span><span class="hl-2"> :</span><span class="hl-1"> [</span><span class="hl-3">&#39;yellow&#39;</span><span class="hl-1">, </span><span class="hl-3">&#39;off&#39;</span><span class="hl-1">],</span><br/><span class="hl-1"> </span><span class="hl-3">&#39;yellow&#39;</span><span class="hl-2"> :</span><span class="hl-1"> [</span><span class="hl-3">&#39;red&#39;</span><span class="hl-1">, </span><span class="hl-3">&#39;off&#39;</span><span class="hl-1">],</span><br/><span class="hl-1"> </span><span class="hl-3">&#39;red&#39;</span><span class="hl-2"> :</span><span class="hl-1"> [</span><span class="hl-3">&#39;green&#39;</span><span class="hl-1">, </span><span class="hl-3">&#39;off&#39;</span><span class="hl-1">],</span><br/><span class="hl-1"> </span><span class="hl-3">&#39;off&#39;</span><span class="hl-2"> :</span><span class="hl-1"> [</span><span class="hl-3">&#39;red&#39;</span><span class="hl-1">]</span><br/><span class="hl-1">};</span><br/><br/><span class="hl-7">let</span><span class="hl-1"> </span><span class="hl-2">state</span><span class="hl-1"> = </span><span class="hl-3">&#39;off&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-7">function</span><span class="hl-1"> </span><span class="hl-4">switch_to</span><span class="hl-1">(</span><span class="hl-2">next</span><span class="hl-1">) {</span><br/><br/><span class="hl-1"> </span><span class="hl-0">if</span><span class="hl-1"> (</span><span class="hl-2">allowed</span><span class="hl-1">[</span><span class="hl-2">state</span><span class="hl-1">].</span><span class="hl-4">includes</span><span class="hl-1">(</span><span class="hl-2">next</span><span class="hl-1">)) {</span><br/><span class="hl-1"> </span><span class="hl-2">state</span><span class="hl-1"> = </span><span class="hl-2">next</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-0">return</span><span class="hl-1"> </span><span class="hl-7">true</span><span class="hl-1">;</span><br/><span class="hl-1"> } </span><span class="hl-0">else</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-0">return</span><span class="hl-1"> </span><span class="hl-7">false</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><br/><span class="hl-1">}</span><br/><br/><span class="hl-4">switch_to</span><span class="hl-1">(</span><span class="hl-3">&#39;red&#39;</span><span class="hl-1">);</span>
</code></pre>
<p>And that is a rudimentary state machine.</p>
<p>Of course, we&#39;re in a state machine programming language and library whose
design is meant to make them simple, so, we&#39;d write this, instead:</p>
<pre><code class="language-typescript"><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">TrafficLight</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`</span><br/><span class="hl-3"> Off -&gt; Red -&gt; Green -&gt; Yellow -&gt; Red;</span><br/><span class="hl-3"> [Red Yellow Green] -&gt; Off;</span><br/><span class="hl-3">`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">TrafficLight</span><span class="hl-1">.</span><span class="hl-4">transition</span><span class="hl-1">(</span><span class="hl-3">&#39;Red&#39;</span><span class="hl-1">);</span>
</code></pre>
<p>What&#39;s important here is that we&#39;ve taught the machine order. If it&#39;s in
<code>Yellow</code>, it knows that it isn&#39;t allowed to go to <code>Green</code>, and if you tell it to
do that, it&#39;ll refuse.</p>
<p>This is, roughly, the value of type systems, check constraints, proof systems,
some kinds of constraint programming, and arguably of testing and even linting:
teaching the machine what wrong is, so that it can support you.</p>
<p>State machines are an extremely powerful tool for machine auditing. They just
need to be written in a convenient fashion.</p>
</div></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li><li class="current pages-entry pages-entry-menu pages-entry-depth-0"><a>Tutorials</a></li><li class="current pages-entry pages-entry-page pages-entry-depth-1"><a href="WhatAreStateMachines.html">What are state machines?</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="GettingStarted.html"><wbr/>Quick <wbr/>Start</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="LanguageReference.html">Language reference</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="todo.html">API reference</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="ExampleMachines.html">Example machines</a></li><li class=" pages-entry pages-entry-menu pages-entry-depth-1"><a>Howtos and <wbr/>Recipes</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="todo.html">Environments</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="todo.html">Bundling</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="todo.html">Publishing</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="Styling.html">Theme, style, color</a></li><li class=" pages-entry pages-entry-menu pages-entry-depth-1"><a>Comparisons</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="FeatureComparison.html">Feature comparison</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="Shootout.html">LOC <wbr/>Shootout</a></li><li class=" pages-entry pages-entry-menu pages-entry-depth-0"><a>Tools</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="live_editor.html">Live <wbr/>Editor</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="todo.html">Github <wbr/>Action</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-0"><a href="community.html">Community</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-0"><a href="CHANGELOG.long.html">Changelog</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
2 changes: 1 addition & 1 deletion package.json
@@ -1,6 +1,6 @@
{
"name": "jssm",
"version": "5.70.12",
"version": "5.70.13",
"engines": {
"node": ">=10.0.0"
},
Expand Down
17 changes: 16 additions & 1 deletion src/doc_md/CHANGELOG.long.md
Expand Up @@ -2,7 +2,7 @@

All notable changes to this project will be documented in this file.

914 merges; 82 releases
915 merges; 82 releases



Expand All @@ -18,6 +18,21 @@ Published tags:



&nbsp;

&nbsp;

## [Untagged] - 6/10/2022 10:25:34 PM

Commit [0fe3acc4e95251cc359778779af4f114c36442db](https://github.com/StoneCypher/jssm/commit/0fe3acc4e95251cc359778779af4f114c36442db)

Author: `John Haugeland <stonecypher@gmail.com>`

* small doc adds to trigger remote matrix build




&nbsp;

&nbsp;
Expand Down
39 changes: 17 additions & 22 deletions src/doc_md/CHANGELOG.md
Expand Up @@ -2,7 +2,7 @@

All notable changes to this project will be documented in this file.

914 merges; 82 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md)
915 merges; 82 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md)



Expand All @@ -18,6 +18,21 @@ Published tags:



&nbsp;

&nbsp;

## [Untagged] - 6/10/2022 10:25:34 PM

Commit [0fe3acc4e95251cc359778779af4f114c36442db](https://github.com/StoneCypher/jssm/commit/0fe3acc4e95251cc359778779af4f114c36442db)

Author: `John Haugeland <stonecypher@gmail.com>`

* small doc adds to trigger remote matrix build




&nbsp;

&nbsp;
Expand Down Expand Up @@ -148,24 +163,4 @@ Commit [f95e2d836dec42e93031a09260447bf1c60c2643](https://github.com/StoneCypher

Author: `John Haugeland <stonecypher@gmail.com>`

* reattempting upgrade path, should fail due to no version bump




&nbsp;

&nbsp;

<a name="5__70__3" />

## [5.70.3] - 6/9/2022 8:29:39 PM

Commit [9da2770dc47d3c2e99b9b95a56f1ae447d7ee2b7](https://github.com/StoneCypher/jssm/commit/9da2770dc47d3c2e99b9b95a56f1ae447d7ee2b7)

Author: `John Haugeland <stonecypher@gmail.com>`

Merges [c48f55d, ab559f1]

* Merge pull request #497 from StoneCypher/LanguageReference
* More doc stubs, see StoneCypher/fsl#831, see StoneCypher/fsl#832, see StoneCypher/fsl#835, see StoneCypher/fsl#836, see StoneCypher/fsl#837
* reattempting upgrade path, should fail due to no version bump
53 changes: 52 additions & 1 deletion src/doc_md/WhatAreStateMachines.md
Expand Up @@ -69,4 +69,55 @@ important that a traffic light doesn't "go backwards."
Traffic lights are directional in several ways. The important one is color: a
traffic light that's `Yellow` must next go to `Red`. If the wrong thing
happens, and the light goes from `Yellow` to `Green` instead, an accident might
happen. People could die.
happen. People could die.

In code, you'd need to do something like this:

```typescript
const allowed = {
'green' : ['yellow', 'off'],
'yellow' : ['red', 'off'],
'red' : ['green', 'off'],
'off' : ['red']
};

let state = 'off';

function switch_to(next) {

if (allowed[state].includes(next)) {
state = next;
return true;
} else {
return false;
}

}

switch_to('red');
```

And that is a rudimentary state machine.

Of course, we're in a state machine programming language and library whose
design is meant to make them simple, so, we'd write this, instead:

```typescript
const TrafficLight = sm`
Off -> Red -> Green -> Yellow -> Red;
[Red Yellow Green] -> Off;
`;

TrafficLight.transition('Red');
```

What's important here is that we've taught the machine order. If it's in
`Yellow`, it knows that it isn't allowed to go to `Green`, and if you tell it to
do that, it'll refuse.

This is, roughly, the value of type systems, check constraints, proof systems,
some kinds of constraint programming, and arguably of testing and even linting:
teaching the machine what wrong is, so that it can support you.

State machines are an extremely powerful tool for machine auditing. They just
need to be written in a convenient fashion.
2 changes: 1 addition & 1 deletion src/ts/version.ts
@@ -1,3 +1,3 @@

const version: string = "5.70.12";
const version: string = "5.70.13";
export { version };

0 comments on commit b6805a6

Please sign in to comment.