-
solve
without a block returns an enumerator -
warning for singleton variables
-
nonvar
predicate
-
New features
-
Works with Ruby 1.9.3 and 2.0 (only
module X; extend Rubylog::Context
syntax)
-
-
Bug fixes
-
"a/b".file_in("a")
only succeeds once
-
-
Backwards incompatibilities
-
Rubylog.theory
renamed toKernel#rubylog
. -
file_in
includes directories and yields relative paths.dir_in
also yields relative paths. -
trace
has becameRubylog.trace
. -
Theory
has changed toContext
and it became a module. -
No more inclusion of theories (contexts).
-
Predicates do not have reference in the theory (context), they are only referenced from the subject class in closures of the functor methods.
-
Unification uses
eql?
instead of==
. This means5.0.is_not(5)
-
Theory#eval
removed. UseContext#instance_eval
. -
Removed
functor
, usepredicate
andpredicate_for
instead. The latter ones have a different syntax for indicating predicates, eg.".and() .false :true"
or"L.splits_to(H,T)"
-
Structure
is bound to the predicate it represents. The first argument ofStructure.new
is the predicate.S.structure(Predicate,Functor,Args)
now has 4 arguments. -
current_theory
is removed. -
No more real prefix functors, n-ary prefix functors are n+1-ary functors with the context object as the first argument. Use
predicate_for Rubylog::Context, "..."
. -
Rubylog::DefaultBuiltins
is replaced byRubylog
-
Theory#prove
was removed. UseContext#true?
-
Rubylog::Callable<tt> renamed to <tt>Rubylog::Goal
-
discontiguous
is removed. No more discontiguity checks. -
implicit
is removed. No implicit mode anymore. -
Theory#clear
is replaced byContext#initialize_context
. However, currently it only clearsdefault_subject
. -
CompositeTerm
is renamed toCompoundTerm
. -
rublog_compile_variables
is renamed to<tt>rubylog\_match\_variables</tt>, <tt>variable\_hashes</tt> is removed.
-
rubylog_variables_hash
removed
-
-
Features
-
Rspec integration
-
include
orextend
Rubylog::Context
into any class or object -
thats_not
-
Comments in indicators
-
New tracer
-
added
every
-
all builtins are available by default
-
-
Bug fixes