Parameter types are no longer grouped in a s-expression (e.g.: (foo int))—the type is annotated on the parameter name (e.g. int::foo)
A grouped parameter is indicated by putting [] around the variable name (e.g. [foo]). When the variable has a type annotation, the type annotation stays with the variable name (e.g. [int::foo]).
@toddjonker's response from #287
Removing the S-expression from parameter type declarations eliminates a critical extension point. As an annotation, there's no good way to do anything but a type-name.
Proposed change:
(foo int)
)—the type is annotated on the parameter name (e.g.int::foo
)[]
around the variable name (e.g.[foo]
). When the variable has a type annotation, the type annotation stays with the variable name (e.g.[int::foo]
).@toddjonker's response from #287