unification 0.1.8 copy "unification: ^0.1.8" to clipboard
unification: ^0.1.8 copied to clipboard

outdated

Unification is an implementation of logical first-order unification. It follows Robinson's algorithm, and uses trampolining to avoid stack size limitation issues.

example/main.dart

import 'package:unification/src/terms.dart';
import 'package:unification/unification.dart';
import 'dart:collection';

void main() {
  Unification<String, String> u = new Unification<String, String>();

  var res1 = u.unify(
    List<Tupl<Var<String, String>, Var<String, String>>>()
      ..add(
        new Tupl<Var<String, String>, Var<String, String>>(
          new Var("a"),
          new Var("a"),
        ),
      ),
  );

  List<Tupl<String, Termtype<String, String>>> res2 = u.unify(
    List<Tupl<Var<String, String>, Var<String, String>>>()
      ..add(
        new Tupl(
          new Var<String, String>("a"),
          new Var<String, String>("b"),
        ),
      ),
  );
}
1
likes
0
pub points
0%
popularity

Publisher

verified publisherwelopment.com

Unification is an implementation of logical first-order unification. It follows Robinson's algorithm, and uses trampolining to avoid stack size limitation issues.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

tailcalls

More

Packages that depend on unification