mini_kraken 0.1.03 → 0.1.04
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -3
- data/README.md +20 -1
- data/lib/mini_kraken/version.rb +1 -1
- data/spec/glue/run_star_expression_spec.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9ef423350ba09d43e77f4fbd981cfb9387f74c0581d19cda817b4db907501de3
|
|
4
|
+
data.tar.gz: de34208e9dba617b72435c552d4628be97808db2e0b2db27b12b8c31ab865d16
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dca643b61f43edb431aa3773f9da8e41381823cc0d8af2bb4401d8851cdc5c63994eb0c927e2daf8698b670236db42f4ca9a45d7abcaccd884f51ec9b72f2ac6
|
|
7
|
+
data.tar.gz: eebe8f8c53bc43c6d26704de26067644a225ad780b1d2aba601dd1a24641a58eaef1b502efba6d37dcf77ea36213145d1be8122f15b5ad48d154012f970bd618
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
## [0.1.04] - 2020-05-02
|
|
2
|
+
### Changed
|
|
3
|
+
- File `README.md` Added "What is mini_kraken" text.
|
|
4
|
+
- File `README.md` Added badges (CI Travis build status, Gem version, license)
|
|
5
|
+
|
|
1
6
|
## [0.1.03] - 2020-05-01
|
|
2
7
|
Passes all frames 1:1 up to 1:47 of "Reasoned Schemer" book
|
|
3
8
|
|
|
9
|
+
### Fixed
|
|
10
|
+
- Fresh variables are now correctly 'reified' according to the convention in "Reasoned Schemer".
|
|
11
|
+
|
|
4
12
|
## [0.1.02] - 2020-04-28
|
|
5
13
|
Major code refactoring. Passes all frames 1:1 up to 1:36 of "Reasoned Schemer" book
|
|
6
14
|
|
|
@@ -11,9 +19,6 @@ First code commit
|
|
|
11
19
|
- File `CHANGELOG.md`. This file. Adopting `keepachangelog.com` recommended format.
|
|
12
20
|
- File `min_kraken.gemspec` Updated gem description.
|
|
13
21
|
|
|
14
|
-
### Changed
|
|
15
|
-
- File `README.md` added badges (Appveyor build status, Gem version, license)
|
|
16
|
-
|
|
17
22
|
## [0.1.0] - 2020-02-05
|
|
18
23
|
### Added
|
|
19
24
|
- Initial Github commit as new project
|
data/README.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# MiniKraken
|
|
2
|
-
|
|
2
|
+
[](https://travis-ci.org/famished-tiger/mini_kraken)
|
|
3
|
+
[](https://badge.fury.io/rb/mini_kraken)
|
|
4
|
+
[](https://github.com/famished-tiger/mini_kraken/blob/master/LICENSE.txt)
|
|
5
|
+
|
|
6
|
+
### What is __mini_kraken__ ?
|
|
7
|
+
An implemention of the [miniKanren](http://minikanren.org/) relational programming language in Ruby.
|
|
8
|
+
*miniKanren* is a small language for relational (logic) programming.
|
|
9
|
+
Based on the reference implementation, in Scheme from the "The Reasoned Schemer" book.
|
|
10
|
+
Daniel P. Friedman, William E. Byrd, Oleg Kiselyov, and Jason Hemann: "The Reasoned Schemer", Second Edition,
|
|
11
|
+
ISBN: 9780262535519, (2018), MIT Press.
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
[X] ==
|
|
15
|
+
[X] run\*
|
|
16
|
+
[X] fresh
|
|
17
|
+
|
|
18
|
+
### TODO
|
|
19
|
+
[-] disj2
|
|
20
|
+
[-] conj2
|
|
21
|
+
[-] conde
|
|
3
22
|
|
|
4
23
|
## Installation
|
|
5
24
|
|
data/lib/mini_kraken/version.rb
CHANGED
|
@@ -108,7 +108,7 @@ module MiniKraken
|
|
|
108
108
|
expect(result.car).to eq(any_value(0))
|
|
109
109
|
end
|
|
110
110
|
|
|
111
|
-
it 'should keep variable fresh when no unification occurs (
|
|
111
|
+
it 'should keep variable fresh when no unification occurs (II)' do
|
|
112
112
|
ref1_q = Core::VariableRef.new('q')
|
|
113
113
|
ref2_q = Core::VariableRef.new('q')
|
|
114
114
|
goal = equals_goal(ref1_q, ref2_q)
|
|
@@ -221,7 +221,7 @@ module MiniKraken
|
|
|
221
221
|
expect(result.car).to eq(pea)
|
|
222
222
|
end
|
|
223
223
|
|
|
224
|
-
it 'should unify complex equality expressions (
|
|
224
|
+
it 'should unify complex equality expressions (III)' do
|
|
225
225
|
expr1 = cons(cons(cons(ref_q)), pod)
|
|
226
226
|
expr2 = cons(cons(cons(ref_x)), pod)
|
|
227
227
|
goal = equals_goal(expr1, expr2)
|
|
@@ -236,7 +236,7 @@ module MiniKraken
|
|
|
236
236
|
expect(result.car).to eq(any_value(0))
|
|
237
237
|
end
|
|
238
238
|
|
|
239
|
-
it 'should unify complex equality expressions (
|
|
239
|
+
it 'should unify complex equality expressions (IV)' do
|
|
240
240
|
# Reasoned S2, frame 1:36
|
|
241
241
|
# (run* q (fresh (x) (== '(((,q)) (,x)) `(((,x)) pod)))) ;; => ('pod)
|
|
242
242
|
expr1 = cons(cons(cons(ref_q)), ref_x)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mini_kraken
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.04
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dimitri Geshef
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-05-
|
|
11
|
+
date: 2020-05-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|