unification 0.1.3 unification: ^0.1.3 copied to clipboard
Unification is an implementation of logical first-order unification. It follows Robinson's algorithm, and uses trampolining to avoid stack size limitation issues.
import '../lib/unification.dart';
import 'dart:collection';
void main() {
var res1 = unify(
List()
..add(
new Tupl(
1,
new Var("a"),
),
),
);
var res2 = unify(
List()
..add(
new Tupl(
new Var("a"),
new Var("b"),
),
),
);
}