There are two kinds of holes in the surface syntax: ? and _.
? stands for parts of the program that have not been completed yet, and where we expect the compiler to help us with finding the right term to fill in.
_ are parts of the program where we expect the compiler to find a unique solution by unification, and where we can't be bothered to write out the term.
The compiler should throw an error if it can't find a unique solution for _.
There are two kinds of holes in the surface syntax:
?
and_
.?
stands for parts of the program that have not been completed yet, and where we expect the compiler to help us with finding the right term to fill in._
are parts of the program where we expect the compiler to find a unique solution by unification, and where we can't be bothered to write out the term. The compiler should throw an error if it can't find a unique solution for_
.