ruff 0.0.2 → 0.0.4

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: 3e1d601e4f8fc1c747d2e01df257b9b4c16924ee1c4f37802b5f7224b8ee6b9b
4
- data.tar.gz: 6c7d3dfffcdfce09b91a8c88fa509bc3d0e4adf02d6f2fe74af3db5556af1b97
3
+ metadata.gz: 85c3058b6dc3a127fb1b628e30bba0a89ab2dbd072fe095d9556c3c8b25dc651
4
+ data.tar.gz: 05516ee134251a84b56a7cfacfe99ba7c4d018d24e075f05ffef4fdf49d746ed
5
5
  SHA512:
6
- metadata.gz: 4119ed8d393989929859c02b5982403a00c1b0a64e3cd6de69803c63b1c6df71ca160c7f30f6b26f77c7cbd6d464475fdd282a14fe226953e35e818415168967
7
- data.tar.gz: 3fe820594df98146b5c6990d69d0e29af7691733042f9cdc22b02a31251913cc1825d899deb88d5150b50f414e94abca94248c6b54e7712088bbe4ab327791f8
6
+ metadata.gz: 3db24610735dffd6b3ef359d1bed6992c00bb236bc79c97437b4eb7e2d2b7deb412d3f9065837e7f16e9569f73982aec596bd95b343ca61743769adb06752b6d
7
+ data.tar.gz: a6471ea0b2118da453e03cc0a2a08a57e7f6c618707bf75cbdba9e70249893bff3830c97efc7b36c20c410dd05a1d29bf1e36bc993297910be18ba315e526f0e
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruff (0.0.2)
4
+ ruff (0.0.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -4,28 +4,29 @@ ruff
4
4
  ONE-SHOT Algebraic Effects Library for Ruby!
5
5
 
6
6
  ```ruby
7
- require 'ruff'
7
+ require "ruff"
8
8
 
9
9
  double = Ruff.instance
10
+ triple = Ruff.instance
10
11
  log = Ruff.instance
11
12
 
12
- h1 = Ruff.handler.on(double, ->(k, v){
13
- k[v * 2]
14
- })
13
+ h1 = Ruff.handler
14
+ .on(double){|k, v| k[v * 2] }
15
+ .on(triple){|k, v| k[v * 3] }
15
16
 
16
- h2 = Ruff.handler.on(log, ->(k, msg){
17
+ h2 = Ruff.handler.on(log){|k, msg|
17
18
  k[]
18
19
  puts "logger: #{msg}"
19
- })
20
+ }
20
21
 
21
22
  h1.run{
22
23
  h2.run{
23
24
  v = double.perform 2
24
25
  log.perform (v + 2)
25
- puts "ok"
26
+ puts triple.perform 3
26
27
  }
27
28
  }
28
29
  # ==> prints
29
- # ok
30
+ # 9
30
31
  # logger: 6
31
32
  ```
@@ -4,7 +4,7 @@ module Ruff
4
4
  @handlers = Hash.new
5
5
  end
6
6
 
7
- def on(eff, prc)
7
+ def on(eff, &prc)
8
8
  @handlers[eff.id] = prc
9
9
 
10
10
  self
@@ -44,9 +44,11 @@ module Ruff
44
44
  }
45
45
 
46
46
  ->(*args) {
47
- newh.run {
48
- k[*args]
49
- }
47
+ continue[
48
+ newh.run {
49
+ k[*args]
50
+ }
51
+ ]
50
52
  }
51
53
  }
52
54
 
@@ -1,3 +1,3 @@
1
1
  module Ruff
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.4"
3
3
  end
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.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - nymphium