mini_kraken 0.1.03 → 0.1.04
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Build Status](https://travis-ci.org/famished-tiger/mini_kraken.svg?branch=master)](https://travis-ci.org/famished-tiger/mini_kraken)
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/mini_kraken.svg)](https://badge.fury.io/rb/mini_kraken)
|
4
|
+
[![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](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
|