unific 0.10 → 0.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0cffd941f46277c184647c88bea6f1f4109b19ff
4
+ data.tar.gz: 3f92e05f3920f8d3c547de271f9556987984ece6
5
+ SHA512:
6
+ metadata.gz: 6ec0c948ea62147038eb0f1d15ba82c7c1ac701acb0553c7af222e9359d3957d214a1a423173a5b15fa721fed486b5fb0817ba6e1d03355338c5e13d913d5bc8
7
+ data.tar.gz: 74d2195fe659a91cc25721684227e8ec75a8fa8550c17ed242ed0ca26c10edfd8945427dce0c665c64ed88f77e27677f0f63e6746b77a7cf8da15e36ed5d2677
@@ -1,3 +1,10 @@
1
+ === 0.11 / 2013-03-30
2
+
3
+ * Update database example to work with Ruby 1.9 (where hashes keep insertion
4
+ order).
5
+
6
+ * Minor documentation tweaks, including mentioning support for Ruby 2.0.0
7
+
1
8
  === 0.10 / 2012-01-30
2
9
 
3
10
  * Added a simple example program -- a mock database using unification for
@@ -12,7 +12,7 @@ Unific is a ruby unification engine.
12
12
 
13
13
  A unification engine is an essential part of a logic programming environment
14
14
  (the whole logic programming environment this is taken from is available as
15
- the in-development Rulog[http://github.com/jimwise/rulog]] (Ruby With Logic)
15
+ the in-development Rulog[http://github.com/jimwise/rulog] (Ruby With Logic)
16
16
  gem), but can also be useful on its own as a pattern matching engine which
17
17
  can enforce consistency across multiple matches.
18
18
 
@@ -20,7 +20,7 @@ can enforce consistency across multiple matches.
20
20
 
21
21
  To get started, include this gem using
22
22
 
23
- require 'rubygems'
23
+ require 'rubygems' # only need on Ruby 1.8.x, but harmless elsewhere
24
24
  require 'unific'
25
25
 
26
26
  This gem provides the Unific module. This module provides several methods
@@ -288,8 +288,8 @@ and generate the RDoc.
288
288
 
289
289
  == REQUIREMENTS:
290
290
 
291
- This gem is tested and should run fine under Ruby 1.8.7 or 1.9. If you
292
- experience any issues, please let me know.
291
+ This gem is tested and should run fine under Ruby 1.8.7, 1.9.x, or 2.0.x.
292
+ If you experience any issues, please let me know.
293
293
 
294
294
  == LICENSE:
295
295
 
data/README.txt CHANGED
@@ -12,7 +12,7 @@ Unific is a ruby unification engine.
12
12
 
13
13
  A unification engine is an essential part of a logic programming environment
14
14
  (the whole logic programming environment this is taken from is available as
15
- the in-development Rulog[http://github.com/jimwise/rulog]] (Ruby With Logic)
15
+ the in-development Rulog[http://github.com/jimwise/rulog] (Ruby With Logic)
16
16
  gem), but can also be useful on its own as a pattern matching engine which
17
17
  can enforce consistency across multiple matches.
18
18
 
@@ -20,7 +20,7 @@ can enforce consistency across multiple matches.
20
20
 
21
21
  To get started, include this gem using
22
22
 
23
- require 'rubygems'
23
+ require 'rubygems' # only need on Ruby 1.8.x, but harmless elsewhere
24
24
  require 'unific'
25
25
 
26
26
  This gem provides the Unific module. This module provides several methods
@@ -288,8 +288,8 @@ and generate the RDoc.
288
288
 
289
289
  == REQUIREMENTS:
290
290
 
291
- This gem is tested and should run fine under Ruby 1.8.7 or 1.9. If you
292
- experience any issues, please let me know.
291
+ This gem is tested and should run fine under Ruby 1.8.7, 1.9.x, or 2.0.x.
292
+ If you experience any issues, please let me know.
293
293
 
294
294
  == LICENSE:
295
295
 
@@ -13,11 +13,14 @@ DATA = [
13
13
 
14
14
  # q is a hash with one or more values filled in
15
15
  def query q
16
- q2 = q.clone
17
- KEYS.each {|k| q2[k] ||= Unific::_}
16
+ q2 = {}
17
+ # note that as of Ruby 1.9, order matters
18
+ KEYS.each {|k| q2[k] = q[k] = Unific::_}
18
19
  r = DATA.select {|d| Unific::unify d, q2}
19
20
  end
20
21
 
22
+ Unific::trace if ENV['UNIFIC_TRACE']
23
+
21
24
  johns = query :first => "John"
22
25
  forties = query :age => 40
23
26
  john_forties = query :first => "John", :age => 40
@@ -2,7 +2,7 @@ require 'singleton'
2
2
 
3
3
  module Unific
4
4
 
5
- VERSION = '0.10'
5
+ VERSION = '0.11'
6
6
 
7
7
  # An environment (set of variable bindings) resulting from unification
8
8
  class Env
metadata CHANGED
@@ -1,50 +1,51 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unific
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.10'
5
- prerelease:
4
+ version: '0.11'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jim Wise
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-01-30 00:00:00.000000000 Z
11
+ date: 2013-03-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rdoc
16
- requirement: &69349280 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
19
  version: '3.10'
22
20
  type: :development
23
21
  prerelease: false
24
- version_requirements: *69349280
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '3.10'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: hoe
27
- requirement: &69349010 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ~>
31
32
  - !ruby/object:Gem::Version
32
- version: '2.13'
33
+ version: '3.5'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *69349010
36
- description: ! 'Unific is a ruby unification engine.
37
-
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '3.5'
41
+ description: |-
42
+ Unific is a ruby unification engine.
38
43
 
39
44
  A unification engine is an essential part of a logic programming environment
40
-
41
45
  (the whole logic programming environment this is taken from is available as
42
-
43
- the in-development Rulog[http://github.com/jimwise/rulog]] (Ruby With Logic)
44
-
46
+ the in-development Rulog[http://github.com/jimwise/rulog] (Ruby With Logic)
45
47
  gem), but can also be useful on its own as a pattern matching engine which
46
-
47
- can enforce consistency across multiple matches.'
48
+ can enforce consistency across multiple matches.
48
49
  email:
49
50
  - jwise@draga.com
50
51
  executables: []
@@ -52,6 +53,7 @@ extensions: []
52
53
  extra_rdoc_files:
53
54
  - History.txt
54
55
  - Manifest.txt
56
+ - README.rdoc
55
57
  - README.txt
56
58
  files:
57
59
  - .autotest
@@ -66,29 +68,28 @@ files:
66
68
  - .gemtest
67
69
  homepage: https://github.com/jimwise/unific
68
70
  licenses: []
71
+ metadata: {}
69
72
  post_install_message:
70
73
  rdoc_options:
71
74
  - --main
72
- - README.txt
75
+ - README.rdoc
73
76
  require_paths:
74
77
  - lib
75
78
  required_ruby_version: !ruby/object:Gem::Requirement
76
- none: false
77
79
  requirements:
78
- - - ! '>='
80
+ - - '>='
79
81
  - !ruby/object:Gem::Version
80
82
  version: '0'
81
83
  required_rubygems_version: !ruby/object:Gem::Requirement
82
- none: false
83
84
  requirements:
84
- - - ! '>='
85
+ - - '>='
85
86
  - !ruby/object:Gem::Version
86
87
  version: '0'
87
88
  requirements: []
88
89
  rubyforge_project: unific
89
- rubygems_version: 1.8.15
90
+ rubygems_version: 2.0.0
90
91
  signing_key:
91
- specification_version: 3
92
+ specification_version: 4
92
93
  summary: Unific is a ruby unification engine
93
94
  test_files:
94
95
  - test/test_unific.rb