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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +9 -8
- data/lib/ruff/handler.rb +6 -4
- data/lib/ruff/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85c3058b6dc3a127fb1b628e30bba0a89ab2dbd072fe095d9556c3c8b25dc651
|
4
|
+
data.tar.gz: 05516ee134251a84b56a7cfacfe99ba7c4d018d24e075f05ffef4fdf49d746ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3db24610735dffd6b3ef359d1bed6992c00bb236bc79c97437b4eb7e2d2b7deb412d3f9065837e7f16e9569f73982aec596bd95b343ca61743769adb06752b6d
|
7
|
+
data.tar.gz: a6471ea0b2118da453e03cc0a2a08a57e7f6c618707bf75cbdba9e70249893bff3830c97efc7b36c20c410dd05a1d29bf1e36bc993297910be18ba315e526f0e
|
data/Gemfile.lock
CHANGED
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
|
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
|
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
|
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
|
26
|
+
puts triple.perform 3
|
26
27
|
}
|
27
28
|
}
|
28
29
|
# ==> prints
|
29
|
-
#
|
30
|
+
# 9
|
30
31
|
# logger: 6
|
31
32
|
```
|
data/lib/ruff/handler.rb
CHANGED
@@ -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
|
-
|
48
|
-
|
49
|
-
|
47
|
+
continue[
|
48
|
+
newh.run {
|
49
|
+
k[*args]
|
50
|
+
}
|
51
|
+
]
|
50
52
|
}
|
51
53
|
}
|
52
54
|
|
data/lib/ruff/version.rb
CHANGED