ruff 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d6344aeddea5197fe603fedc295d0a6ccf548120b5ab0764c151a78c0bce3a7
4
- data.tar.gz: 71a82dba4c494f7f48d59ab0ce44432830132acf3261733b7fb065ea11f1dd83
3
+ metadata.gz: ec108da7f3d3fa47a0e408b0a4fe5f97396668633addec0d3ca4d34c9aff35d2
4
+ data.tar.gz: 96342bb0a7372eca77bb3cd4dd4ac75fc597176f67e0bf51b329c8a11685031d
5
5
  SHA512:
6
- metadata.gz: 37aa5d26c456ed8ec73c726dd73f39d70ac2b35eff6a875454a40615571485b4940e1c10ddad12a99a137c3c3c6db7059f2f6c36e2b5d06491fed95464040677
7
- data.tar.gz: c38ece046ce0dd936bc12dd901c948ab22efe428047901c761122738ada0801a65320fb2f39e6104060f149f88b55c7d59350b717c8f07b9efb98f7b23a52116
6
+ metadata.gz: f81e02e55b423051a51bc099edd61724b8447909476a547934a4f4fda526123d1a6e28d6b329f4fcd99a8cc0c9db0340567d3870367cbf1cd6b0761fb4fbda56
7
+ data.tar.gz: 4526356c34e1bc3d490e3304b53947a0770acea53f181411221ead10fbaf0aad493d621cc8f410ffb3f32092563eb1963df54aa26caad6b6856d8a11472f2bca
data/Gemfile CHANGED
@@ -8,3 +8,5 @@ gem 'redcarpet', group: :development
8
8
  gem 'rubocop', group: :development
9
9
  gem 'solargraph', group: :development
10
10
  gem 'yard', group: :development
11
+
12
+ gem "irb", "~> 1.0"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruff (1.3.0)
4
+ ruff (1.4.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -9,6 +9,7 @@ GEM
9
9
  ast (2.4.0)
10
10
  backport (1.1.2)
11
11
  htmlentities (4.3.4)
12
+ irb (1.0.0)
12
13
  jaro_winkler (1.5.3)
13
14
  mini_portile2 (2.4.0)
14
15
  nokogiri (1.10.4)
@@ -51,6 +52,7 @@ PLATFORMS
51
52
 
52
53
  DEPENDENCIES
53
54
  bundler (~> 2.0)
55
+ irb (~> 1.0)
54
56
  rake (~> 10.0)
55
57
  redcarpet
56
58
  rubocop
data/docs/Ruff.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Module: Ruff
8
8
 
9
- &mdash; Ruff 1.3.0 Documentation
9
+ &mdash; Ruff 1.3.1 Documentation
10
10
 
11
11
  </title>
12
12
 
@@ -109,7 +109,7 @@
109
109
  <dt id="VERSION-constant" class="">VERSION =
110
110
 
111
111
  </dt>
112
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>1.3.0</span><span class='tstring_end'>&#39;</span></span></pre></dd>
112
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>1.3.1</span><span class='tstring_end'>&#39;</span></span></pre></dd>
113
113
 
114
114
  </dl>
115
115
 
@@ -301,7 +301,7 @@
301
301
  </div>
302
302
 
303
303
  <div id="footer">
304
- Generated on Mon Oct 7 02:29:28 2019 by
304
+ Generated on Wed Oct 30 01:51:52 2019 by
305
305
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
306
306
  0.9.20 (ruby-2.6.5).
307
307
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Ruff::Effect
8
8
 
9
- &mdash; Ruff 1.3.0 Documentation
9
+ &mdash; Ruff 1.3.1 Documentation
10
10
 
11
11
  </title>
12
12
 
@@ -404,7 +404,7 @@
404
404
  </div>
405
405
 
406
406
  <div id="footer">
407
- Generated on Mon Oct 7 02:29:28 2019 by
407
+ Generated on Wed Oct 30 01:51:52 2019 by
408
408
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
409
409
  0.9.20 (ruby-2.6.5).
410
410
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Ruff::Handler
8
8
 
9
- &mdash; Ruff 1.3.0 Documentation
9
+ &mdash; Ruff 1.3.1 Documentation
10
10
 
11
11
  </title>
12
12
 
@@ -623,7 +623,7 @@ in effect handlers of the handler.</p>
623
623
  </div>
624
624
 
625
625
  <div id="footer">
626
- Generated on Mon Oct 7 02:29:28 2019 by
626
+ Generated on Wed Oct 30 01:51:52 2019 by
627
627
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
628
628
  0.9.20 (ruby-2.6.5).
629
629
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Module: Ruff::Standard
8
8
 
9
- &mdash; Ruff 1.3.0 Documentation
9
+ &mdash; Ruff 1.3.1 Documentation
10
10
 
11
11
  </title>
12
12
 
@@ -117,7 +117,7 @@ Each module provides <code>Instance</code> class to instantiate and handle the i
117
117
  <p class="children">
118
118
 
119
119
 
120
- <strong class="modules">Modules:</strong> <span class='object_link'><a href="Standard/Async.html" title="Ruff::Standard::Async (module)">Async</a></span>, <span class='object_link'><a href="Standard/CurrentTime.html" title="Ruff::Standard::CurrentTime (module)">CurrentTime</a></span>, <span class='object_link'><a href="Standard/Defer.html" title="Ruff::Standard::Defer (module)">Defer</a></span>, <span class='object_link'><a href="Standard/MeasureTime.html" title="Ruff::Standard::MeasureTime (module)">MeasureTime</a></span>, <span class='object_link'><a href="Standard/State.html" title="Ruff::Standard::State (module)">State</a></span>
120
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Standard/Async.html" title="Ruff::Standard::Async (module)">Async</a></span>, <span class='object_link'><a href="Standard/Call1cc.html" title="Ruff::Standard::Call1cc (module)">Call1cc</a></span>, <span class='object_link'><a href="Standard/CurrentTime.html" title="Ruff::Standard::CurrentTime (module)">CurrentTime</a></span>, <span class='object_link'><a href="Standard/Defer.html" title="Ruff::Standard::Defer (module)">Defer</a></span>, <span class='object_link'><a href="Standard/MeasureTime.html" title="Ruff::Standard::MeasureTime (module)">MeasureTime</a></span>, <span class='object_link'><a href="Standard/State.html" title="Ruff::Standard::State (module)">State</a></span>
121
121
 
122
122
 
123
123
 
@@ -135,7 +135,7 @@ Each module provides <code>Instance</code> class to instantiate and handle the i
135
135
  </div>
136
136
 
137
137
  <div id="footer">
138
- Generated on Mon Oct 7 02:29:28 2019 by
138
+ Generated on Wed Oct 30 01:51:52 2019 by
139
139
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
140
140
  0.9.20 (ruby-2.6.5).
141
141
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Module: Ruff::Standard::Async
8
8
 
9
- &mdash; Ruff 1.3.0 Documentation
9
+ &mdash; Ruff 1.3.1 Documentation
10
10
 
11
11
  </title>
12
12
 
@@ -85,7 +85,8 @@
85
85
 
86
86
  <h2>Overview</h2><div class="docstring">
87
87
  <div class="discussion">
88
- <p><code>Async</code> provides effects <code>Async.async</code>, <code>Async.yield</code> and <code>Async.await</code>, and the implementation async/await.
88
+ <p><code>Async</code> provides effects <code>Async.async</code>, <code>Async.yield</code> and <code>Async.await</code>,
89
+ and the implementation async/await.
89
90
  This implementation is based on the tutorial for Multicore OCaml.
90
91
  The module has an instance of <code>Instance</code> and provides its methods as module method.</p>
91
92
 
@@ -325,12 +326,12 @@ The module has an instance of <code>Instance</code> and provides its methods as
325
326
  <pre class="lines">
326
327
 
327
328
 
328
- 176
329
- 177
330
- 178</pre>
329
+ 178
330
+ 179
331
+ 180</pre>
331
332
  </td>
332
333
  <td>
333
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 176</span>
334
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 178</span>
334
335
 
335
336
  <span class='kw'>def</span> <span class='id identifier rubyid_eff'>eff</span>
336
337
  <span class='ivar'>@eff</span>
@@ -378,12 +379,12 @@ The module has an instance of <code>Instance</code> and provides its methods as
378
379
  <pre class="lines">
379
380
 
380
381
 
381
- 154
382
- 155
383
- 156</pre>
382
+ 156
383
+ 157
384
+ 158</pre>
384
385
  </td>
385
386
  <td>
386
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 154</span>
387
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 156</span>
387
388
 
388
389
  <span class='kw'>def</span> <span class='id identifier rubyid_async'>async</span><span class='lparen'>(</span><span class='id identifier rubyid_asynth'>asynth</span><span class='rparen'>)</span>
389
390
  <span class='ivar'>@inst</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span> <span class='id identifier rubyid_asynth'>asynth</span>
@@ -424,12 +425,12 @@ The module has an instance of <code>Instance</code> and provides its methods as
424
425
  <pre class="lines">
425
426
 
426
427
 
427
- 159
428
- 160
429
- 161</pre>
428
+ 161
429
+ 162
430
+ 163</pre>
430
431
  </td>
431
432
  <td>
432
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 159</span>
433
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 161</span>
433
434
 
434
435
  <span class='kw'>def</span> <span class='id identifier rubyid_await'>await</span><span class='lparen'>(</span><span class='id identifier rubyid_p'>p</span><span class='rparen'>)</span>
435
436
  <span class='ivar'>@inst</span><span class='period'>.</span><span class='id identifier rubyid_await'>await</span> <span class='id identifier rubyid_p'>p</span>
@@ -470,12 +471,12 @@ The module has an instance of <code>Instance</code> and provides its methods as
470
471
  <pre class="lines">
471
472
 
472
473
 
473
- 169
474
- 170
475
- 171</pre>
474
+ 171
475
+ 172
476
+ 173</pre>
476
477
  </td>
477
478
  <td>
478
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 169</span>
479
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 171</span>
479
480
 
480
481
  <span class='kw'>def</span> <span class='id identifier rubyid_with'>with</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_th'>th</span><span class='rparen'>)</span>
481
482
  <span class='ivar'>@inst</span><span class='period'>.</span><span class='id identifier rubyid_with'>with</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_th'>th</span><span class='rparen'>)</span>
@@ -516,12 +517,12 @@ The module has an instance of <code>Instance</code> and provides its methods as
516
517
  <pre class="lines">
517
518
 
518
519
 
519
- 164
520
- 165
521
- 166</pre>
520
+ 166
521
+ 167
522
+ 168</pre>
522
523
  </td>
523
524
  <td>
524
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 164</span>
525
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 166</span>
525
526
 
526
527
  <span class='kw'>def</span> <span class='kw'>yield</span>
527
528
  <span class='ivar'>@inst</span><span class='period'>.</span><span class='id identifier rubyid_yield'>yield</span>
@@ -536,7 +537,7 @@ The module has an instance of <code>Instance</code> and provides its methods as
536
537
  </div>
537
538
 
538
539
  <div id="footer">
539
- Generated on Mon Oct 7 02:29:28 2019 by
540
+ Generated on Wed Oct 30 01:51:52 2019 by
540
541
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
541
542
  0.9.20 (ruby-2.6.5).
542
543
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Ruff::Standard::Async::Instance
8
8
 
9
- &mdash; Ruff 1.3.0 Documentation
9
+ &mdash; Ruff 1.3.1 Documentation
10
10
 
11
11
  </title>
12
12
 
@@ -100,6 +100,42 @@
100
100
  </div>
101
101
 
102
102
 
103
+
104
+ <h2>
105
+ Constant Summary
106
+ <small><a href="#" class="constants_summary_toggle">collapse</a></small>
107
+ </h2>
108
+
109
+ <dl class="constants">
110
+
111
+ <dt id="Waiting-constant" class="">Waiting =
112
+ <div class="docstring">
113
+ <div class="discussion">
114
+ <p>are ADT-like classes which have only getter method.
115
+ These are used internally.</p>
116
+
117
+ <p>type &#39;a promise =
118
+ | Waiting of (&#39;a, unit) continuation list
119
+ | Done of &#39;a</p>
120
+
121
+
122
+ </div>
123
+ </div>
124
+ <div class="tags">
125
+
126
+
127
+ </div>
128
+ </dt>
129
+ <dd><pre class="code"><span class='const'>Util</span><span class='op'>::</span><span class='const'>ADT</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span></pre></dd>
130
+
131
+ <dt id="Done-constant" class="">Done =
132
+
133
+ </dt>
134
+ <dd><pre class="code"><span class='const'>Util</span><span class='op'>::</span><span class='const'>ADT</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span></pre></dd>
135
+
136
+ </dl>
137
+
138
+
103
139
 
104
140
 
105
141
 
@@ -295,7 +331,6 @@
295
331
  <pre class="lines">
296
332
 
297
333
 
298
- 54
299
334
  55
300
335
  56
301
336
  57
@@ -305,10 +340,11 @@
305
340
  61
306
341
  62
307
342
  63
308
- 64</pre>
343
+ 64
344
+ 65</pre>
309
345
  </td>
310
346
  <td>
311
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 54</span>
347
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 55</span>
312
348
 
313
349
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
314
350
  <span class='comment'># delegates effect instances.
@@ -359,12 +395,12 @@ with accessing <code>Async.async</code> , <code>Async.yield</code> , and <code>A
359
395
  <pre class="lines">
360
396
 
361
397
 
362
- 103
363
398
  104
364
- 105</pre>
399
+ 105
400
+ 106</pre>
365
401
  </td>
366
402
  <td>
367
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 103</span>
403
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 104</span>
368
404
 
369
405
  <span class='kw'>def</span> <span class='id identifier rubyid_eff'>eff</span>
370
406
  <span class='ivar'>@eff</span>
@@ -442,12 +478,12 @@ with accessing <code>Async.async</code> , <code>Async.yield</code> , and <code>A
442
478
  <pre class="lines">
443
479
 
444
480
 
445
- 71
446
481
  72
447
- 73</pre>
482
+ 73
483
+ 74</pre>
448
484
  </td>
449
485
  <td>
450
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 71</span>
486
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 72</span>
451
487
 
452
488
  <span class='kw'>def</span> <span class='id identifier rubyid_async'>async</span><span class='lparen'>(</span><span class='id identifier rubyid_th'>th</span><span class='rparen'>)</span>
453
489
  <span class='ivar'>@eff</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span><span class='period'>.</span><span class='id identifier rubyid_perform'>perform</span> <span class='id identifier rubyid_th'>th</span>
@@ -518,12 +554,12 @@ with accessing <code>Async.async</code> , <code>Async.yield</code> , and <code>A
518
554
  <pre class="lines">
519
555
 
520
556
 
521
- 87
522
557
  88
523
- 89</pre>
558
+ 89
559
+ 90</pre>
524
560
  </td>
525
561
  <td>
526
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 87</span>
562
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 88</span>
527
563
 
528
564
  <span class='kw'>def</span> <span class='id identifier rubyid_await'>await</span><span class='lparen'>(</span><span class='id identifier rubyid_p'>p</span><span class='rparen'>)</span>
529
565
  <span class='ivar'>@eff</span><span class='period'>.</span><span class='id identifier rubyid_await'>await</span><span class='period'>.</span><span class='id identifier rubyid_perform'>perform</span> <span class='id identifier rubyid_p'>p</span>
@@ -595,15 +631,15 @@ including <code>Async.async</code> , <code>Async.yield</code> and <code>Async.aw
595
631
  <pre class="lines">
596
632
 
597
633
 
598
- 97
599
634
  98
600
- 99</pre>
635
+ 99
636
+ 100</pre>
601
637
  </td>
602
638
  <td>
603
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 97</span>
639
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 98</span>
604
640
 
605
641
  <span class='id identifier rubyid_define_method'>define_method</span> <span class='symbol'>:with</span> <span class='kw'>do</span> <span class='op'>|</span><span class='op'>&amp;</span><span class='id identifier rubyid_th'>th</span><span class='op'>|</span>
606
- <span class='id identifier rubyid_fork'>fork</span><span class='lparen'>(</span><span class='const'>Util</span><span class='op'>::</span><span class='const'>Ref</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid__Waiting'>_Waiting</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_th'>th</span><span class='rparen'>)</span>
642
+ <span class='id identifier rubyid_fork'>fork</span><span class='lparen'>(</span><span class='const'>Util</span><span class='op'>::</span><span class='const'>Ref</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="#Waiting-constant" title="Ruff::Standard::Async::Instance::Waiting (constant)">Waiting</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Ruff::Standard::Async::Instance#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_th'>th</span><span class='rparen'>)</span>
607
643
  <span class='kw'>end</span></pre>
608
644
  </td>
609
645
  </tr>
@@ -652,12 +688,12 @@ including <code>Async.async</code> , <code>Async.yield</code> and <code>Async.aw
652
688
  <pre class="lines">
653
689
 
654
690
 
655
- 78
656
691
  79
657
- 80</pre>
692
+ 80
693
+ 81</pre>
658
694
  </td>
659
695
  <td>
660
- <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 78</span>
696
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/async.rb', line 79</span>
661
697
 
662
698
  <span class='kw'>def</span> <span class='kw'>yield</span>
663
699
  <span class='ivar'>@eff</span><span class='period'>.</span><span class='id identifier rubyid_yield'>yield</span><span class='period'>.</span><span class='id identifier rubyid_perform'>perform</span>
@@ -672,7 +708,7 @@ including <code>Async.async</code> , <code>Async.yield</code> and <code>Async.aw
672
708
  </div>
673
709
 
674
710
  <div id="footer">
675
- Generated on Mon Oct 7 02:29:28 2019 by
711
+ Generated on Wed Oct 30 01:51:52 2019 by
676
712
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
677
713
  0.9.20 (ruby-2.6.5).
678
714
  </div>
@@ -0,0 +1,297 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Module: Ruff::Standard::Call1cc
8
+
9
+ &mdash; Ruff 1.3.1 Documentation
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "Ruff::Standard::Call1cc";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../_index.html">Index (C)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../Ruff.html" title="Ruff (module)">Ruff</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Standard.html" title="Ruff::Standard (module)">Standard</a></span></span>
41
+ &raquo;
42
+ <span class="title">Call1cc</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: Ruff::Standard::Call1cc
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/ruff/standard/call1cc.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+ <p><code>Call1cc</code> provides call-with-oneshot-continuation.
89
+ The continuation can be run in the <code>context</code>.</p>
90
+
91
+
92
+ </div>
93
+ </div>
94
+ <div class="tags">
95
+
96
+ <div class="examples">
97
+ <p class="tag_title">Examples:</p>
98
+
99
+
100
+ <pre class="example code"><code><span class='const'>Call1cc</span><span class='period'>.</span><span class='id identifier rubyid_context'><span class='object_link'><a href="#context-class_method" title="Ruff::Standard::Call1cc.context (method)">context</a></span></span> <span class='kw'>do</span>
101
+ <span class='id identifier rubyid_divfail'>divfail</span> <span class='op'>=</span> <span class='id identifier rubyid_lambda'>lambda</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='comma'>,</span> <span class='id identifier rubyid_default'>default</span><span class='op'>|</span>
102
+ <span class='const'>Call1cc</span><span class='period'>.</span><span class='id identifier rubyid_run'><span class='object_link'><a href="#run-class_method" title="Ruff::Standard::Call1cc.run (method)">run</a></span></span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='op'>|</span>
103
+ <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_e'>e</span><span class='op'>|</span>
104
+ <span class='kw'>if</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span>
105
+ <span class='id identifier rubyid_k'>k</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_default'>default</span><span class='rparen'>)</span>
106
+ <span class='kw'>else</span>
107
+ <span class='id identifier rubyid_e'>e</span> <span class='op'>/</span> <span class='int'>2</span>
108
+ <span class='kw'>end</span>
109
+ <span class='rbrace'>}</span>
110
+ <span class='rbrace'>}</span>
111
+ <span class='rbrace'>}</span>
112
+
113
+ <span class='id identifier rubyid_pp'>pp</span> <span class='id identifier rubyid_divfail'>divfail</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span> <span class='int'>3</span><span class='comma'>,</span> <span class='int'>5</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
114
+ <span class='comment'># ==&gt; [0, 1, 2]
115
+ </span> <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>---</span><span class='tstring_end'>&#39;</span></span>
116
+ <span class='id identifier rubyid_pp'>pp</span> <span class='id identifier rubyid_divfail'>divfail</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span> <span class='int'>0</span><span class='comma'>,</span> <span class='int'>5</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
117
+ <span class='comment'># ==&gt; [1]
118
+ </span><span class='kw'>end</span></code></pre>
119
+
120
+ </div>
121
+
122
+
123
+ </div>
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+ <h2>
132
+ Class Method Summary
133
+ <small><a href="#" class="summary_toggle">collapse</a></small>
134
+ </h2>
135
+
136
+ <ul class="summary">
137
+
138
+ <li class="public ">
139
+ <span class="summary_signature">
140
+
141
+ <a href="#context-class_method" title="context (class method)">.<strong>context</strong>(&amp;prc) &#x21d2; Object </a>
142
+
143
+
144
+
145
+ </span>
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+ <span class="summary_desc"><div class='inline'></div></span>
156
+
157
+ </li>
158
+
159
+
160
+ <li class="public ">
161
+ <span class="summary_signature">
162
+
163
+ <a href="#run-class_method" title="run (class method)">.<strong>run</strong>(&amp;f) &#x21d2; Object </a>
164
+
165
+
166
+
167
+ </span>
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+ <span class="summary_desc"><div class='inline'></div></span>
178
+
179
+ </li>
180
+
181
+
182
+ </ul>
183
+
184
+
185
+
186
+
187
+ <div id="class_method_details" class="method_details_list">
188
+ <h2>Class Method Details</h2>
189
+
190
+
191
+ <div class="method_details first">
192
+ <h3 class="signature first" id="context-class_method">
193
+
194
+ .<strong>context</strong>(&amp;prc) &#x21d2; <tt>Object</tt>
195
+
196
+
197
+
198
+
199
+
200
+ </h3><table class="source_code">
201
+ <tr>
202
+ <td>
203
+ <pre class="lines">
204
+
205
+
206
+ 31
207
+ 32
208
+ 33
209
+ 34
210
+ 35
211
+ 36
212
+ 37
213
+ 38
214
+ 39
215
+ 40
216
+ 41
217
+ 42
218
+ 43</pre>
219
+ </td>
220
+ <td>
221
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/call1cc.rb', line 31</span>
222
+
223
+ <span class='kw'>def</span> <span class='id identifier rubyid_context'>context</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_prc'>prc</span><span class='rparen'>)</span>
224
+ <span class='id identifier rubyid_p'>p</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Ruff.html" title="Ruff (module)">Ruff</a></span></span><span class='period'>.</span><span class='id identifier rubyid_instance'><span class='object_link'><a href="../../Ruff.html#instance-class_method" title="Ruff.instance (method)">instance</a></span></span>
225
+ <span class='ivar'>@stack</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span> <span class='id identifier rubyid_p'>p</span>
226
+
227
+ <span class='id identifier rubyid_ret'>ret</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Ruff.html" title="Ruff (module)">Ruff</a></span></span><span class='period'>.</span><span class='id identifier rubyid_handler'><span class='object_link'><a href="../../Ruff.html#handler-class_method" title="Ruff.handler (method)">handler</a></span></span>
228
+ <span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='id identifier rubyid_p'>p</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span>
229
+ <span class='id identifier rubyid_k'>k</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span>
230
+ <span class='kw'>end</span>
231
+ <span class='period'>.</span><span class='id identifier rubyid_run'>run</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_prc'>prc</span><span class='rparen'>)</span>
232
+
233
+ <span class='ivar'>@stack</span><span class='period'>.</span><span class='id identifier rubyid_pop'>pop</span>
234
+ <span class='id identifier rubyid_ret'>ret</span>
235
+ <span class='kw'>end</span></pre>
236
+ </td>
237
+ </tr>
238
+ </table>
239
+ </div>
240
+
241
+ <div class="method_details ">
242
+ <h3 class="signature " id="run-class_method">
243
+
244
+ .<strong>run</strong>(&amp;f) &#x21d2; <tt>Object</tt>
245
+
246
+
247
+
248
+
249
+
250
+ </h3><table class="source_code">
251
+ <tr>
252
+ <td>
253
+ <pre class="lines">
254
+
255
+
256
+ 45
257
+ 46
258
+ 47
259
+ 48
260
+ 49
261
+ 50
262
+ 51
263
+ 52
264
+ 53
265
+ 54</pre>
266
+ </td>
267
+ <td>
268
+ <pre class="code"><span class="info file"># File 'lib/ruff/standard/call1cc.rb', line 45</span>
269
+
270
+ <span class='kw'>def</span> <span class='id identifier rubyid_run'>run</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_f'>f</span><span class='rparen'>)</span>
271
+ <span class='id identifier rubyid_top'>top</span> <span class='op'>=</span> <span class='ivar'>@stack</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
272
+ <span class='const'><span class='object_link'><a href="../../Ruff.html" title="Ruff (module)">Ruff</a></span></span><span class='period'>.</span><span class='id identifier rubyid_handler'><span class='object_link'><a href="../../Ruff.html#handler-class_method" title="Ruff.handler (method)">handler</a></span></span>
273
+ <span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='id identifier rubyid_top'>top</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid__'>_</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span>
274
+ <span class='comment'># abort the rest of computation from calling the continuation
275
+ </span> <span class='id identifier rubyid_top'>top</span><span class='period'>.</span><span class='id identifier rubyid_perform'>perform</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span>
276
+ <span class='kw'>end</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span> <span class='kw'>do</span>
277
+ <span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tlambda'>-&gt;</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_top'>top</span><span class='period'>.</span><span class='id identifier rubyid_perform'>perform</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rbrace'>}</span><span class='rparen'>)</span>
278
+ <span class='kw'>end</span>
279
+ <span class='kw'>end</span></pre>
280
+ </td>
281
+ </tr>
282
+ </table>
283
+ </div>
284
+
285
+ </div>
286
+
287
+ </div>
288
+
289
+ <div id="footer">
290
+ Generated on Wed Oct 30 01:51:52 2019 by
291
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
292
+ 0.9.20 (ruby-2.6.5).
293
+ </div>
294
+
295
+ </div>
296
+ </body>
297
+ </html>