rubylog 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. data/.document +5 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +18 -0
  4. data/Gemfile.lock +64 -0
  5. data/LICENSE.txt +20 -0
  6. data/README.rdoc +96 -0
  7. data/Rakefile +53 -0
  8. data/VERSION +1 -0
  9. data/examples/4queens.rb +10 -0
  10. data/examples/calculation.rb +12 -0
  11. data/examples/concepts.rb +46 -0
  12. data/examples/factorial.rb +16 -0
  13. data/examples/fp.rb +56 -0
  14. data/examples/hello.rb +9 -0
  15. data/examples/historia_de_espana.rb +31 -0
  16. data/examples/idea.rb +143 -0
  17. data/examples/lists.rb +5 -0
  18. data/examples/mechanika.rb +409 -0
  19. data/examples/parse.rb +15 -0
  20. data/examples/theory.rb +20 -0
  21. data/lib/array.rb +24 -0
  22. data/lib/class.rb +11 -0
  23. data/lib/method.rb +4 -0
  24. data/lib/object.rb +5 -0
  25. data/lib/proc.rb +4 -0
  26. data/lib/rubylog/builtins.rb +193 -0
  27. data/lib/rubylog/callable.rb +20 -0
  28. data/lib/rubylog/clause.rb +113 -0
  29. data/lib/rubylog/composite_term.rb +38 -0
  30. data/lib/rubylog/dsl/constants.rb +15 -0
  31. data/lib/rubylog/dsl/first_order_functors.rb +9 -0
  32. data/lib/rubylog/dsl/global_functors.rb +3 -0
  33. data/lib/rubylog/dsl/second_order_functors.rb +8 -0
  34. data/lib/rubylog/dsl.rb +52 -0
  35. data/lib/rubylog/errors.rb +18 -0
  36. data/lib/rubylog/internal_helpers.rb +16 -0
  37. data/lib/rubylog/predicate.rb +34 -0
  38. data/lib/rubylog/proc_method_additions.rb +69 -0
  39. data/lib/rubylog/term.rb +20 -0
  40. data/lib/rubylog/theory.rb +133 -0
  41. data/lib/rubylog/unifiable.rb +19 -0
  42. data/lib/rubylog/variable.rb +97 -0
  43. data/lib/rubylog.rb +39 -0
  44. data/lib/symbol.rb +35 -0
  45. data/rubylog.gemspec +187 -0
  46. data/script/inriasuite2spec +0 -0
  47. data/script/inriasuite2spec.pl +22 -0
  48. data/spec/bartak_guide_spec.rb +91 -0
  49. data/spec/inriasuite/README +122 -0
  50. data/spec/inriasuite/abolish +18 -0
  51. data/spec/inriasuite/and +9 -0
  52. data/spec/inriasuite/arg +32 -0
  53. data/spec/inriasuite/arith_diff +10 -0
  54. data/spec/inriasuite/arith_eq +10 -0
  55. data/spec/inriasuite/arith_gt +10 -0
  56. data/spec/inriasuite/arith_gt= +10 -0
  57. data/spec/inriasuite/arith_lt +10 -0
  58. data/spec/inriasuite/arith_lt= +10 -0
  59. data/spec/inriasuite/asserta +18 -0
  60. data/spec/inriasuite/assertz +16 -0
  61. data/spec/inriasuite/atom +12 -0
  62. data/spec/inriasuite/atom_chars +19 -0
  63. data/spec/inriasuite/atom_codes +15 -0
  64. data/spec/inriasuite/atom_concat +19 -0
  65. data/spec/inriasuite/atom_length +12 -0
  66. data/spec/inriasuite/atomic +11 -0
  67. data/spec/inriasuite/bagof +31 -0
  68. data/spec/inriasuite/call +19 -0
  69. data/spec/inriasuite/catch-and-throw +16 -0
  70. data/spec/inriasuite/char_code +13 -0
  71. data/spec/inriasuite/clause +16 -0
  72. data/spec/inriasuite/compound +12 -0
  73. data/spec/inriasuite/copy_term +25 -0
  74. data/spec/inriasuite/current_input +5 -0
  75. data/spec/inriasuite/current_output +5 -0
  76. data/spec/inriasuite/current_predicate +16 -0
  77. data/spec/inriasuite/current_prolog_flag +12 -0
  78. data/spec/inriasuite/cut +9 -0
  79. data/spec/inriasuite/fail +15 -0
  80. data/spec/inriasuite/file_manip +8 -0
  81. data/spec/inriasuite/findall +22 -0
  82. data/spec/inriasuite/float +10 -0
  83. data/spec/inriasuite/functor +41 -0
  84. data/spec/inriasuite/functor-bis +41 -0
  85. data/spec/inriasuite/halt +7 -0
  86. data/spec/inriasuite/if-then +10 -0
  87. data/spec/inriasuite/if-then-else +12 -0
  88. data/spec/inriasuite/inriasuite.obp +0 -0
  89. data/spec/inriasuite/inriasuite.pl +836 -0
  90. data/spec/inriasuite/integer +10 -0
  91. data/spec/inriasuite/is +11 -0
  92. data/spec/inriasuite/junk +0 -0
  93. data/spec/inriasuite/nonvar +11 -0
  94. data/spec/inriasuite/not_provable +12 -0
  95. data/spec/inriasuite/not_unify +15 -0
  96. data/spec/inriasuite/number +10 -0
  97. data/spec/inriasuite/number_chars +22 -0
  98. data/spec/inriasuite/number_codes +19 -0
  99. data/spec/inriasuite/once +11 -0
  100. data/spec/inriasuite/or +9 -0
  101. data/spec/inriasuite/repeat +5 -0
  102. data/spec/inriasuite/retract +10 -0
  103. data/spec/inriasuite/set_prolog_flag +21 -0
  104. data/spec/inriasuite/setof +36 -0
  105. data/spec/inriasuite/sub_atom +30 -0
  106. data/spec/inriasuite/t +1 -0
  107. data/spec/inriasuite/t_foo.pl +4 -0
  108. data/spec/inriasuite/term_diff +13 -0
  109. data/spec/inriasuite/term_eq +12 -0
  110. data/spec/inriasuite/term_gt +12 -0
  111. data/spec/inriasuite/term_gt= +12 -0
  112. data/spec/inriasuite/term_lt +12 -0
  113. data/spec/inriasuite/term_lt= +12 -0
  114. data/spec/inriasuite/true +7 -0
  115. data/spec/inriasuite/unify +18 -0
  116. data/spec/inriasuite.rb +20 -0
  117. data/spec/recursion_spec.rb +18 -0
  118. data/spec/rubylog/builtins/splits_to.rb +18 -0
  119. data/spec/rubylog/clause_spec.rb +81 -0
  120. data/spec/rubylog/variable_spec.rb +25 -0
  121. data/spec/rubylog_spec.rb +914 -0
  122. data/spec/spec_helper.rb +12 -0
  123. data/spec/theory_spec.rb +1 -0
  124. metadata +339 -0
@@ -0,0 +1,12 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'rubylog'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+
12
+ end
@@ -0,0 +1 @@
1
+
metadata ADDED
@@ -0,0 +1,339 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubylog
3
+ version: !ruby/object:Gem::Version
4
+ hash: 31
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 0
10
+ segments_generated: true
11
+ version: 0.0.0
12
+ platform: ruby
13
+ authors:
14
+ - "Bern\xC3\xA1t Kall\xC3\xB3"
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2012-02-07 00:00:00 +01:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ prerelease: false
24
+ name: rspec
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ hash: 47
31
+ segments:
32
+ - 2
33
+ - 8
34
+ - 0
35
+ segments_generated: true
36
+ version: 2.8.0
37
+ requirement: *id001
38
+ type: :development
39
+ - !ruby/object:Gem::Dependency
40
+ prerelease: false
41
+ name: yard
42
+ version_requirements: &id002 !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ hash: 5
48
+ segments:
49
+ - 0
50
+ - 7
51
+ segments_generated: true
52
+ version: "0.7"
53
+ requirement: *id002
54
+ type: :development
55
+ - !ruby/object:Gem::Dependency
56
+ prerelease: false
57
+ name: rdoc
58
+ version_requirements: &id003 !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ hash: 31
64
+ segments:
65
+ - 3
66
+ - 12
67
+ segments_generated: true
68
+ version: "3.12"
69
+ requirement: *id003
70
+ type: :development
71
+ - !ruby/object:Gem::Dependency
72
+ prerelease: false
73
+ name: cucumber
74
+ version_requirements: &id004 !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ hash: 3
80
+ segments:
81
+ - 0
82
+ segments_generated: true
83
+ version: "0"
84
+ requirement: *id004
85
+ type: :development
86
+ - !ruby/object:Gem::Dependency
87
+ prerelease: false
88
+ name: bundler
89
+ version_requirements: &id005 !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ~>
93
+ - !ruby/object:Gem::Version
94
+ hash: 23
95
+ segments:
96
+ - 1
97
+ - 0
98
+ - 0
99
+ segments_generated: true
100
+ version: 1.0.0
101
+ requirement: *id005
102
+ type: :development
103
+ - !ruby/object:Gem::Dependency
104
+ prerelease: false
105
+ name: jeweler
106
+ version_requirements: &id006 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ~>
110
+ - !ruby/object:Gem::Version
111
+ hash: 49
112
+ segments:
113
+ - 1
114
+ - 8
115
+ - 3
116
+ segments_generated: true
117
+ version: 1.8.3
118
+ requirement: *id006
119
+ type: :development
120
+ - !ruby/object:Gem::Dependency
121
+ prerelease: false
122
+ name: simplecov
123
+ version_requirements: &id007 !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ hash: 3
129
+ segments:
130
+ - 0
131
+ segments_generated: true
132
+ version: "0"
133
+ requirement: *id007
134
+ type: :development
135
+ - !ruby/object:Gem::Dependency
136
+ prerelease: false
137
+ name: reek
138
+ version_requirements: &id008 !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ~>
142
+ - !ruby/object:Gem::Version
143
+ hash: 15
144
+ segments:
145
+ - 1
146
+ - 2
147
+ - 8
148
+ segments_generated: true
149
+ version: 1.2.8
150
+ requirement: *id008
151
+ type: :development
152
+ - !ruby/object:Gem::Dependency
153
+ prerelease: false
154
+ name: roodi
155
+ version_requirements: &id009 !ruby/object:Gem::Requirement
156
+ none: false
157
+ requirements:
158
+ - - ~>
159
+ - !ruby/object:Gem::Version
160
+ hash: 11
161
+ segments:
162
+ - 2
163
+ - 1
164
+ - 0
165
+ segments_generated: true
166
+ version: 2.1.0
167
+ requirement: *id009
168
+ type: :development
169
+ description: Rubylog is an embedded Prolog language and interpreter for Ruby.
170
+ email: kallo.bernat@gmail.com
171
+ executables: []
172
+
173
+ extensions: []
174
+
175
+ extra_rdoc_files:
176
+ - LICENSE.txt
177
+ - README.rdoc
178
+ files:
179
+ - .document
180
+ - .rspec
181
+ - Gemfile
182
+ - Gemfile.lock
183
+ - LICENSE.txt
184
+ - README.rdoc
185
+ - Rakefile
186
+ - VERSION
187
+ - examples/4queens.rb
188
+ - examples/calculation.rb
189
+ - examples/concepts.rb
190
+ - examples/factorial.rb
191
+ - examples/fp.rb
192
+ - examples/hello.rb
193
+ - examples/historia_de_espana.rb
194
+ - examples/idea.rb
195
+ - examples/lists.rb
196
+ - examples/mechanika.rb
197
+ - examples/parse.rb
198
+ - examples/theory.rb
199
+ - lib/array.rb
200
+ - lib/class.rb
201
+ - lib/method.rb
202
+ - lib/object.rb
203
+ - lib/proc.rb
204
+ - lib/rubylog.rb
205
+ - lib/rubylog/builtins.rb
206
+ - lib/rubylog/callable.rb
207
+ - lib/rubylog/clause.rb
208
+ - lib/rubylog/composite_term.rb
209
+ - lib/rubylog/dsl.rb
210
+ - lib/rubylog/dsl/constants.rb
211
+ - lib/rubylog/dsl/first_order_functors.rb
212
+ - lib/rubylog/dsl/global_functors.rb
213
+ - lib/rubylog/dsl/second_order_functors.rb
214
+ - lib/rubylog/errors.rb
215
+ - lib/rubylog/internal_helpers.rb
216
+ - lib/rubylog/predicate.rb
217
+ - lib/rubylog/proc_method_additions.rb
218
+ - lib/rubylog/term.rb
219
+ - lib/rubylog/theory.rb
220
+ - lib/rubylog/unifiable.rb
221
+ - lib/rubylog/variable.rb
222
+ - lib/symbol.rb
223
+ - rubylog.gemspec
224
+ - script/inriasuite2spec
225
+ - script/inriasuite2spec.pl
226
+ - spec/bartak_guide_spec.rb
227
+ - spec/inriasuite.rb
228
+ - spec/inriasuite/README
229
+ - spec/inriasuite/abolish
230
+ - spec/inriasuite/and
231
+ - spec/inriasuite/arg
232
+ - spec/inriasuite/arith_diff
233
+ - spec/inriasuite/arith_eq
234
+ - spec/inriasuite/arith_gt
235
+ - spec/inriasuite/arith_gt=
236
+ - spec/inriasuite/arith_lt
237
+ - spec/inriasuite/arith_lt=
238
+ - spec/inriasuite/asserta
239
+ - spec/inriasuite/assertz
240
+ - spec/inriasuite/atom
241
+ - spec/inriasuite/atom_chars
242
+ - spec/inriasuite/atom_codes
243
+ - spec/inriasuite/atom_concat
244
+ - spec/inriasuite/atom_length
245
+ - spec/inriasuite/atomic
246
+ - spec/inriasuite/bagof
247
+ - spec/inriasuite/call
248
+ - spec/inriasuite/catch-and-throw
249
+ - spec/inriasuite/char_code
250
+ - spec/inriasuite/clause
251
+ - spec/inriasuite/compound
252
+ - spec/inriasuite/copy_term
253
+ - spec/inriasuite/current_input
254
+ - spec/inriasuite/current_output
255
+ - spec/inriasuite/current_predicate
256
+ - spec/inriasuite/current_prolog_flag
257
+ - spec/inriasuite/cut
258
+ - spec/inriasuite/fail
259
+ - spec/inriasuite/file_manip
260
+ - spec/inriasuite/findall
261
+ - spec/inriasuite/float
262
+ - spec/inriasuite/functor
263
+ - spec/inriasuite/functor-bis
264
+ - spec/inriasuite/halt
265
+ - spec/inriasuite/if-then
266
+ - spec/inriasuite/if-then-else
267
+ - spec/inriasuite/inriasuite.obp
268
+ - spec/inriasuite/inriasuite.pl
269
+ - spec/inriasuite/integer
270
+ - spec/inriasuite/is
271
+ - spec/inriasuite/junk
272
+ - spec/inriasuite/nonvar
273
+ - spec/inriasuite/not_provable
274
+ - spec/inriasuite/not_unify
275
+ - spec/inriasuite/number
276
+ - spec/inriasuite/number_chars
277
+ - spec/inriasuite/number_codes
278
+ - spec/inriasuite/once
279
+ - spec/inriasuite/or
280
+ - spec/inriasuite/repeat
281
+ - spec/inriasuite/retract
282
+ - spec/inriasuite/set_prolog_flag
283
+ - spec/inriasuite/setof
284
+ - spec/inriasuite/sub_atom
285
+ - spec/inriasuite/t
286
+ - spec/inriasuite/t_foo.pl
287
+ - spec/inriasuite/term_diff
288
+ - spec/inriasuite/term_eq
289
+ - spec/inriasuite/term_gt
290
+ - spec/inriasuite/term_gt=
291
+ - spec/inriasuite/term_lt
292
+ - spec/inriasuite/term_lt=
293
+ - spec/inriasuite/true
294
+ - spec/inriasuite/unify
295
+ - spec/recursion_spec.rb
296
+ - spec/rubylog/builtins/splits_to.rb
297
+ - spec/rubylog/clause_spec.rb
298
+ - spec/rubylog/variable_spec.rb
299
+ - spec/rubylog_spec.rb
300
+ - spec/spec_helper.rb
301
+ - spec/theory_spec.rb
302
+ has_rdoc: true
303
+ homepage: https://github.com/cie/rubylog
304
+ licenses:
305
+ - MIT
306
+ post_install_message:
307
+ rdoc_options: []
308
+
309
+ require_paths:
310
+ - lib
311
+ required_ruby_version: !ruby/object:Gem::Requirement
312
+ none: false
313
+ requirements:
314
+ - - ">="
315
+ - !ruby/object:Gem::Version
316
+ hash: 3
317
+ segments:
318
+ - 0
319
+ segments_generated: true
320
+ version: "0"
321
+ required_rubygems_version: !ruby/object:Gem::Requirement
322
+ none: false
323
+ requirements:
324
+ - - ">="
325
+ - !ruby/object:Gem::Version
326
+ hash: 3
327
+ segments:
328
+ - 0
329
+ segments_generated: true
330
+ version: "0"
331
+ requirements: []
332
+
333
+ rubyforge_project:
334
+ rubygems_version: 1.3.7
335
+ signing_key:
336
+ specification_version: 3
337
+ summary: An embedded Prolog interpreter
338
+ test_files: []
339
+