algebrick 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -3
  3. data/README_FULL.md +13 -21
  4. data/VERSION +1 -1
  5. data/doc/actor.rb +21 -0
  6. data/doc/data.in.rb +99 -0
  7. data/doc/data.out.rb +103 -0
  8. data/doc/extending_behavior.in.rb +61 -0
  9. data/doc/extending_behavior.out.rb +62 -0
  10. data/doc/format.rb +75 -0
  11. data/doc/init.rb +1 -0
  12. data/doc/json.in.rb +39 -0
  13. data/doc/json.out.rb +43 -0
  14. data/doc/null.in.rb +36 -0
  15. data/doc/null.out.rb +40 -0
  16. data/doc/parametrized.in.rb +37 -0
  17. data/doc/parametrized.out.rb +41 -0
  18. data/doc/pattern_matching.in.rb +116 -0
  19. data/doc/pattern_matching.out.rb +122 -0
  20. data/doc/quick_example.in.rb +27 -0
  21. data/doc/quick_example.out.rb +27 -0
  22. data/doc/tree1.in.rb +10 -0
  23. data/doc/tree1.out.rb +10 -0
  24. data/doc/type_def.in.rb +21 -0
  25. data/doc/type_def.out.rb +21 -0
  26. data/doc/values.in.rb +52 -0
  27. data/doc/values.out.rb +58 -0
  28. data/lib/algebrick/atom.rb +49 -0
  29. data/lib/algebrick/dsl.rb +104 -0
  30. data/lib/algebrick/field_method_readers.rb +43 -0
  31. data/lib/algebrick/matcher_delegations.rb +45 -0
  32. data/lib/algebrick/matchers/abstract.rb +127 -0
  33. data/lib/algebrick/matchers/abstract_logic.rb +38 -0
  34. data/lib/algebrick/matchers/and.rb +29 -0
  35. data/lib/algebrick/matchers/any.rb +37 -0
  36. data/lib/algebrick/matchers/array.rb +57 -0
  37. data/lib/algebrick/matchers/atom.rb +28 -0
  38. data/lib/algebrick/matchers/not.rb +44 -0
  39. data/lib/algebrick/matchers/or.rb +51 -0
  40. data/lib/algebrick/matchers/product.rb +73 -0
  41. data/lib/algebrick/matchers/variant.rb +29 -0
  42. data/lib/algebrick/matchers/wrapper.rb +57 -0
  43. data/lib/algebrick/matchers.rb +31 -0
  44. data/lib/algebrick/matching.rb +62 -0
  45. data/lib/algebrick/parametrized_type.rb +122 -0
  46. data/lib/algebrick/product_constructors/abstract.rb +70 -0
  47. data/lib/algebrick/product_constructors/basic.rb +47 -0
  48. data/lib/algebrick/product_constructors/named.rb +58 -0
  49. data/lib/algebrick/product_constructors.rb +25 -0
  50. data/lib/algebrick/product_variant.rb +195 -0
  51. data/lib/algebrick/reclude.rb +39 -0
  52. data/lib/algebrick/serializer.rb +129 -0
  53. data/lib/algebrick/serializers.rb +25 -0
  54. data/lib/algebrick/type.rb +61 -0
  55. data/lib/algebrick/type_check.rb +58 -0
  56. data/lib/algebrick/types.rb +59 -0
  57. data/lib/algebrick/value.rb +41 -0
  58. data/lib/algebrick.rb +14 -1170
  59. data/spec/algebrick_test.rb +708 -0
  60. metadata +105 -27
metadata CHANGED
@@ -1,129 +1,129 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: algebrick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Petr Chalupa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-02 00:00:00.000000000 Z
11
+ date: 2014-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest-reporters
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: turn
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: yard
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: kramdown
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: github-markup
98
+ name: multi_json
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: multi_json
112
+ name: json
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  description: Provides algebraic type definitions and pattern matching
126
- email: git@pitr.ch
126
+ email: git+algebrick@pitr.ch
127
127
  executables: []
128
128
  extensions: []
129
129
  extra_rdoc_files:
@@ -131,12 +131,89 @@ extra_rdoc_files:
131
131
  - README.md
132
132
  - README_FULL.md
133
133
  - VERSION
134
+ - doc/actor.rb
135
+ - doc/data.in.rb
136
+ - doc/data.out.rb
137
+ - doc/extending_behavior.in.rb
138
+ - doc/extending_behavior.out.rb
139
+ - doc/format.rb
140
+ - doc/init.rb
141
+ - doc/json.in.rb
142
+ - doc/json.out.rb
143
+ - doc/null.in.rb
144
+ - doc/null.out.rb
145
+ - doc/parametrized.in.rb
146
+ - doc/parametrized.out.rb
147
+ - doc/pattern_matching.in.rb
148
+ - doc/pattern_matching.out.rb
149
+ - doc/quick_example.in.rb
150
+ - doc/quick_example.out.rb
151
+ - doc/tree1.in.rb
152
+ - doc/tree1.out.rb
153
+ - doc/type_def.in.rb
154
+ - doc/type_def.out.rb
155
+ - doc/values.in.rb
156
+ - doc/values.out.rb
134
157
  files:
135
- - lib/algebrick.rb
136
- - VERSION
137
158
  - LICENSE.txt
138
159
  - README.md
139
160
  - README_FULL.md
161
+ - VERSION
162
+ - doc/actor.rb
163
+ - doc/data.in.rb
164
+ - doc/data.out.rb
165
+ - doc/extending_behavior.in.rb
166
+ - doc/extending_behavior.out.rb
167
+ - doc/format.rb
168
+ - doc/init.rb
169
+ - doc/json.in.rb
170
+ - doc/json.out.rb
171
+ - doc/null.in.rb
172
+ - doc/null.out.rb
173
+ - doc/parametrized.in.rb
174
+ - doc/parametrized.out.rb
175
+ - doc/pattern_matching.in.rb
176
+ - doc/pattern_matching.out.rb
177
+ - doc/quick_example.in.rb
178
+ - doc/quick_example.out.rb
179
+ - doc/tree1.in.rb
180
+ - doc/tree1.out.rb
181
+ - doc/type_def.in.rb
182
+ - doc/type_def.out.rb
183
+ - doc/values.in.rb
184
+ - doc/values.out.rb
185
+ - lib/algebrick.rb
186
+ - lib/algebrick/atom.rb
187
+ - lib/algebrick/dsl.rb
188
+ - lib/algebrick/field_method_readers.rb
189
+ - lib/algebrick/matcher_delegations.rb
190
+ - lib/algebrick/matchers.rb
191
+ - lib/algebrick/matchers/abstract.rb
192
+ - lib/algebrick/matchers/abstract_logic.rb
193
+ - lib/algebrick/matchers/and.rb
194
+ - lib/algebrick/matchers/any.rb
195
+ - lib/algebrick/matchers/array.rb
196
+ - lib/algebrick/matchers/atom.rb
197
+ - lib/algebrick/matchers/not.rb
198
+ - lib/algebrick/matchers/or.rb
199
+ - lib/algebrick/matchers/product.rb
200
+ - lib/algebrick/matchers/variant.rb
201
+ - lib/algebrick/matchers/wrapper.rb
202
+ - lib/algebrick/matching.rb
203
+ - lib/algebrick/parametrized_type.rb
204
+ - lib/algebrick/product_constructors.rb
205
+ - lib/algebrick/product_constructors/abstract.rb
206
+ - lib/algebrick/product_constructors/basic.rb
207
+ - lib/algebrick/product_constructors/named.rb
208
+ - lib/algebrick/product_variant.rb
209
+ - lib/algebrick/reclude.rb
210
+ - lib/algebrick/serializer.rb
211
+ - lib/algebrick/serializers.rb
212
+ - lib/algebrick/type.rb
213
+ - lib/algebrick/type_check.rb
214
+ - lib/algebrick/types.rb
215
+ - lib/algebrick/value.rb
216
+ - spec/algebrick_test.rb
140
217
  homepage: https://github.com/pitr-ch/algebrick
141
218
  licenses:
142
219
  - Apache License 2.0
@@ -147,19 +224,20 @@ require_paths:
147
224
  - lib
148
225
  required_ruby_version: !ruby/object:Gem::Requirement
149
226
  requirements:
150
- - - '>='
227
+ - - ">="
151
228
  - !ruby/object:Gem::Version
152
229
  version: '0'
153
230
  required_rubygems_version: !ruby/object:Gem::Requirement
154
231
  requirements:
155
- - - '>='
232
+ - - ">="
156
233
  - !ruby/object:Gem::Version
157
234
  version: '0'
158
235
  requirements: []
159
236
  rubyforge_project:
160
- rubygems_version: 2.0.3
237
+ rubygems_version: 2.2.2
161
238
  signing_key:
162
239
  specification_version: 4
163
240
  summary: Algebraic types and pattern matching for Ruby
164
- test_files: []
241
+ test_files:
242
+ - spec/algebrick_test.rb
165
243
  has_rdoc: