Any expression can appear in parentheses, and an expression(e)
is the same as the expressione
.Parentheses can be used to delimit where an expression begins and ends. For example(f : P -> Q) y
is an application of the functionf
of typeP -> Q
to the argumenty
.The parentheses are needed to tell Unison thaty
is an argument tof
,not a part of the type annotation expression.