## [0.1.09] - 2020-06-06 - Supports frames from "The Reasoned Scheme" book up to frame [1:76] ### CHANGED - Method `FreshEnv#initialize`accepts an array of goals as second argument. This array is transformed into a conjunction of goals. - Method `RunStarExpression#initialize` accepts multiple multiple variable names and goals. - Method `RunStarExpression#run` can handle solutions with multiple variables. ## [0.1.08] - 2020-05-30 - Fix of nasty bug (object aliasing) that caused flaky failures in specs. ### FIXED - `DuckFiber#resume` each call returns a distinct `Outcome` instance when successful. ## [0.1.07] - 2020-05-23 - Implementation of `disj2` (two arguments disjunction - or -) ### New - Class `Disj2` as subclass of `GoalRelation` that implements the disjunction of two subgoals ### CHANGED - Class `Disj2`: common code with `Conj2` class factored out to superclass `GoalRelation` - File `cons_cell.rb`: prevent multiple inclusions via different requires - Method `Vocabulary#ancestor_walker` now returns an `Enumerator` instead of a `Fiber`. ### FIXED - Method `RunStarExpression#run` clear associations and rankings for second and consecutive solmutions ## [0.1.06] - 2020-05-20 - Implementation of `conj2` (two arguments conjunction - and -) ### New - Class `CompositeGoal` - Class `Conj2` as subclass of `GoalRelation` that implements the conjunction of two subgoals - Mixin module `Designation` to factor out the common methods in `Variable` and `VariableRef` classes - Class `GoalArg` abstract class, that is a generalization for anything that be be argument of a goal. - Class `GoalRelation` as subclass of `Relation`. A goal that is linked to a such relation may have goals as its arguments only. ### Changed - Class `Goal` is new subclass of class `GoalArg`. Therefore a goal can be an argument to another goal. - Class `Term` is new subclass of class `GoalArg`. Therefore a term can be an argument of a goal. - Classes `Variable`, `VariableRef` now include mix-in module `Designation` - File `cd_implementation.txt` Updated with changes of class relationship ## [0.1.05] - 2020-05-09 - Changed implementation of fused variables - Magic comments for frozen string literal - Code re-styling to please Rubocop 0.82 ### Changed - File `README.md` Added "What is mini_kraken" text. - File `README.md` Added badges (CI Travis build status, Gem version, license) ## [0.1.04] - 2020-05-02 ### Changed - File `README.md` Added "What is mini_kraken" text. - File `README.md` Added badges (CI Travis build status, Gem version, license) ## [0.1.03] - 2020-05-01 Passes all frames 1:1 up to 1:47 of "Reasoned Schemer" book ### Fixed - Fresh variables are now correctly 'reified' according to the convention in "Reasoned Schemer". ## [0.1.02] - 2020-04-28 Major code refactoring. Passes all frames 1:1 up to 1:36 of "Reasoned Schemer" book ## [0.1.01] - 2020-03-01 First code commit ### Added - In `Core` module: `Facade`, `Fail`, `FormalArg`, `Goal`, `NullaryRelation`, `Publisher`, `Relation`, `RunStarExpression`, `Succeed`, `Variable` - File `CHANGELOG.md`. This file. Adopting `keepachangelog.com` recommended format. - File `min_kraken.gemspec` Updated gem description. ## [0.1.0] - 2020-02-05 ### Added - Initial Github commit as new project