unison/unison-src/transcripts/duplicate-term-detection.md
2022-01-11 16:18:43 -06:00

591 B

Duplicate Term Detection

.> builtins.merge

Trivial duplicate terms should be detected:

x = 1
x = 2

Equivalent duplicate terms should be detected:

x = 1
x = 1

Duplicates from record accessors/setters should be detected

structural type Record = {x: Nat, y: Nat}
Record.x = 1
Record.x.set = 2
Record.x.modify = 2

Duplicate terms and constructors should be detected:

structural type SumType = X

SumType.X = 1

structural ability AnAbility where
  thing : Nat -> ()

AnAbility.thing = 2