blob: fe8a57e4e3396e05e41e7ba637f5986988776165 [file] [log] [blame]
#
# 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