ruff 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/docs/Ruff.html +4 -4
- data/docs/Ruff/Effect.html +3 -3
- data/docs/Ruff/Handler.html +3 -3
- data/docs/Ruff/Standard.html +4 -4
- data/docs/Ruff/Standard/Async.html +3 -3
- data/docs/Ruff/Standard/Async/Instance.html +3 -3
- data/docs/Ruff/Standard/Call1cc.html +3 -3
- data/docs/Ruff/Standard/CurrentTime.html +3 -3
- data/docs/Ruff/Standard/CurrentTime/Instance.html +3 -3
- data/docs/Ruff/Standard/Defer.html +3 -3
- data/docs/Ruff/Standard/Defer/Instance.html +3 -3
- data/docs/Ruff/Standard/DelimCtrl.html +340 -0
- data/docs/Ruff/Standard/MeasureTime.html +3 -3
- data/docs/Ruff/Standard/MeasureTime/Instance.html +3 -3
- data/docs/Ruff/Standard/State.html +3 -3
- data/docs/Ruff/Standard/State/Instance.html +3 -3
- data/docs/Ruff/Throws.html +3 -3
- data/docs/Ruff/Throws/Eff.html +3 -3
- data/docs/Ruff/Throws/Resend.html +3 -3
- data/docs/_index.html +11 -11
- data/docs/class_list.html +1 -1
- data/docs/file.README.html +9 -9
- data/docs/frames.html +1 -1
- data/docs/index.html +9 -9
- data/docs/method_list.html +48 -48
- data/docs/top-level-namespace.html +3 -3
- data/lib/ruff/standard.rb +1 -1
- data/lib/ruff/standard/delim_ctrl.rb +49 -0
- data/lib/ruff/version.rb +1 -1
- data/version +1 -1
- metadata +8 -8
- data/Gemfile.lock +0 -68
- data/lib/ruff/standard/call1cc.rb +0 -57
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Module: Ruff::Standard::MeasureTime
|
8
8
|
|
9
|
-
— Ruff 2.
|
9
|
+
— Ruff 2.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -379,9 +379,9 @@ and the implementation to measure and report execution time .
|
|
379
379
|
</div>
|
380
380
|
|
381
381
|
<div id="footer">
|
382
|
-
Generated on
|
382
|
+
Generated on Wed Jun 10 21:24:09 2020 by
|
383
383
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
384
|
-
0.9.
|
384
|
+
0.9.25 (ruby-2.7.1).
|
385
385
|
</div>
|
386
386
|
|
387
387
|
</div>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: Ruff::Standard::MeasureTime::Instance
|
8
8
|
|
9
|
-
— Ruff 2.
|
9
|
+
— Ruff 2.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -489,9 +489,9 @@ It still has the possibility to invoke effects(
e ). |
|
489
489
|
</div>
|
490
490
|
|
491
491
|
<div id="footer">
|
492
|
-
Generated on
|
492
|
+
Generated on Wed Jun 10 21:24:10 2020 by
|
493
493
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
494
|
-
0.9.
|
494
|
+
0.9.25 (ruby-2.7.1).
|
495
495
|
</div>
|
496
496
|
|
497
497
|
</div>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Module: Ruff::Standard::State
|
8
8
|
|
9
|
-
— Ruff 2.
|
9
|
+
— Ruff 2.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -589,9 +589,9 @@ and the implementation of the mutable cell or so-called state .
|
|
589
589
|
</div>
|
590
590
|
|
591
591
|
<div id="footer">
|
592
|
-
Generated on
|
592
|
+
Generated on Wed Jun 10 21:24:09 2020 by
|
593
593
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
594
|
-
0.9.
|
594
|
+
0.9.25 (ruby-2.7.1).
|
595
595
|
</div>
|
596
596
|
|
597
597
|
</div>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: Ruff::Standard::State::Instance
|
8
8
|
|
9
|
-
— Ruff 2.
|
9
|
+
— Ruff 2.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -798,9 +798,9 @@ But it still has the possibility to invoke effects(
e ). |
|
798
798
|
</div>
|
799
799
|
|
800
800
|
<div id="footer">
|
801
|
-
Generated on
|
801
|
+
Generated on Wed Jun 10 21:24:10 2020 by
|
802
802
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
803
|
-
0.9.
|
803
|
+
0.9.25 (ruby-2.7.1).
|
804
804
|
</div>
|
805
805
|
|
806
806
|
</div>
|
data/docs/Ruff/Throws.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Module: Ruff::Throws
|
8
8
|
|
9
|
-
— Ruff 2.
|
9
|
+
— Ruff 2.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -105,9 +105,9 @@
|
|
105
105
|
</div>
|
106
106
|
|
107
107
|
<div id="footer">
|
108
|
-
Generated on
|
108
|
+
Generated on Wed Jun 10 21:24:09 2020 by
|
109
109
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
110
|
-
0.9.
|
110
|
+
0.9.25 (ruby-2.7.1).
|
111
111
|
</div>
|
112
112
|
|
113
113
|
</div>
|
data/docs/Ruff/Throws/Eff.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: Ruff::Throws::Eff
|
8
8
|
|
9
|
-
— Ruff 2.
|
9
|
+
— Ruff 2.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -355,9 +355,9 @@
|
|
355
355
|
</div>
|
356
356
|
|
357
357
|
<div id="footer">
|
358
|
-
Generated on
|
358
|
+
Generated on Wed Jun 10 21:24:09 2020 by
|
359
359
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
360
|
-
0.9.
|
360
|
+
0.9.25 (ruby-2.7.1).
|
361
361
|
</div>
|
362
362
|
|
363
363
|
</div>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: Ruff::Throws::Resend
|
8
8
|
|
9
|
-
— Ruff 2.
|
9
|
+
— Ruff 2.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -355,9 +355,9 @@
|
|
355
355
|
</div>
|
356
356
|
|
357
357
|
<div id="footer">
|
358
|
-
Generated on
|
358
|
+
Generated on Wed Jun 10 21:24:09 2020 by
|
359
359
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
360
|
-
0.9.
|
360
|
+
0.9.25 (ruby-2.7.1).
|
361
361
|
</div>
|
362
362
|
|
363
363
|
</div>
|
data/docs/_index.html
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<meta charset="utf-8">
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
6
|
<title>
|
7
|
-
Ruff 2.
|
7
|
+
Ruff 2.1.0 Documentation
|
8
8
|
|
9
9
|
</title>
|
10
10
|
|
@@ -52,7 +52,7 @@
|
|
52
52
|
<div class="clear"></div>
|
53
53
|
</div>
|
54
54
|
|
55
|
-
<div id="content"><h1 class="noborder title">Ruff 2.
|
55
|
+
<div id="content"><h1 class="noborder title">Ruff 2.1.0 Documentation</h1>
|
56
56
|
<div id="listing">
|
57
57
|
<h1 class="alphaindex">Alphabetic Index</h1>
|
58
58
|
|
@@ -95,13 +95,6 @@
|
|
95
95
|
<li class="letter">C</li>
|
96
96
|
<ul>
|
97
97
|
|
98
|
-
<li>
|
99
|
-
<span class='object_link'><a href="Ruff/Standard/Call1cc.html" title="Ruff::Standard::Call1cc (module)">Call1cc</a></span>
|
100
|
-
|
101
|
-
<small>(Ruff::Standard)</small>
|
102
|
-
|
103
|
-
</li>
|
104
|
-
|
105
98
|
<li>
|
106
99
|
<span class='object_link'><a href="Ruff/Standard/CurrentTime.html" title="Ruff::Standard::CurrentTime (module)">CurrentTime</a></span>
|
107
100
|
|
@@ -124,6 +117,13 @@
|
|
124
117
|
|
125
118
|
</li>
|
126
119
|
|
120
|
+
<li>
|
121
|
+
<span class='object_link'><a href="Ruff/Standard/DelimCtrl.html" title="Ruff::Standard::DelimCtrl (module)">DelimCtrl</a></span>
|
122
|
+
|
123
|
+
<small>(Ruff::Standard)</small>
|
124
|
+
|
125
|
+
</li>
|
126
|
+
|
127
127
|
</ul>
|
128
128
|
</ul>
|
129
129
|
|
@@ -291,9 +291,9 @@
|
|
291
291
|
</div>
|
292
292
|
|
293
293
|
<div id="footer">
|
294
|
-
Generated on
|
294
|
+
Generated on Wed Jun 10 21:24:09 2020 by
|
295
295
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
296
|
-
0.9.
|
296
|
+
0.9.25 (ruby-2.7.1).
|
297
297
|
</div>
|
298
298
|
|
299
299
|
</div>
|
data/docs/class_list.html
CHANGED
@@ -43,7 +43,7 @@
|
|
43
43
|
|
44
44
|
<ul id="full_list" class="class">
|
45
45
|
<li id="object_" class="odd"><div class="item" style="padding-left:30px"><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">Top Level Namespace</a></span></div></li>
|
46
|
-
<li id='object_Ruff' class='even'><div class='item' style='padding-left:30px'><a class='toggle'></a> <span class='object_link'><a href="Ruff.html" title="Ruff (module)">Ruff</a></span><small class='search_info'>Top Level Namespace</small></div><ul><li id='object_Ruff::Effect' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Ruff/Effect.html" title="Ruff::Effect (class)">Effect</a></span> < Object<small class='search_info'>Ruff</small></div></li><li id='object_Ruff::Handler' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Ruff/Handler.html" title="Ruff::Handler (class)">Handler</a></span> < Object<small class='search_info'>Ruff</small></div></li><li id='object_Ruff::Standard' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard.html" title="Ruff::Standard (module)">Standard</a></span><small class='search_info'>Ruff</small></div><ul><li id='object_Ruff::Standard::Async' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/Async.html" title="Ruff::Standard::Async (module)">Async</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::Async::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/Async/Instance.html" title="Ruff::Standard::Async::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::Async</small></div></li></ul></li><li id='object_Ruff::Standard::
|
46
|
+
<li id='object_Ruff' class='even'><div class='item' style='padding-left:30px'><a class='toggle'></a> <span class='object_link'><a href="Ruff.html" title="Ruff (module)">Ruff</a></span><small class='search_info'>Top Level Namespace</small></div><ul><li id='object_Ruff::Effect' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Ruff/Effect.html" title="Ruff::Effect (class)">Effect</a></span> < Object<small class='search_info'>Ruff</small></div></li><li id='object_Ruff::Handler' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Ruff/Handler.html" title="Ruff::Handler (class)">Handler</a></span> < Object<small class='search_info'>Ruff</small></div></li><li id='object_Ruff::Standard' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard.html" title="Ruff::Standard (module)">Standard</a></span><small class='search_info'>Ruff</small></div><ul><li id='object_Ruff::Standard::Async' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/Async.html" title="Ruff::Standard::Async (module)">Async</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::Async::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/Async/Instance.html" title="Ruff::Standard::Async::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::Async</small></div></li></ul></li><li id='object_Ruff::Standard::CurrentTime' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/CurrentTime.html" title="Ruff::Standard::CurrentTime (module)">CurrentTime</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::CurrentTime::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/CurrentTime/Instance.html" title="Ruff::Standard::CurrentTime::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::CurrentTime</small></div></li></ul></li><li id='object_Ruff::Standard::Defer' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/Defer.html" title="Ruff::Standard::Defer (module)">Defer</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::Defer::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/Defer/Instance.html" title="Ruff::Standard::Defer::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::Defer</small></div></li></ul></li><li id='object_Ruff::Standard::DelimCtrl' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Ruff/Standard/DelimCtrl.html" title="Ruff::Standard::DelimCtrl (module)">DelimCtrl</a></span><small class='search_info'>Ruff::Standard</small></div></li><li id='object_Ruff::Standard::MeasureTime' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/MeasureTime.html" title="Ruff::Standard::MeasureTime (module)">MeasureTime</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::MeasureTime::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/MeasureTime/Instance.html" title="Ruff::Standard::MeasureTime::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::MeasureTime</small></div></li></ul></li><li id='object_Ruff::Standard::State' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/State.html" title="Ruff::Standard::State (module)">State</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::State::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/State/Instance.html" title="Ruff::Standard::State::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::State</small></div></li></ul></li></ul></li><li id='object_Ruff::Throws' class='collapsed even'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Throws.html" title="Ruff::Throws (module)">Throws</a></span><small class='search_info'>Ruff</small></div><ul><li id='object_Ruff::Throws::Eff' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Ruff/Throws/Eff.html" title="Ruff::Throws::Eff (class)">Eff</a></span> < Object<small class='search_info'>Ruff::Throws</small></div></li><li id='object_Ruff::Throws::Resend' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Ruff/Throws/Resend.html" title="Ruff::Throws::Resend (class)">Resend</a></span> < Object<small class='search_info'>Ruff::Throws</small></div></li></ul></li></ul></li>
|
47
47
|
|
48
48
|
</ul>
|
49
49
|
</div>
|
data/docs/file.README.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Ruff 2.
|
9
|
+
— Ruff 2.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -57,7 +57,7 @@
|
|
57
57
|
<div class="clear"></div>
|
58
58
|
</div>
|
59
59
|
|
60
|
-
<div id="content"><div id='filecontents'><h1>ruff</h1>
|
60
|
+
<div id="content"><div id='filecontents'><h1 id="ruff">ruff</h1>
|
61
61
|
|
62
62
|
<p><a href="https://badge.fury.io/rb/ruff"><img src="https://badge.fury.io/rb/ruff.svg" alt="Gem Version"></a></p>
|
63
63
|
|
@@ -95,9 +95,9 @@
|
|
95
95
|
</span><span class='comment'># logger: 6
|
96
96
|
</span></code></pre>
|
97
97
|
|
98
|
-
<h1>Feature</h1>
|
98
|
+
<h1 id="feature">Feature</h1>
|
99
99
|
|
100
|
-
<h2><strong><em>One-shot</em></strong> algebraic effects</h2>
|
100
|
+
<h2 id="one-shot-algebraic-effects"><strong><em>One-shot</em></strong> algebraic effects</h2>
|
101
101
|
|
102
102
|
<p>You can access the delimited continuation which can run only once.
|
103
103
|
Even the limitation exists, you can write powerful control flow manipulation, like async/await, call1cc.</p>
|
@@ -105,13 +105,13 @@ Even the limitation exists, you can write powerful control flow manipulation, li
|
|
105
105
|
<p>We have an formal definition for the implementation, by showing a conversion from algebraic effects and handlers to asymmetric coroutines.
|
106
106
|
See <a href="https://nymphium.github.io/2018/12/09/asymmetric-coroutines%E3%81%AB%E3%82%88%E3%82%8Boneshot-algebraic-effects%E3%81%AE%E5%AE%9F%E8%A3%85.html">here</a> (in Japanese).</p>
|
107
107
|
|
108
|
-
<h2>Subtyping on effects</h2>
|
108
|
+
<h2 id="subtyping-on-effects">Subtyping on effects</h2>
|
109
109
|
|
110
110
|
<p>You can define an <em>sub</em> effect for another effect.
|
111
111
|
It enables to make an effect hierarchy, such as <code>Exception</code>s in Java.
|
112
112
|
This implementation is based on a calculus λ<sub>σ<sub><:</sub></sub> <a href="https://nymphium.github.io/2019/12/22/effsub.html">(Description (in Japanese))</a>.</p>
|
113
113
|
|
114
|
-
<h1>Pre-defined effect and handlers</h1>
|
114
|
+
<h1 id="pre-defined-effect-and-handlers">Pre-defined effect and handlers</h1>
|
115
115
|
|
116
116
|
<p>We provide some ready-to-use effect and handlers.
|
117
117
|
You can use quickly powerful control flows.</p>
|
@@ -125,15 +125,15 @@ You can use quickly powerful control flows.
|
|
125
125
|
<li><a href="https://nymphium.github.io/ruff/Ruff/Standard/Call1cc.html"><code>Ruff::Standard::Call1cc</code></a></li>
|
126
126
|
</ul>
|
127
127
|
|
128
|
-
<h1>LICENSE</h1>
|
128
|
+
<h1 id="license">LICENSE</h1>
|
129
129
|
|
130
130
|
<p>MIT</p>
|
131
131
|
</div></div>
|
132
132
|
|
133
133
|
<div id="footer">
|
134
|
-
Generated on
|
134
|
+
Generated on Wed Jun 10 21:24:09 2020 by
|
135
135
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
136
|
-
0.9.
|
136
|
+
0.9.25 (ruby-2.7.1).
|
137
137
|
</div>
|
138
138
|
|
139
139
|
</div>
|
data/docs/frames.html
CHANGED
data/docs/index.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Ruff 2.
|
9
|
+
— Ruff 2.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -57,7 +57,7 @@
|
|
57
57
|
<div class="clear"></div>
|
58
58
|
</div>
|
59
59
|
|
60
|
-
<div id="content"><div id='filecontents'><h1>ruff</h1>
|
60
|
+
<div id="content"><div id='filecontents'><h1 id="ruff">ruff</h1>
|
61
61
|
|
62
62
|
<p><a href="https://badge.fury.io/rb/ruff"><img src="https://badge.fury.io/rb/ruff.svg" alt="Gem Version"></a></p>
|
63
63
|
|
@@ -95,9 +95,9 @@
|
|
95
95
|
</span><span class='comment'># logger: 6
|
96
96
|
</span></code></pre>
|
97
97
|
|
98
|
-
<h1>Feature</h1>
|
98
|
+
<h1 id="feature">Feature</h1>
|
99
99
|
|
100
|
-
<h2><strong><em>One-shot</em></strong> algebraic effects</h2>
|
100
|
+
<h2 id="one-shot-algebraic-effects"><strong><em>One-shot</em></strong> algebraic effects</h2>
|
101
101
|
|
102
102
|
<p>You can access the delimited continuation which can run only once.
|
103
103
|
Even the limitation exists, you can write powerful control flow manipulation, like async/await, call1cc.</p>
|
@@ -105,13 +105,13 @@ Even the limitation exists, you can write powerful control flow manipulation, li
|
|
105
105
|
<p>We have an formal definition for the implementation, by showing a conversion from algebraic effects and handlers to asymmetric coroutines.
|
106
106
|
See <a href="https://nymphium.github.io/2018/12/09/asymmetric-coroutines%E3%81%AB%E3%82%88%E3%82%8Boneshot-algebraic-effects%E3%81%AE%E5%AE%9F%E8%A3%85.html">here</a> (in Japanese).</p>
|
107
107
|
|
108
|
-
<h2>Subtyping on effects</h2>
|
108
|
+
<h2 id="subtyping-on-effects">Subtyping on effects</h2>
|
109
109
|
|
110
110
|
<p>You can define an <em>sub</em> effect for another effect.
|
111
111
|
It enables to make an effect hierarchy, such as <code>Exception</code>s in Java.
|
112
112
|
This implementation is based on a calculus λ<sub>σ<sub><:</sub></sub> <a href="https://nymphium.github.io/2019/12/22/effsub.html">(Description (in Japanese))</a>.</p>
|
113
113
|
|
114
|
-
<h1>Pre-defined effect and handlers</h1>
|
114
|
+
<h1 id="pre-defined-effect-and-handlers">Pre-defined effect and handlers</h1>
|
115
115
|
|
116
116
|
<p>We provide some ready-to-use effect and handlers.
|
117
117
|
You can use quickly powerful control flows.</p>
|
@@ -125,15 +125,15 @@ You can use quickly powerful control flows.
|
|
125
125
|
<li><a href="https://nymphium.github.io/ruff/Ruff/Standard/Call1cc.html"><code>Ruff::Standard::Call1cc</code></a></li>
|
126
126
|
</ul>
|
127
127
|
|
128
|
-
<h1>LICENSE</h1>
|
128
|
+
<h1 id="license">LICENSE</h1>
|
129
129
|
|
130
130
|
<p>MIT</p>
|
131
131
|
</div></div>
|
132
132
|
|
133
133
|
<div id="footer">
|
134
|
-
Generated on
|
134
|
+
Generated on Wed Jun 10 21:24:09 2020 by
|
135
135
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
136
|
-
0.9.
|
136
|
+
0.9.25 (ruby-2.7.1).
|
137
137
|
</div>
|
138
138
|
|
139
139
|
</div>
|
data/docs/method_list.html
CHANGED
@@ -93,14 +93,6 @@
|
|
93
93
|
|
94
94
|
|
95
95
|
<li class="odd ">
|
96
|
-
<div class="item">
|
97
|
-
<span class='object_link'><a href="Ruff/Standard/Call1cc.html#context-class_method" title="Ruff::Standard::Call1cc.context (method)">context</a></span>
|
98
|
-
<small>Ruff::Standard::Call1cc</small>
|
99
|
-
</div>
|
100
|
-
</li>
|
101
|
-
|
102
|
-
|
103
|
-
<li class="even ">
|
104
96
|
<div class="item">
|
105
97
|
<span class='object_link'><a href="Ruff/Throws/Resend.html#eff-instance_method" title="Ruff::Throws::Resend#eff (method)">#eff</a></span>
|
106
98
|
<small>Ruff::Throws::Resend</small>
|
@@ -108,7 +100,7 @@
|
|
108
100
|
</li>
|
109
101
|
|
110
102
|
|
111
|
-
<li class="
|
103
|
+
<li class="even ">
|
112
104
|
<div class="item">
|
113
105
|
<span class='object_link'><a href="Ruff/Standard/Async/Instance.html#eff-instance_method" title="Ruff::Standard::Async::Instance#eff (method)">#eff</a></span>
|
114
106
|
<small>Ruff::Standard::Async::Instance</small>
|
@@ -116,7 +108,7 @@
|
|
116
108
|
</li>
|
117
109
|
|
118
110
|
|
119
|
-
<li class="
|
111
|
+
<li class="odd ">
|
120
112
|
<div class="item">
|
121
113
|
<span class='object_link'><a href="Ruff/Standard/Async.html#eff-instance_method" title="Ruff::Standard::Async#eff (method)">#eff</a></span>
|
122
114
|
<small>Ruff::Standard::Async</small>
|
@@ -124,7 +116,7 @@
|
|
124
116
|
</li>
|
125
117
|
|
126
118
|
|
127
|
-
<li class="
|
119
|
+
<li class="even ">
|
128
120
|
<div class="item">
|
129
121
|
<span class='object_link'><a href="Ruff/Standard/CurrentTime/Instance.html#eff-instance_method" title="Ruff::Standard::CurrentTime::Instance#eff (method)">#eff</a></span>
|
130
122
|
<small>Ruff::Standard::CurrentTime::Instance</small>
|
@@ -132,7 +124,7 @@
|
|
132
124
|
</li>
|
133
125
|
|
134
126
|
|
135
|
-
<li class="
|
127
|
+
<li class="odd ">
|
136
128
|
<div class="item">
|
137
129
|
<span class='object_link'><a href="Ruff/Standard/CurrentTime.html#eff-instance_method" title="Ruff::Standard::CurrentTime#eff (method)">#eff</a></span>
|
138
130
|
<small>Ruff::Standard::CurrentTime</small>
|
@@ -140,7 +132,7 @@
|
|
140
132
|
</li>
|
141
133
|
|
142
134
|
|
143
|
-
<li class="
|
135
|
+
<li class="even ">
|
144
136
|
<div class="item">
|
145
137
|
<span class='object_link'><a href="Ruff/Standard/Defer/Instance.html#eff-instance_method" title="Ruff::Standard::Defer::Instance#eff (method)">#eff</a></span>
|
146
138
|
<small>Ruff::Standard::Defer::Instance</small>
|
@@ -148,7 +140,7 @@
|
|
148
140
|
</li>
|
149
141
|
|
150
142
|
|
151
|
-
<li class="
|
143
|
+
<li class="odd ">
|
152
144
|
<div class="item">
|
153
145
|
<span class='object_link'><a href="Ruff/Standard/Defer.html#eff-instance_method" title="Ruff::Standard::Defer#eff (method)">#eff</a></span>
|
154
146
|
<small>Ruff::Standard::Defer</small>
|
@@ -156,7 +148,7 @@
|
|
156
148
|
</li>
|
157
149
|
|
158
150
|
|
159
|
-
<li class="
|
151
|
+
<li class="even ">
|
160
152
|
<div class="item">
|
161
153
|
<span class='object_link'><a href="Ruff/Standard/MeasureTime/Instance.html#eff-instance_method" title="Ruff::Standard::MeasureTime::Instance#eff (method)">#eff</a></span>
|
162
154
|
<small>Ruff::Standard::MeasureTime::Instance</small>
|
@@ -164,7 +156,7 @@
|
|
164
156
|
</li>
|
165
157
|
|
166
158
|
|
167
|
-
<li class="
|
159
|
+
<li class="odd ">
|
168
160
|
<div class="item">
|
169
161
|
<span class='object_link'><a href="Ruff/Standard/MeasureTime.html#eff-instance_method" title="Ruff::Standard::MeasureTime#eff (method)">#eff</a></span>
|
170
162
|
<small>Ruff::Standard::MeasureTime</small>
|
@@ -172,7 +164,7 @@
|
|
172
164
|
</li>
|
173
165
|
|
174
166
|
|
175
|
-
<li class="
|
167
|
+
<li class="even ">
|
176
168
|
<div class="item">
|
177
169
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#eff-instance_method" title="Ruff::Standard::State::Instance#eff (method)">#eff</a></span>
|
178
170
|
<small>Ruff::Standard::State::Instance</small>
|
@@ -180,7 +172,7 @@
|
|
180
172
|
</li>
|
181
173
|
|
182
174
|
|
183
|
-
<li class="
|
175
|
+
<li class="odd ">
|
184
176
|
<div class="item">
|
185
177
|
<span class='object_link'><a href="Ruff/Standard/State.html#eff-instance_method" title="Ruff::Standard::State#eff (method)">#eff</a></span>
|
186
178
|
<small>Ruff::Standard::State</small>
|
@@ -188,7 +180,7 @@
|
|
188
180
|
</li>
|
189
181
|
|
190
182
|
|
191
|
-
<li class="
|
183
|
+
<li class="even ">
|
192
184
|
<div class="item">
|
193
185
|
<span class='object_link'><a href="Ruff/Standard/CurrentTime/Instance.html#get-instance_method" title="Ruff::Standard::CurrentTime::Instance#get (method)">#get</a></span>
|
194
186
|
<small>Ruff::Standard::CurrentTime::Instance</small>
|
@@ -196,7 +188,7 @@
|
|
196
188
|
</li>
|
197
189
|
|
198
190
|
|
199
|
-
<li class="
|
191
|
+
<li class="odd ">
|
200
192
|
<div class="item">
|
201
193
|
<span class='object_link'><a href="Ruff/Standard/CurrentTime.html#get-class_method" title="Ruff::Standard::CurrentTime.get (method)">get</a></span>
|
202
194
|
<small>Ruff::Standard::CurrentTime</small>
|
@@ -204,7 +196,7 @@
|
|
204
196
|
</li>
|
205
197
|
|
206
198
|
|
207
|
-
<li class="
|
199
|
+
<li class="even ">
|
208
200
|
<div class="item">
|
209
201
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#get-instance_method" title="Ruff::Standard::State::Instance#get (method)">#get</a></span>
|
210
202
|
<small>Ruff::Standard::State::Instance</small>
|
@@ -212,7 +204,7 @@
|
|
212
204
|
</li>
|
213
205
|
|
214
206
|
|
215
|
-
<li class="
|
207
|
+
<li class="odd ">
|
216
208
|
<div class="item">
|
217
209
|
<span class='object_link'><a href="Ruff/Standard/State.html#get-class_method" title="Ruff::Standard::State.get (method)">get</a></span>
|
218
210
|
<small>Ruff::Standard::State</small>
|
@@ -220,7 +212,7 @@
|
|
220
212
|
</li>
|
221
213
|
|
222
214
|
|
223
|
-
<li class="
|
215
|
+
<li class="even ">
|
224
216
|
<div class="item">
|
225
217
|
<span class='object_link'><a href="Ruff.html#handler-class_method" title="Ruff.handler (method)">handler</a></span>
|
226
218
|
<small>Ruff</small>
|
@@ -228,7 +220,7 @@
|
|
228
220
|
</li>
|
229
221
|
|
230
222
|
|
231
|
-
<li class="
|
223
|
+
<li class="odd ">
|
232
224
|
<div class="item">
|
233
225
|
<span class='object_link'><a href="Ruff/Effect.html#id-instance_method" title="Ruff::Effect#id (method)">#id</a></span>
|
234
226
|
<small>Ruff::Effect</small>
|
@@ -236,7 +228,7 @@
|
|
236
228
|
</li>
|
237
229
|
|
238
230
|
|
239
|
-
<li class="
|
231
|
+
<li class="even ">
|
240
232
|
<div class="item">
|
241
233
|
<span class='object_link'><a href="Ruff/Throws/Eff.html#id-instance_method" title="Ruff::Throws::Eff#id (method)">#id</a></span>
|
242
234
|
<small>Ruff::Throws::Eff</small>
|
@@ -244,7 +236,7 @@
|
|
244
236
|
</li>
|
245
237
|
|
246
238
|
|
247
|
-
<li class="
|
239
|
+
<li class="odd ">
|
248
240
|
<div class="item">
|
249
241
|
<span class='object_link'><a href="Ruff/Effect.html#initialize-instance_method" title="Ruff::Effect#initialize (method)">#initialize</a></span>
|
250
242
|
<small>Ruff::Effect</small>
|
@@ -252,7 +244,7 @@
|
|
252
244
|
</li>
|
253
245
|
|
254
246
|
|
255
|
-
<li class="
|
247
|
+
<li class="even ">
|
256
248
|
<div class="item">
|
257
249
|
<span class='object_link'><a href="Ruff/Handler.html#initialize-instance_method" title="Ruff::Handler#initialize (method)">#initialize</a></span>
|
258
250
|
<small>Ruff::Handler</small>
|
@@ -260,7 +252,7 @@
|
|
260
252
|
</li>
|
261
253
|
|
262
254
|
|
263
|
-
<li class="
|
255
|
+
<li class="odd ">
|
264
256
|
<div class="item">
|
265
257
|
<span class='object_link'><a href="Ruff/Throws/Eff.html#initialize-instance_method" title="Ruff::Throws::Eff#initialize (method)">#initialize</a></span>
|
266
258
|
<small>Ruff::Throws::Eff</small>
|
@@ -268,7 +260,7 @@
|
|
268
260
|
</li>
|
269
261
|
|
270
262
|
|
271
|
-
<li class="
|
263
|
+
<li class="even ">
|
272
264
|
<div class="item">
|
273
265
|
<span class='object_link'><a href="Ruff/Throws/Resend.html#initialize-instance_method" title="Ruff::Throws::Resend#initialize (method)">#initialize</a></span>
|
274
266
|
<small>Ruff::Throws::Resend</small>
|
@@ -276,7 +268,7 @@
|
|
276
268
|
</li>
|
277
269
|
|
278
270
|
|
279
|
-
<li class="
|
271
|
+
<li class="odd ">
|
280
272
|
<div class="item">
|
281
273
|
<span class='object_link'><a href="Ruff/Standard/Async/Instance.html#initialize-instance_method" title="Ruff::Standard::Async::Instance#initialize (method)">#initialize</a></span>
|
282
274
|
<small>Ruff::Standard::Async::Instance</small>
|
@@ -284,7 +276,7 @@
|
|
284
276
|
</li>
|
285
277
|
|
286
278
|
|
287
|
-
<li class="
|
279
|
+
<li class="even ">
|
288
280
|
<div class="item">
|
289
281
|
<span class='object_link'><a href="Ruff/Standard/CurrentTime/Instance.html#initialize-instance_method" title="Ruff::Standard::CurrentTime::Instance#initialize (method)">#initialize</a></span>
|
290
282
|
<small>Ruff::Standard::CurrentTime::Instance</small>
|
@@ -292,7 +284,7 @@
|
|
292
284
|
</li>
|
293
285
|
|
294
286
|
|
295
|
-
<li class="
|
287
|
+
<li class="odd ">
|
296
288
|
<div class="item">
|
297
289
|
<span class='object_link'><a href="Ruff/Standard/Defer/Instance.html#initialize-instance_method" title="Ruff::Standard::Defer::Instance#initialize (method)">#initialize</a></span>
|
298
290
|
<small>Ruff::Standard::Defer::Instance</small>
|
@@ -300,7 +292,7 @@
|
|
300
292
|
</li>
|
301
293
|
|
302
294
|
|
303
|
-
<li class="
|
295
|
+
<li class="even ">
|
304
296
|
<div class="item">
|
305
297
|
<span class='object_link'><a href="Ruff/Standard/MeasureTime/Instance.html#initialize-instance_method" title="Ruff::Standard::MeasureTime::Instance#initialize (method)">#initialize</a></span>
|
306
298
|
<small>Ruff::Standard::MeasureTime::Instance</small>
|
@@ -308,7 +300,7 @@
|
|
308
300
|
</li>
|
309
301
|
|
310
302
|
|
311
|
-
<li class="
|
303
|
+
<li class="odd ">
|
312
304
|
<div class="item">
|
313
305
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#initialize-instance_method" title="Ruff::Standard::State::Instance#initialize (method)">#initialize</a></span>
|
314
306
|
<small>Ruff::Standard::State::Instance</small>
|
@@ -316,7 +308,7 @@
|
|
316
308
|
</li>
|
317
309
|
|
318
310
|
|
319
|
-
<li class="
|
311
|
+
<li class="even ">
|
320
312
|
<div class="item">
|
321
313
|
<span class='object_link'><a href="Ruff.html#instance-class_method" title="Ruff.instance (method)">instance</a></span>
|
322
314
|
<small>Ruff</small>
|
@@ -324,7 +316,7 @@
|
|
324
316
|
</li>
|
325
317
|
|
326
318
|
|
327
|
-
<li class="
|
319
|
+
<li class="odd ">
|
328
320
|
<div class="item">
|
329
321
|
<span class='object_link'><a href="Ruff/Throws/Resend.html#k-instance_method" title="Ruff::Throws::Resend#k (method)">#k</a></span>
|
330
322
|
<small>Ruff::Throws::Resend</small>
|
@@ -332,7 +324,7 @@
|
|
332
324
|
</li>
|
333
325
|
|
334
326
|
|
335
|
-
<li class="
|
327
|
+
<li class="even ">
|
336
328
|
<div class="item">
|
337
329
|
<span class='object_link'><a href="Ruff/Standard/MeasureTime/Instance.html#measure-instance_method" title="Ruff::Standard::MeasureTime::Instance#measure (method)">#measure</a></span>
|
338
330
|
<small>Ruff::Standard::MeasureTime::Instance</small>
|
@@ -340,7 +332,7 @@
|
|
340
332
|
</li>
|
341
333
|
|
342
334
|
|
343
|
-
<li class="
|
335
|
+
<li class="odd ">
|
344
336
|
<div class="item">
|
345
337
|
<span class='object_link'><a href="Ruff/Standard/MeasureTime.html#measure-class_method" title="Ruff::Standard::MeasureTime.measure (method)">measure</a></span>
|
346
338
|
<small>Ruff::Standard::MeasureTime</small>
|
@@ -348,7 +340,7 @@
|
|
348
340
|
</li>
|
349
341
|
|
350
342
|
|
351
|
-
<li class="
|
343
|
+
<li class="even ">
|
352
344
|
<div class="item">
|
353
345
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#modify-instance_method" title="Ruff::Standard::State::Instance#modify (method)">#modify</a></span>
|
354
346
|
<small>Ruff::Standard::State::Instance</small>
|
@@ -356,7 +348,7 @@
|
|
356
348
|
</li>
|
357
349
|
|
358
350
|
|
359
|
-
<li class="
|
351
|
+
<li class="odd ">
|
360
352
|
<div class="item">
|
361
353
|
<span class='object_link'><a href="Ruff/Standard/State.html#modify-class_method" title="Ruff::Standard::State.modify (method)">modify</a></span>
|
362
354
|
<small>Ruff::Standard::State</small>
|
@@ -364,7 +356,7 @@
|
|
364
356
|
</li>
|
365
357
|
|
366
358
|
|
367
|
-
<li class="
|
359
|
+
<li class="even ">
|
368
360
|
<div class="item">
|
369
361
|
<span class='object_link'><a href="Ruff/Handler.html#on-instance_method" title="Ruff::Handler#on (method)">#on</a></span>
|
370
362
|
<small>Ruff::Handler</small>
|
@@ -372,7 +364,7 @@
|
|
372
364
|
</li>
|
373
365
|
|
374
366
|
|
375
|
-
<li class="
|
367
|
+
<li class="odd ">
|
376
368
|
<div class="item">
|
377
369
|
<span class='object_link'><a href="Ruff/Effect.html#perform-instance_method" title="Ruff::Effect#perform (method)">#perform</a></span>
|
378
370
|
<small>Ruff::Effect</small>
|
@@ -380,7 +372,7 @@
|
|
380
372
|
</li>
|
381
373
|
|
382
374
|
|
383
|
-
<li class="
|
375
|
+
<li class="even ">
|
384
376
|
<div class="item">
|
385
377
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#put-instance_method" title="Ruff::Standard::State::Instance#put (method)">#put</a></span>
|
386
378
|
<small>Ruff::Standard::State::Instance</small>
|
@@ -388,7 +380,7 @@
|
|
388
380
|
</li>
|
389
381
|
|
390
382
|
|
391
|
-
<li class="
|
383
|
+
<li class="odd ">
|
392
384
|
<div class="item">
|
393
385
|
<span class='object_link'><a href="Ruff/Standard/State.html#put-class_method" title="Ruff::Standard::State.put (method)">put</a></span>
|
394
386
|
<small>Ruff::Standard::State</small>
|
@@ -396,7 +388,7 @@
|
|
396
388
|
</li>
|
397
389
|
|
398
390
|
|
399
|
-
<li class="
|
391
|
+
<li class="even ">
|
400
392
|
<div class="item">
|
401
393
|
<span class='object_link'><a href="Ruff/Standard/Defer/Instance.html#register-instance_method" title="Ruff::Standard::Defer::Instance#register (method)">#register</a></span>
|
402
394
|
<small>Ruff::Standard::Defer::Instance</small>
|
@@ -404,7 +396,7 @@
|
|
404
396
|
</li>
|
405
397
|
|
406
398
|
|
407
|
-
<li class="
|
399
|
+
<li class="odd ">
|
408
400
|
<div class="item">
|
409
401
|
<span class='object_link'><a href="Ruff/Standard/Defer.html#register-class_method" title="Ruff::Standard::Defer.register (method)">register</a></span>
|
410
402
|
<small>Ruff::Standard::Defer</small>
|
@@ -412,6 +404,14 @@
|
|
412
404
|
</li>
|
413
405
|
|
414
406
|
|
407
|
+
<li class="even ">
|
408
|
+
<div class="item">
|
409
|
+
<span class='object_link'><a href="Ruff/Standard/DelimCtrl.html#reset-class_method" title="Ruff::Standard::DelimCtrl.reset (method)">reset</a></span>
|
410
|
+
<small>Ruff::Standard::DelimCtrl</small>
|
411
|
+
</div>
|
412
|
+
</li>
|
413
|
+
|
414
|
+
|
415
415
|
<li class="odd ">
|
416
416
|
<div class="item">
|
417
417
|
<span class='object_link'><a href="Ruff/Handler.html#run-instance_method" title="Ruff::Handler#run (method)">#run</a></span>
|
@@ -422,8 +422,8 @@
|
|
422
422
|
|
423
423
|
<li class="even ">
|
424
424
|
<div class="item">
|
425
|
-
<span class='object_link'><a href="Ruff/Standard/
|
426
|
-
<small>Ruff::Standard::
|
425
|
+
<span class='object_link'><a href="Ruff/Standard/DelimCtrl.html#shift-class_method" title="Ruff::Standard::DelimCtrl.shift (method)">shift</a></span>
|
426
|
+
<small>Ruff::Standard::DelimCtrl</small>
|
427
427
|
</div>
|
428
428
|
</li>
|
429
429
|
|