ruff 0.0.6 → 0.0.7
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/README.md +2 -3
- data/docs/Ruff.html +1 -1
- data/docs/Ruff/Effect.html +1 -1
- data/docs/Ruff/Handler.html +235 -82
- data/docs/Ruff/Throws.html +1 -1
- data/docs/Ruff/Throws/Eff.html +1 -1
- data/docs/Ruff/Throws/Resend.html +1 -1
- data/docs/_index.html +1 -1
- data/docs/file.README.html +3 -1
- data/docs/index.html +3 -1
- data/docs/method_list.html +8 -0
- data/docs/top-level-namespace.html +1 -1
- data/lib/ruff/handler.rb +66 -11
- data/lib/ruff/version.rb +1 -1
- data/ruff.gemspec +1 -1
- data/version.h +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b3a199e337fbcc9469889603567d9c3367d58ce429fd3a486f4fa5b801cd6e1c
         | 
| 4 | 
            +
              data.tar.gz: faed13c325a06943194fe5d717569793e229dc1ce11dd04cf5fb4d812794de19
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 310c7eb41d54e788c18172bde693d1af6a09cd246e5ebf95fcf7fec03dcce77f9f74750730573327ed8ab928add19b844c92e969e757035ee879da6213b7f44f
         | 
| 7 | 
            +
              data.tar.gz: b56af686894b243c13b030b4c50aea7575d26d29d8d93d8c6326baff08307b75c4cfea35865d6c498780fbedabbe16bd207dc95bd1a0704cf631cb071bf6e67e
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,6 +1,8 @@ | |
| 1 1 | 
             
            ruff
         | 
| 2 2 | 
             
            ==
         | 
| 3 3 |  | 
| 4 | 
            +
            [](https://badge.fury.io/rb/ruff)
         | 
| 5 | 
            +
             | 
| 4 6 | 
             
            ONE-SHOT Algebraic Effects Library for Ruby!
         | 
| 5 7 |  | 
| 6 8 | 
             
            ```ruby
         | 
| @@ -31,8 +33,5 @@ h1.run{ | |
| 31 33 | 
             
            # logger: 6
         | 
| 32 34 | 
             
            ```
         | 
| 33 35 |  | 
| 34 | 
            -
            # Documentation
         | 
| 35 | 
            -
            See [here](https://nymphium.github.io/ruff/).
         | 
| 36 | 
            -
             | 
| 37 36 | 
             
            # LICENSE
         | 
| 38 37 | 
             
            MIT
         | 
    
        data/docs/Ruff.html
    CHANGED
    
    | @@ -312,7 +312,7 @@ include "../../version.h"</p> | |
| 312 312 | 
             
            </div>
         | 
| 313 313 |  | 
| 314 314 | 
             
                  <div id="footer">
         | 
| 315 | 
            -
              Generated on  | 
| 315 | 
            +
              Generated on Thu Oct  3 00:38:48 2019 by
         | 
| 316 316 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 317 317 | 
             
              0.9.20 (ruby-2.6.4).
         | 
| 318 318 | 
             
            </div>
         | 
    
        data/docs/Ruff/Effect.html
    CHANGED
    
    | @@ -404,7 +404,7 @@ | |
| 404 404 | 
             
            </div>
         | 
| 405 405 |  | 
| 406 406 | 
             
                  <div id="footer">
         | 
| 407 | 
            -
              Generated on  | 
| 407 | 
            +
              Generated on Thu Oct  3 00:38:48 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.4).
         | 
| 410 410 | 
             
            </div>
         | 
    
        data/docs/Ruff/Handler.html
    CHANGED
    
    | @@ -104,7 +104,17 @@ | |
| 104 104 |  | 
| 105 105 | 
             
            </div>
         | 
| 106 106 |  | 
| 107 | 
            +
            <h2>Overview</h2><div class="docstring">
         | 
| 108 | 
            +
              <div class="discussion">
         | 
| 109 | 
            +
                <p>In algebraic effects, handler is an first-class object.</p>
         | 
| 110 | 
            +
             | 
| 111 | 
            +
             | 
| 112 | 
            +
              </div>
         | 
| 113 | 
            +
            </div>
         | 
| 114 | 
            +
            <div class="tags">
         | 
| 115 | 
            +
              
         | 
| 107 116 |  | 
| 117 | 
            +
            </div>
         | 
| 108 118 |  | 
| 109 119 |  | 
| 110 120 |  | 
| @@ -138,7 +148,7 @@ | |
| 138 148 |  | 
| 139 149 |  | 
| 140 150 |  | 
| 141 | 
            -
                <span class="summary_desc"><div class='inline'><p> | 
| 151 | 
            +
                <span class="summary_desc"><div class='inline'><p>makes a new handler, internally having fresh empty hash.</p>
         | 
| 142 152 | 
             
            </div></span>
         | 
| 143 153 |  | 
| 144 154 | 
             
            </li>
         | 
| @@ -147,7 +157,7 @@ | |
| 147 157 | 
             
                    <li class="public ">
         | 
| 148 158 | 
             
              <span class="summary_signature">
         | 
| 149 159 |  | 
| 150 | 
            -
                  <a href="#on-instance_method" title="#on (instance method)">#<strong>on</strong>(eff, & | 
| 160 | 
            +
                  <a href="#on-instance_method" title="#on (instance method)">#<strong>on</strong>(eff, &fun)  ⇒ Handler<A!{Effect<Arg, Ret>, e}, B!{e}> </a>
         | 
| 151 161 |  | 
| 152 162 |  | 
| 153 163 |  | 
| @@ -161,7 +171,7 @@ | |
| 161 171 |  | 
| 162 172 |  | 
| 163 173 |  | 
| 164 | 
            -
                <span class="summary_desc"><div class='inline'><p>sets effec handler <code>& | 
| 174 | 
            +
                <span class="summary_desc"><div class='inline'><p>sets effec handler <code>&fun</code> for <code>eff</code>.</p>
         | 
| 165 175 | 
             
            </div></span>
         | 
| 166 176 |  | 
| 167 177 | 
             
            </li>
         | 
| @@ -170,7 +180,7 @@ | |
| 170 180 | 
             
                    <li class="public ">
         | 
| 171 181 | 
             
              <span class="summary_signature">
         | 
| 172 182 |  | 
| 173 | 
            -
                  <a href="#run-instance_method" title="#run (instance method)">#<strong>run</strong>(&prc)  ⇒  | 
| 183 | 
            +
                  <a href="#run-instance_method" title="#run (instance method)">#<strong>run</strong>(&prc)  ⇒ B </a>
         | 
| 174 184 |  | 
| 175 185 |  | 
| 176 186 |  | 
| @@ -187,6 +197,29 @@ | |
| 187 197 | 
             
                <span class="summary_desc"><div class='inline'><p>handles the computation.</p>
         | 
| 188 198 | 
             
            </div></span>
         | 
| 189 199 |  | 
| 200 | 
            +
            </li>
         | 
| 201 | 
            +
             | 
| 202 | 
            +
                  
         | 
| 203 | 
            +
                    <li class="public ">
         | 
| 204 | 
            +
              <span class="summary_signature">
         | 
| 205 | 
            +
                
         | 
| 206 | 
            +
                  <a href="#to-instance_method" title="#to (instance method)">#<strong>to</strong>(&fun)  ⇒ Handler<A!{e}, B!{e'}> </a>
         | 
| 207 | 
            +
                
         | 
| 208 | 
            +
             | 
| 209 | 
            +
                
         | 
| 210 | 
            +
              </span>
         | 
| 211 | 
            +
              
         | 
| 212 | 
            +
              
         | 
| 213 | 
            +
              
         | 
| 214 | 
            +
              
         | 
| 215 | 
            +
              
         | 
| 216 | 
            +
              
         | 
| 217 | 
            +
              
         | 
| 218 | 
            +
             | 
| 219 | 
            +
              
         | 
| 220 | 
            +
                <span class="summary_desc"><div class='inline'><p>sets value handler <code>&fun</code>.</p>
         | 
| 221 | 
            +
            </div></span>
         | 
| 222 | 
            +
              
         | 
| 190 223 | 
             
            </li>
         | 
| 191 224 |  | 
| 192 225 |  | 
| @@ -213,9 +246,10 @@ | |
| 213 246 |  | 
| 214 247 | 
             
            </h3><div class="docstring">
         | 
| 215 248 | 
             
              <div class="discussion">
         | 
| 216 | 
            -
                <p> | 
| 217 | 
            -
             | 
| 218 | 
            -
            This is a effect-handler store and when handliong it is looked up | 
| 249 | 
            +
                <p>makes a new handler, internally having fresh empty hash.</p>
         | 
| 250 | 
            +
             | 
| 251 | 
            +
            <p>This is a effect-handler store and when handliong it is looked up.
         | 
| 252 | 
            +
            Value handler is set <code>id</code> function to by default.</p>
         | 
| 219 253 |  | 
| 220 254 |  | 
| 221 255 | 
             
              </div>
         | 
| @@ -237,15 +271,17 @@ This is a effect-handler store and when handliong it is looked up.</p> | |
| 237 271 | 
             
                  <pre class="lines">
         | 
| 238 272 |  | 
| 239 273 |  | 
| 240 | 
            -
             | 
| 241 | 
            -
             | 
| 242 | 
            -
             | 
| 274 | 
            +
            17
         | 
| 275 | 
            +
            18
         | 
| 276 | 
            +
            19
         | 
| 277 | 
            +
            20</pre>
         | 
| 243 278 | 
             
                </td>
         | 
| 244 279 | 
             
                <td>
         | 
| 245 | 
            -
                  <pre class="code"><span class="info file"># File 'lib/ruff/handler.rb', line  | 
| 280 | 
            +
                  <pre class="code"><span class="info file"># File 'lib/ruff/handler.rb', line 17</span>
         | 
| 246 281 |  | 
| 247 282 | 
             
            <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
         | 
| 248 283 | 
             
              <span class='ivar'>@handlers</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
         | 
| 284 | 
            +
              <span class='ivar'>@handlers</span><span class='lbracket'>[</span><span class='ivar'>@valh_id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tlambda'>-></span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_x'>x</span> <span class='rbrace'>}</span>
         | 
| 249 285 | 
             
            <span class='kw'>end</span></pre>
         | 
| 250 286 | 
             
                </td>
         | 
| 251 287 | 
             
              </tr>
         | 
| @@ -262,7 +298,7 @@ This is a effect-handler store and when handliong it is looked up.</p> | |
| 262 298 | 
             
                  <div class="method_details first">
         | 
| 263 299 | 
             
              <h3 class="signature first" id="on-instance_method">
         | 
| 264 300 |  | 
| 265 | 
            -
                #<strong>on</strong>(eff, & | 
| 301 | 
            +
                #<strong>on</strong>(eff, &fun)  ⇒ <tt><span class='object_link'><a href="" title="Ruff::Handler (class)">Handler</a></span><A!{<span class='object_link'><a href="Effect.html" title="Ruff::Effect (class)">Effect</a></span><Arg, Ret>, e}, B!{e}></tt> 
         | 
| 266 302 |  | 
| 267 303 |  | 
| 268 304 |  | 
| @@ -270,7 +306,7 @@ This is a effect-handler store and when handliong it is looked up.</p> | |
| 270 306 |  | 
| 271 307 | 
             
            </h3><div class="docstring">
         | 
| 272 308 | 
             
              <div class="discussion">
         | 
| 273 | 
            -
                <p>sets effec handler <code>& | 
| 309 | 
            +
                <p>sets effec handler <code>&fun</code> for <code>eff</code></p>
         | 
| 274 310 |  | 
| 275 311 |  | 
| 276 312 | 
             
              </div>
         | 
| @@ -307,7 +343,7 @@ This is a effect-handler store and when handliong it is looked up.</p> | |
| 307 343 |  | 
| 308 344 | 
             
                <li>
         | 
| 309 345 |  | 
| 310 | 
            -
                    <span class='name'> | 
| 346 | 
            +
                    <span class='name'>fun</span>
         | 
| 311 347 |  | 
| 312 348 |  | 
| 313 349 | 
             
                    <span class='type'>(<tt>Proc<Arg, Ret => A></tt>)</span>
         | 
| @@ -316,7 +352,7 @@ This is a effect-handler store and when handliong it is looked up.</p> | |
| 316 352 |  | 
| 317 353 | 
             
                    —
         | 
| 318 354 | 
             
                    <div class='inline'><p>a handler to handle <code>eff</code>;
         | 
| 319 | 
            -
            First argument of <code>& | 
| 355 | 
            +
            First argument of <code>&fun</code> is <em>continuation</em>, proc object
         | 
| 320 356 | 
             
            to go back to the handled computation.</p>
         | 
| 321 357 | 
             
            </div>
         | 
| 322 358 |  | 
| @@ -330,7 +366,7 @@ to go back to the handled computation.</p> | |
| 330 366 | 
             
                <li>
         | 
| 331 367 |  | 
| 332 368 |  | 
| 333 | 
            -
                    <span class='type'>(<tt><span class='object_link'><a href="" title="Ruff::Handler (class)">Handler</a></span | 
| 369 | 
            +
                    <span class='type'>(<tt><span class='object_link'><a href="" title="Ruff::Handler (class)">Handler</a></span><A!{<span class='object_link'><a href="Effect.html" title="Ruff::Effect (class)">Effect</a></span><Arg, Ret>, e}, B!{e}></tt>)</span>
         | 
| 334 370 |  | 
| 335 371 |  | 
| 336 372 |  | 
| @@ -348,17 +384,17 @@ to go back to the handled computation.</p> | |
| 348 384 | 
             
                  <pre class="lines">
         | 
| 349 385 |  | 
| 350 386 |  | 
| 351 | 
            -
             | 
| 352 | 
            -
             | 
| 353 | 
            -
             | 
| 354 | 
            -
             | 
| 355 | 
            -
             | 
| 387 | 
            +
            79
         | 
| 388 | 
            +
            80
         | 
| 389 | 
            +
            81
         | 
| 390 | 
            +
            82
         | 
| 391 | 
            +
            83</pre>
         | 
| 356 392 | 
             
                </td>
         | 
| 357 393 | 
             
                <td>
         | 
| 358 | 
            -
                  <pre class="code"><span class="info file"># File 'lib/ruff/handler.rb', line  | 
| 394 | 
            +
                  <pre class="code"><span class="info file"># File 'lib/ruff/handler.rb', line 79</span>
         | 
| 359 395 |  | 
| 360 | 
            -
            <span class='kw'>def</span> <span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='id identifier rubyid_eff'>eff</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier  | 
| 361 | 
            -
              <span class='ivar'>@handlers</span><span class='lbracket'>[</span><span class='id identifier rubyid_eff'>eff</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier  | 
| 396 | 
            +
            <span class='kw'>def</span> <span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='id identifier rubyid_eff'>eff</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_fun'>fun</span><span class='rparen'>)</span>
         | 
| 397 | 
            +
              <span class='ivar'>@handlers</span><span class='lbracket'>[</span><span class='id identifier rubyid_eff'>eff</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_fun'>fun</span>
         | 
| 362 398 |  | 
| 363 399 | 
             
              <span class='kw'>self</span>
         | 
| 364 400 | 
             
            <span class='kw'>end</span></pre>
         | 
| @@ -370,7 +406,7 @@ to go back to the handled computation.</p> | |
| 370 406 | 
             
                  <div class="method_details ">
         | 
| 371 407 | 
             
              <h3 class="signature " id="run-instance_method">
         | 
| 372 408 |  | 
| 373 | 
            -
                #<strong>run</strong>(&prc)  ⇒ <tt> | 
| 409 | 
            +
                #<strong>run</strong>(&prc)  ⇒ <tt>B</tt> 
         | 
| 374 410 |  | 
| 375 411 |  | 
| 376 412 |  | 
| @@ -416,9 +452,13 @@ to go back to the handled computation.</p> | |
| 416 452 | 
             
                    <span class='name'>prc</span>
         | 
| 417 453 |  | 
| 418 454 |  | 
| 419 | 
            -
                    <span class='type'>(<tt>Proc<(),  | 
| 455 | 
            +
                    <span class='type'>(<tt>Proc<(), A></tt>)</span>
         | 
| 456 | 
            +
                  
         | 
| 420 457 |  | 
| 421 458 |  | 
| 459 | 
            +
                    —
         | 
| 460 | 
            +
                    <div class='inline'><p>a thunk to be handled and returns <code>A</code></p>
         | 
| 461 | 
            +
            </div>
         | 
| 422 462 |  | 
| 423 463 | 
             
                </li>
         | 
| 424 464 |  | 
| @@ -430,10 +470,14 @@ to go back to the handled computation.</p> | |
| 430 470 | 
             
                <li>
         | 
| 431 471 |  | 
| 432 472 |  | 
| 433 | 
            -
                    <span class='type'>(<tt> | 
| 473 | 
            +
                    <span class='type'>(<tt>B</tt>)</span>
         | 
| 434 474 |  | 
| 435 475 |  | 
| 436 476 |  | 
| 477 | 
            +
                    —
         | 
| 478 | 
            +
                    <div class='inline'><p>a value modified by value handler <code>Proc<A, B></code> , or returned from the effect handler throwing continuation away</p>
         | 
| 479 | 
            +
            </div>
         | 
| 480 | 
            +
                  
         | 
| 437 481 | 
             
                </li>
         | 
| 438 482 |  | 
| 439 483 | 
             
            </ul>
         | 
| @@ -444,61 +488,61 @@ to go back to the handled computation.</p> | |
| 444 488 | 
             
                  <pre class="lines">
         | 
| 445 489 |  | 
| 446 490 |  | 
| 447 | 
            -
             | 
| 448 | 
            -
             | 
| 449 | 
            -
             | 
| 450 | 
            -
             | 
| 451 | 
            -
             | 
| 452 | 
            -
             | 
| 453 | 
            -
             | 
| 454 | 
            -
             | 
| 455 | 
            -
             | 
| 456 | 
            -
             | 
| 457 | 
            -
             | 
| 458 | 
            -
             | 
| 459 | 
            -
             | 
| 460 | 
            -
             | 
| 461 | 
            -
             | 
| 462 | 
            -
             | 
| 463 | 
            -
             | 
| 464 | 
            -
             | 
| 465 | 
            -
             | 
| 466 | 
            -
             | 
| 467 | 
            -
             | 
| 468 | 
            -
             | 
| 469 | 
            -
             | 
| 470 | 
            -
             | 
| 471 | 
            -
             | 
| 472 | 
            -
             | 
| 473 | 
            -
             | 
| 474 | 
            -
             | 
| 475 | 
            -
             | 
| 476 | 
            -
             | 
| 477 | 
            -
             | 
| 478 | 
            -
             | 
| 479 | 
            -
             | 
| 480 | 
            -
             | 
| 481 | 
            -
             | 
| 482 | 
            -
             | 
| 483 | 
            -
             | 
| 484 | 
            -
             | 
| 485 | 
            -
             | 
| 486 | 
            -
             | 
| 487 | 
            -
             | 
| 488 | 
            -
             | 
| 489 | 
            -
             | 
| 490 | 
            -
             | 
| 491 | 
            -
             | 
| 492 | 
            -
             | 
| 493 | 
            -
             | 
| 494 | 
            -
             | 
| 495 | 
            -
             | 
| 496 | 
            -
             | 
| 497 | 
            -
             | 
| 498 | 
            -
             | 
| 491 | 
            +
            108
         | 
| 492 | 
            +
            109
         | 
| 493 | 
            +
            110
         | 
| 494 | 
            +
            111
         | 
| 495 | 
            +
            112
         | 
| 496 | 
            +
            113
         | 
| 497 | 
            +
            114
         | 
| 498 | 
            +
            115
         | 
| 499 | 
            +
            116
         | 
| 500 | 
            +
            117
         | 
| 501 | 
            +
            118
         | 
| 502 | 
            +
            119
         | 
| 503 | 
            +
            120
         | 
| 504 | 
            +
            121
         | 
| 505 | 
            +
            122
         | 
| 506 | 
            +
            123
         | 
| 507 | 
            +
            124
         | 
| 508 | 
            +
            125
         | 
| 509 | 
            +
            126
         | 
| 510 | 
            +
            127
         | 
| 511 | 
            +
            128
         | 
| 512 | 
            +
            129
         | 
| 513 | 
            +
            130
         | 
| 514 | 
            +
            131
         | 
| 515 | 
            +
            132
         | 
| 516 | 
            +
            133
         | 
| 517 | 
            +
            134
         | 
| 518 | 
            +
            135
         | 
| 519 | 
            +
            136
         | 
| 520 | 
            +
            137
         | 
| 521 | 
            +
            138
         | 
| 522 | 
            +
            139
         | 
| 523 | 
            +
            140
         | 
| 524 | 
            +
            141
         | 
| 525 | 
            +
            142
         | 
| 526 | 
            +
            143
         | 
| 527 | 
            +
            144
         | 
| 528 | 
            +
            145
         | 
| 529 | 
            +
            146
         | 
| 530 | 
            +
            147
         | 
| 531 | 
            +
            148
         | 
| 532 | 
            +
            149
         | 
| 533 | 
            +
            150
         | 
| 534 | 
            +
            151
         | 
| 535 | 
            +
            152
         | 
| 536 | 
            +
            153
         | 
| 537 | 
            +
            154
         | 
| 538 | 
            +
            155
         | 
| 539 | 
            +
            156
         | 
| 540 | 
            +
            157
         | 
| 541 | 
            +
            158
         | 
| 542 | 
            +
            159</pre>
         | 
| 499 543 | 
             
                </td>
         | 
| 500 544 | 
             
                <td>
         | 
| 501 | 
            -
                  <pre class="code"><span class="info file"># File 'lib/ruff/handler.rb', line  | 
| 545 | 
            +
                  <pre class="code"><span class="info file"># File 'lib/ruff/handler.rb', line 108</span>
         | 
| 502 546 |  | 
| 503 547 | 
             
            <span class='kw'>def</span> <span class='id identifier rubyid_run'>run</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_prc'>prc</span><span class='rparen'>)</span>
         | 
| 504 548 | 
             
              <span class='id identifier rubyid_co'>co</span> <span class='op'>=</span> <span class='const'>Fiber</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='op'>&</span><span class='id identifier rubyid_prc'>prc</span>
         | 
| @@ -519,7 +563,7 @@ to go back to the handled computation.</p> | |
| 519 563 | 
             
                    <span class='const'>Fiber</span><span class='period'>.</span><span class='id identifier rubyid_yield'>yield</span> <span class='lparen'>(</span><span class='const'><span class='object_link'><a href="Throws/Resend.html" title="Ruff::Throws::Resend (class)">Resend</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Throws/Resend.html#initialize-instance_method" title="Ruff::Throws::Resend#initialize (method)">new</a></span></span> <span class='id identifier rubyid_r'>r</span><span class='comma'>,</span> <span class='id identifier rubyid_rehandles'>rehandles</span><span class='lbracket'>[</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_k'>k</span><span class='rbracket'>]</span><span class='rparen'>)</span>
         | 
| 520 564 | 
             
                  <span class='kw'>end</span>
         | 
| 521 565 | 
             
                <span class='kw'>else</span>
         | 
| 522 | 
            -
                  <span class='id identifier rubyid_r'>r</span>
         | 
| 566 | 
            +
                  <span class='ivar'>@handlers</span><span class='lbracket'>[</span><span class='ivar'>@valh_id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='lparen'>(</span><span class='id identifier rubyid_r'>r</span><span class='rparen'>)</span>
         | 
| 523 567 | 
             
                <span class='kw'>end</span>
         | 
| 524 568 | 
             
              <span class='rbrace'>}</span>
         | 
| 525 569 |  | 
| @@ -555,6 +599,115 @@ to go back to the handled computation.</p> | |
| 555 599 | 
             
                </td>
         | 
| 556 600 | 
             
              </tr>
         | 
| 557 601 | 
             
            </table>
         | 
| 602 | 
            +
            </div>
         | 
| 603 | 
            +
                
         | 
| 604 | 
            +
                  <div class="method_details ">
         | 
| 605 | 
            +
              <h3 class="signature " id="to-instance_method">
         | 
| 606 | 
            +
              
         | 
| 607 | 
            +
                #<strong>to</strong>(&fun)  ⇒ <tt><span class='object_link'><a href="" title="Ruff::Handler (class)">Handler</a></span><A!{e}, B!{e'}></tt> 
         | 
| 608 | 
            +
              
         | 
| 609 | 
            +
             | 
| 610 | 
            +
              
         | 
| 611 | 
            +
             | 
| 612 | 
            +
              
         | 
| 613 | 
            +
            </h3><div class="docstring">
         | 
| 614 | 
            +
              <div class="discussion">
         | 
| 615 | 
            +
                <p>sets value handler <code>&fun</code>.</p>
         | 
| 616 | 
            +
             | 
| 617 | 
            +
            <p>Value handler is the handler for <em>the result value of the computation</em>.
         | 
| 618 | 
            +
            For example, <code>Handler.new.to{|_x| 0}.run { value }</code> results in <code>0</code> .</p>
         | 
| 619 | 
            +
             | 
| 620 | 
            +
            <p>The value handler modifies the result of the call of continuation in effect handlers of the handler.</p>
         | 
| 621 | 
            +
             | 
| 622 | 
            +
             | 
| 623 | 
            +
              </div>
         | 
| 624 | 
            +
            </div>
         | 
| 625 | 
            +
            <div class="tags">
         | 
| 626 | 
            +
              
         | 
| 627 | 
            +
              <div class="examples">
         | 
| 628 | 
            +
                <p class="tag_title">Examples:</p>
         | 
| 629 | 
            +
                
         | 
| 630 | 
            +
                  
         | 
| 631 | 
            +
                  <pre class="example code"><code><span class='id identifier rubyid_logs'>logs</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
         | 
| 632 | 
            +
            <span class='id identifier rubyid_handler'>handler</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='const'>Log</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='op'>|</span>
         | 
| 633 | 
            +
              <span class='id identifier rubyid_logs'>logs</span> <span class='op'><<</span> <span class='id identifier rubyid_msg'>msg</span>
         | 
| 634 | 
            +
              <span class='id identifier rubyid_k'>k</span><span class='lbracket'>[</span><span class='rbracket'>]</span>
         | 
| 635 | 
            +
            <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_to'>to</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span>
         | 
| 636 | 
            +
             <span class='id identifier rubyid_logs'>logs</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_log'>log</span><span class='op'>|</span>
         | 
| 637 | 
            +
               <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Logger: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_log'>log</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
         | 
| 638 | 
            +
             <span class='rbrace'>}</span>
         | 
| 639 | 
            +
             | 
| 640 | 
            +
              <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>returns </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_x'>x</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
         | 
| 641 | 
            +
            <span class='rbrace'>}</span>
         | 
| 642 | 
            +
            <span class='period'>.</span><span class='id identifier rubyid_run'>run</span> <span class='lbrace'>{</span>
         | 
| 643 | 
            +
              <span class='const'>Log</span><span class='period'>.</span><span class='id identifier rubyid_perform'>perform</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>hello</span><span class='tstring_end'>"</span></span>
         | 
| 644 | 
            +
              <span class='const'>Log</span><span class='period'>.</span><span class='id identifier rubyid_perform'>perform</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>world</span><span class='tstring_end'>"</span></span>
         | 
| 645 | 
            +
              <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>!</span><span class='tstring_end'>"</span></span>
         | 
| 646 | 
            +
            <span class='rbrace'>}</span>
         | 
| 647 | 
            +
             | 
| 648 | 
            +
            <span class='comment'>## ==>
         | 
| 649 | 
            +
            </span><span class='comment'># msg>> hello
         | 
| 650 | 
            +
            </span><span class='comment'># msg>> world
         | 
| 651 | 
            +
            </span><span class='comment'># returns !</span></code></pre>
         | 
| 652 | 
            +
                
         | 
| 653 | 
            +
              </div>
         | 
| 654 | 
            +
            <p class="tag_title">Parameters:</p>
         | 
| 655 | 
            +
            <ul class="param">
         | 
| 656 | 
            +
              
         | 
| 657 | 
            +
                <li>
         | 
| 658 | 
            +
                  
         | 
| 659 | 
            +
                    <span class='name'>fun</span>
         | 
| 660 | 
            +
                  
         | 
| 661 | 
            +
                  
         | 
| 662 | 
            +
                    <span class='type'>(<tt>Proc<A, B></tt>)</span>
         | 
| 663 | 
            +
                  
         | 
| 664 | 
            +
                  
         | 
| 665 | 
            +
                  
         | 
| 666 | 
            +
                    —
         | 
| 667 | 
            +
                    <div class='inline'><p>value handler</p>
         | 
| 668 | 
            +
            </div>
         | 
| 669 | 
            +
                  
         | 
| 670 | 
            +
                </li>
         | 
| 671 | 
            +
              
         | 
| 672 | 
            +
            </ul>
         | 
| 673 | 
            +
             | 
| 674 | 
            +
            <p class="tag_title">Returns:</p>
         | 
| 675 | 
            +
            <ul class="return">
         | 
| 676 | 
            +
              
         | 
| 677 | 
            +
                <li>
         | 
| 678 | 
            +
                  
         | 
| 679 | 
            +
                  
         | 
| 680 | 
            +
                    <span class='type'>(<tt><span class='object_link'><a href="" title="Ruff::Handler (class)">Handler</a></span><A!{e}, B!{e'}></tt>)</span>
         | 
| 681 | 
            +
                  
         | 
| 682 | 
            +
                  
         | 
| 683 | 
            +
                  
         | 
| 684 | 
            +
                </li>
         | 
| 685 | 
            +
              
         | 
| 686 | 
            +
            </ul>
         | 
| 687 | 
            +
             | 
| 688 | 
            +
            </div><table class="source_code">
         | 
| 689 | 
            +
              <tr>
         | 
| 690 | 
            +
                <td>
         | 
| 691 | 
            +
                  <pre class="lines">
         | 
| 692 | 
            +
             | 
| 693 | 
            +
             | 
| 694 | 
            +
            57
         | 
| 695 | 
            +
            58
         | 
| 696 | 
            +
            59
         | 
| 697 | 
            +
            60
         | 
| 698 | 
            +
            61</pre>
         | 
| 699 | 
            +
                </td>
         | 
| 700 | 
            +
                <td>
         | 
| 701 | 
            +
                  <pre class="code"><span class="info file"># File 'lib/ruff/handler.rb', line 57</span>
         | 
| 702 | 
            +
             | 
| 703 | 
            +
            <span class='kw'>def</span> <span class='id identifier rubyid_to'>to</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_fun'>fun</span><span class='rparen'>)</span>
         | 
| 704 | 
            +
              <span class='ivar'>@handlers</span><span class='lbracket'>[</span><span class='ivar'>@valh_id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_fun'>fun</span>
         | 
| 705 | 
            +
             | 
| 706 | 
            +
              <span class='kw'>self</span>
         | 
| 707 | 
            +
            <span class='kw'>end</span></pre>
         | 
| 708 | 
            +
                </td>
         | 
| 709 | 
            +
              </tr>
         | 
| 710 | 
            +
            </table>
         | 
| 558 711 | 
             
            </div>
         | 
| 559 712 |  | 
| 560 713 | 
             
              </div>
         | 
| @@ -562,7 +715,7 @@ to go back to the handled computation.</p> | |
| 562 715 | 
             
            </div>
         | 
| 563 716 |  | 
| 564 717 | 
             
                  <div id="footer">
         | 
| 565 | 
            -
              Generated on  | 
| 718 | 
            +
              Generated on Thu Oct  3 00:38:48 2019 by
         | 
| 566 719 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 567 720 | 
             
              0.9.20 (ruby-2.6.4).
         | 
| 568 721 | 
             
            </div>
         | 
    
        data/docs/Ruff/Throws.html
    CHANGED
    
    | @@ -110,7 +110,7 @@ | |
| 110 110 | 
             
            </div>
         | 
| 111 111 |  | 
| 112 112 | 
             
                  <div id="footer">
         | 
| 113 | 
            -
              Generated on  | 
| 113 | 
            +
              Generated on Thu Oct  3 00:38:48 2019 by
         | 
| 114 114 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 115 115 | 
             
              0.9.20 (ruby-2.6.4).
         | 
| 116 116 | 
             
            </div>
         | 
    
        data/docs/Ruff/Throws/Eff.html
    CHANGED
    
    | @@ -353,7 +353,7 @@ | |
| 353 353 | 
             
            </div>
         | 
| 354 354 |  | 
| 355 355 | 
             
                  <div id="footer">
         | 
| 356 | 
            -
              Generated on  | 
| 356 | 
            +
              Generated on Thu Oct  3 00:38:48 2019 by
         | 
| 357 357 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 358 358 | 
             
              0.9.20 (ruby-2.6.4).
         | 
| 359 359 | 
             
            </div>
         | 
| @@ -353,7 +353,7 @@ | |
| 353 353 | 
             
            </div>
         | 
| 354 354 |  | 
| 355 355 | 
             
                  <div id="footer">
         | 
| 356 | 
            -
              Generated on  | 
| 356 | 
            +
              Generated on Thu Oct  3 00:38:48 2019 by
         | 
| 357 357 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 358 358 | 
             
              0.9.20 (ruby-2.6.4).
         | 
| 359 359 | 
             
            </div>
         | 
    
        data/docs/_index.html
    CHANGED
    
    | @@ -156,7 +156,7 @@ | |
| 156 156 | 
             
            </div>
         | 
| 157 157 |  | 
| 158 158 | 
             
                  <div id="footer">
         | 
| 159 | 
            -
              Generated on  | 
| 159 | 
            +
              Generated on Thu Oct  3 00:38:48 2019 by
         | 
| 160 160 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 161 161 | 
             
              0.9.20 (ruby-2.6.4).
         | 
| 162 162 | 
             
            </div>
         | 
    
        data/docs/file.README.html
    CHANGED
    
    | @@ -59,6 +59,8 @@ | |
| 59 59 |  | 
| 60 60 | 
             
                  <div id="content"><div id='filecontents'><h1>ruff</h1>
         | 
| 61 61 |  | 
| 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 | 
            +
             | 
| 62 64 | 
             
            <p>ONE-SHOT Algebraic Effects Library for Ruby!</p>
         | 
| 63 65 |  | 
| 64 66 | 
             
            <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ruff</span><span class='tstring_end'>"</span></span>
         | 
| @@ -98,7 +100,7 @@ | |
| 98 100 | 
             
            </div></div>
         | 
| 99 101 |  | 
| 100 102 | 
             
                  <div id="footer">
         | 
| 101 | 
            -
              Generated on  | 
| 103 | 
            +
              Generated on Thu Oct  3 00:38:48 2019 by
         | 
| 102 104 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 103 105 | 
             
              0.9.20 (ruby-2.6.4).
         | 
| 104 106 | 
             
            </div>
         | 
    
        data/docs/index.html
    CHANGED
    
    | @@ -59,6 +59,8 @@ | |
| 59 59 |  | 
| 60 60 | 
             
                  <div id="content"><div id='filecontents'><h1>ruff</h1>
         | 
| 61 61 |  | 
| 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 | 
            +
             | 
| 62 64 | 
             
            <p>ONE-SHOT Algebraic Effects Library for Ruby!</p>
         | 
| 63 65 |  | 
| 64 66 | 
             
            <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ruff</span><span class='tstring_end'>"</span></span>
         | 
| @@ -98,7 +100,7 @@ | |
| 98 100 | 
             
            </div></div>
         | 
| 99 101 |  | 
| 100 102 | 
             
                  <div id="footer">
         | 
| 101 | 
            -
              Generated on  | 
| 103 | 
            +
              Generated on Thu Oct  3 00:38:48 2019 by
         | 
| 102 104 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 103 105 | 
             
              0.9.20 (ruby-2.6.4).
         | 
| 104 106 | 
             
            </div>
         | 
    
        data/docs/method_list.html
    CHANGED
    
    | @@ -156,6 +156,14 @@ | |
| 156 156 | 
             
              </li>
         | 
| 157 157 |  | 
| 158 158 |  | 
| 159 | 
            +
              <li class="odd ">
         | 
| 160 | 
            +
                <div class="item">
         | 
| 161 | 
            +
                  <span class='object_link'><a href="Ruff/Handler.html#to-instance_method" title="Ruff::Handler#to (method)">#to</a></span>
         | 
| 162 | 
            +
                  <small>Ruff::Handler</small>
         | 
| 163 | 
            +
                </div>
         | 
| 164 | 
            +
              </li>
         | 
| 165 | 
            +
              
         | 
| 166 | 
            +
             | 
| 159 167 |  | 
| 160 168 | 
             
                  </ul>
         | 
| 161 169 | 
             
                </div>
         | 
| @@ -100,7 +100,7 @@ | |
| 100 100 | 
             
            </div>
         | 
| 101 101 |  | 
| 102 102 | 
             
                  <div id="footer">
         | 
| 103 | 
            -
              Generated on  | 
| 103 | 
            +
              Generated on Thu Oct  3 00:38:48 2019 by
         | 
| 104 104 | 
             
              <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
         | 
| 105 105 | 
             
              0.9.20 (ruby-2.6.4).
         | 
| 106 106 | 
             
            </div>
         | 
    
        data/lib/ruff/handler.rb
    CHANGED
    
    | @@ -1,40 +1,94 @@ | |
| 1 | 
            +
            require 'securerandom'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # In algebraic effects, handler is an first-class object.
         | 
| 1 4 | 
             
            class Ruff::Handler
         | 
| 2 5 | 
             
              include Ruff::Throws
         | 
| 3 | 
            -
             | 
| 6 | 
            +
             | 
| 7 | 
            +
              @valh_id = SecureRandom.uuid
         | 
| 8 | 
            +
             | 
| 4 9 | 
             
              # makes a new handler, internally having fresh empty hash.
         | 
| 10 | 
            +
              #
         | 
| 5 11 | 
             
              # This is a effect-handler store and when handliong it is looked up.
         | 
| 12 | 
            +
              # Value handler is set `id` function to by default.
         | 
| 13 | 
            +
              #
         | 
| 6 14 | 
             
              # @example
         | 
| 7 15 | 
             
              #   handler = Handler.new
         | 
| 16 | 
            +
             | 
| 8 17 | 
             
              def initialize
         | 
| 9 18 | 
             
                @handlers = Hash.new
         | 
| 19 | 
            +
                @handlers[@valh_id] = ->(x) { x }
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
             | 
| 22 | 
            +
             | 
| 23 | 
            +
              # sets value handler `&fun`.
         | 
| 24 | 
            +
              #
         | 
| 25 | 
            +
              # Value handler is the handler for *the result value of the computation*.
         | 
| 26 | 
            +
              # For example, `Handler.new.to{|_x| 0}.run { value }` results in `0` .
         | 
| 27 | 
            +
              #
         | 
| 28 | 
            +
              # The value handler modifies the result of the call of continuation in effect handlers of the handler.
         | 
| 29 | 
            +
              #
         | 
| 30 | 
            +
              # @param [Proc<A, B>] fun
         | 
| 31 | 
            +
              #   value handler
         | 
| 32 | 
            +
              # @return [Handler<A!{e}, B!{e'}>]
         | 
| 33 | 
            +
              #
         | 
| 34 | 
            +
              # @example
         | 
| 35 | 
            +
              #   logs = []
         | 
| 36 | 
            +
              #   handler.on(Log) {|k, msg|
         | 
| 37 | 
            +
              #     logs << msg
         | 
| 38 | 
            +
              #     k[]
         | 
| 39 | 
            +
              #   }.to {|x|
         | 
| 40 | 
            +
              #    logs.each {|log|
         | 
| 41 | 
            +
              #      puts "Logger: #{log}"
         | 
| 42 | 
            +
              #    }
         | 
| 43 | 
            +
              #
         | 
| 44 | 
            +
              #     puts "returns #{x}"
         | 
| 45 | 
            +
              #   }
         | 
| 46 | 
            +
              #   .run {
         | 
| 47 | 
            +
              #     Log.perform "hello"
         | 
| 48 | 
            +
              #     Log.perform "world"
         | 
| 49 | 
            +
              #     "!"
         | 
| 50 | 
            +
              #   }
         | 
| 51 | 
            +
              #
         | 
| 52 | 
            +
              #   ## ==>
         | 
| 53 | 
            +
              #   # msg>> hello
         | 
| 54 | 
            +
              #   # msg>> world
         | 
| 55 | 
            +
              #   # returns !
         | 
| 56 | 
            +
             | 
| 57 | 
            +
              def to(&fun)
         | 
| 58 | 
            +
                @handlers[@valh_id] = fun
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                self
         | 
| 10 61 | 
             
              end
         | 
| 11 62 |  | 
| 12 | 
            -
              # sets effec handler `& | 
| 63 | 
            +
              # sets effec handler `&fun` for `eff`
         | 
| 13 64 | 
             
              #
         | 
| 14 65 | 
             
              # @param [Effect<Arg, Ret>] eff
         | 
| 15 66 | 
             
              #   the effect instance to be handled
         | 
| 16 | 
            -
              # @param [Proc<Arg, Ret => A>]  | 
| 67 | 
            +
              # @param [Proc<Arg, Ret => A>] fun
         | 
| 17 68 | 
             
              #   a handler to handle `eff`;
         | 
| 18 | 
            -
              #   First argument of `& | 
| 69 | 
            +
              #   First argument of `&fun` is *continuation*, proc object
         | 
| 19 70 | 
             
              #   to go back to the handled computation.
         | 
| 20 | 
            -
              # @return [Handler{Effect<Arg, Ret>, e}] itself updated with handling `Effect<Arg, Ret>`
         | 
| 71 | 
            +
              # @return [Handler<A!{Effect<Arg, Ret>, e}, B!{e}>] itself updated with handling `Effect<Arg, Ret>`
         | 
| 21 72 | 
             
              #
         | 
| 22 73 | 
             
              # @example
         | 
| 23 74 | 
             
              #   handler.on(Log) {|k, msg|
         | 
| 24 75 | 
             
              #     puts "Logger: #{msg}"
         | 
| 25 76 | 
             
              #     k[]
         | 
| 26 77 | 
             
              #   }
         | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 78 | 
            +
             | 
| 79 | 
            +
              def on(eff, &fun)
         | 
| 80 | 
            +
                @handlers[eff.id] = fun
         | 
| 29 81 |  | 
| 30 82 | 
             
                self
         | 
| 31 83 | 
             
              end
         | 
| 32 84 |  | 
| 33 | 
            -
              # @param [Proc<(), T>] prc
         | 
| 34 | 
            -
              # @return [T]
         | 
| 35 | 
            -
              #
         | 
| 36 85 | 
             
              # handles the computation.
         | 
| 37 86 | 
             
              #
         | 
| 87 | 
            +
              # @param [Proc<(), A>] prc
         | 
| 88 | 
            +
              #   a thunk to be handled and returns `A`
         | 
| 89 | 
            +
              # @return [B]
         | 
| 90 | 
            +
              #   a value modified by value handler `Proc<A, B>` , or returned from the effect handler throwing continuation away
         | 
| 91 | 
            +
              #
         | 
| 38 92 | 
             
              # @example
         | 
| 39 93 | 
             
              #   handler.run {
         | 
| 40 94 | 
             
              #     Log.perform "hello"
         | 
| @@ -50,6 +104,7 @@ class Ruff::Handler | |
| 50 104 | 
             
              #         Log.perform 3
         | 
| 51 105 | 
             
              #     }
         | 
| 52 106 | 
             
              #   }
         | 
| 107 | 
            +
             | 
| 53 108 | 
             
              def run(&prc)
         | 
| 54 109 | 
             
                co = Fiber.new &prc
         | 
| 55 110 | 
             
                continue = nil
         | 
| @@ -69,7 +124,7 @@ class Ruff::Handler | |
| 69 124 | 
             
                      Fiber.yield (Resend.new r, rehandles[r.k])
         | 
| 70 125 | 
             
                    end
         | 
| 71 126 | 
             
                  else
         | 
| 72 | 
            -
                    r
         | 
| 127 | 
            +
                    @handlers[@valh_id].(r)
         | 
| 73 128 | 
             
                  end
         | 
| 74 129 | 
             
                }
         | 
| 75 130 |  | 
    
        data/lib/ruff/version.rb
    CHANGED
    
    
    
        data/ruff.gemspec
    CHANGED
    
    
    
        data/version.h
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            #define RUFF_VERSION "0.0. | 
| 1 | 
            +
            #define RUFF_VERSION "0.0.7"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ruff
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - nymphium
         | 
| @@ -83,7 +83,7 @@ homepage: https://github.com/nymphium/ruff | |
| 83 83 | 
             
            licenses:
         | 
| 84 84 | 
             
            - MIT
         | 
| 85 85 | 
             
            metadata:
         | 
| 86 | 
            -
               | 
| 86 | 
            +
              documentation_uri: https://nymphium.github.io/ruff
         | 
| 87 87 | 
             
            post_install_message: 
         | 
| 88 88 | 
             
            rdoc_options: []
         | 
| 89 89 | 
             
            require_paths:
         |