| # | |
| # Basic tests | |
| # | |
| name: "basic string" | |
| unify: | |
| - $x | |
| - test | |
| all: | |
| - test | |
| name: "basic tuple" | |
| unify: | |
| - [$x, $x] | |
| - [test, test] | |
| all: | |
| - [test, test] | |
| name: "three tuples" | |
| unify: | |
| - [$x, $x] | |
| - [test, _] | |
| - [_, test] | |
| all: | |
| - [test, test] | |
| name: "basic def" | |
| unify: | |
| - {a: $x, b: $x} | |
| - {a: test, b: test} | |
| all: | |
| - {a: test, b: test} | |
| name: "three defs" | |
| unify: | |
| - {a: $x, b: $x} | |
| - {a: test} | |
| - {b: test} | |
| all: | |
| - {a: test, b: test} | |
| # | |
| # Bottom tests | |
| # | |
| name: "basic bottom" | |
| unify: | |
| - [$x, $x] | |
| - [test, foo] | |
| all: [] | |
| name: "three-way bottom" | |
| unify: | |
| - [$x, $x] | |
| - [test, _] | |
| - [_, foo] | |
| all: [] | |
| # | |
| # Basic sum tests | |
| # | |
| name: "basic sum" | |
| unify: | |
| - $x | |
| - !sum [a, b] | |
| all: | |
| - a | |
| - b | |
| name: "sum of tuples" | |
| unify: | |
| - [$x] | |
| - !sum [[a], [b]] | |
| all: | |
| - [a] | |
| - [b] | |
| name: "acausal sum" | |
| unify: | |
| - [_, !sum [a, b]] | |
| - [$x, $x] | |
| all: | |
| - [a, a] | |
| - [b, b] | |
| # | |
| # Transitivity tests | |
| # | |
| name: "transitivity" | |
| unify: | |
| - [_, _, _, test] | |
| - [$x, $x, _, _] | |
| - [ _, $x, $x, _] | |
| - [ _, _, $x, $x] | |
| all: | |
| - [test, test, test, test] | |
| # | |
| # Multiple vars | |
| # | |
| name: "basic uncorrelated vars" | |
| unify: | |
| - - !sum [1, 2] | |
| - !sum [3, 4] | |
| - - $a | |
| - $b | |
| all: | |
| - [1, 3] | |
| - [1, 4] | |
| - [2, 3] | |
| - [2, 4] | |
| name: "uncorrelated vars" | |
| unify: | |
| - - !sum [1, 2] | |
| - !sum [3, 4] | |
| - !sum [1, 2] | |
| - - $a | |
| - $b | |
| - $a | |
| all: | |
| - [1, 3, 1] | |
| - [1, 4, 1] | |
| - [2, 3, 2] | |
| - [2, 4, 2] | |
| name: "entangled vars" | |
| unify: | |
| - - !sum [[1,2],[3,4]] | |
| - !sum [[2,1],[3,4],[4,3]] | |
| - - [$a, $b] | |
| - [$b, $a] | |
| all: | |
| - - [1, 2] | |
| - [2, 1] | |
| - - [3, 4] | |
| - [4, 3] | |
| # | |
| # End-to-end examples | |
| # | |
| name: "end-to-end" | |
| unify: | |
| - go: Add | |
| in: | |
| - go: $t | |
| - go: $t | |
| - in: !repeat | |
| - !sum | |
| - go: Int32x4 | |
| base: int | |
| - go: Uint32x4 | |
| base: uint | |
| all: | |
| - go: Add | |
| in: | |
| - base: int | |
| go: Int32x4 | |
| - base: int | |
| go: Int32x4 | |
| - go: Add | |
| in: | |
| - base: uint | |
| go: Uint32x4 | |
| - base: uint | |
| go: Uint32x4 | |