ruff 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|