unification 0.0.1+1

  • README.md
  • Changelog.md
  • Installing
  • Versions
  • 45

unification

[unification] is a concrete implementation of logical first-order unification and library to apply a first-order unification procedure [unify] given by the library on two terms of [Termtype] given by the library.

A solution of a unification problem is a substitution, that is, a mapping assigning a symbolic value to each variable of the problem's expressions. The unification algorithm reports unsolvability for a given problem or computes a complete, and minimal singleton substitution set containing the so-called most general unifier, that is, a set covering all its solutions, and containing no redundant members.

Example:

import "package:tailcalls/tailcalls.dart";
import "package:unification/unification.dart";

var test = unify(
      new List()
        ..add(
          new Tupl(
            new Term("b0", [new Term("b1", []),new Term("b2", [])]),
            new Term("b0", [new Term("b1", []),new Term("b2", [])]),
          ),
        ),
    ).result();
var mgu = test;
print(mgu.toString());

Read more about unification in logic on Wikipedia.

Changelog

0.0.1

  • Initial release.

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  unification: "^0.0.1+1"

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:unification/unification.dart';
        
Version Uploaded Documentation Archive
0.0.1+1 Dec 16, 2017 Go to the documentation of unification 0.0.1+1 Download unification 0.0.1+1 archive
0.0.1 Dec 16, 2017 Go to the documentation of unification 0.0.1 Download unification 0.0.1 archive

Analysis

This feature is new.
We welcome feedback.
More details: scoring.

We analyzed this package, and provided a score, details, and suggestions below.

  • tool failures on Feb 3, 2018
  • Dart: 2.0.0-dev.20.0
  • pana: 0.10.1

Scores

Popularity:
Describes how popular the package is relative to other packages. [more]
0 / 100
Health:
Code health derived from static analysis. [more]
100 / 100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
76 / 100
Overall score:
Weighted score of the above. [more]
45

Platforms

Detected platforms: unsure

Error(s) prevent platform classification.

Suggestions

  • Fix dependencies in pubspec.yaml.

    Running pub upgrade failed with the following output:

    ERR: Package unification requires SDK version >=1.8.0 <=2.0.0-dev.8.0 but the current SDK is 2.0.0-dev.20.0.
    
  • Fix platform conflicts.

    Make sure none of the libraries use mutually exclusive dependendencies.

  • Fix issues reported by dartanalyzer.

    dartanalyzer reported 1 error(s) and 0 warning(s).

  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

  • Maintain an example.

    Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use unification.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.8.0 <=2.0.0-dev.8.0