This allows for a syntax whereby an extension type is literally an extension to an existing type.
For example, in the constraints library I am writing I would like to be able to constrain an integer to a certain range,
the syntax extension in this pull requests allows the following:
@param integer:Constraint { min: 0, max: 200 }
I think this is quite expressive and allows for even greater flexibility. The previous syntax remains:
@param :Constraint { min: 0, max: 200 }
In this case, the "base type" simply defaults to a MixedType.
This allows for a syntax whereby an extension type is literally an extension to an existing type. For example, in the constraints library I am writing I would like to be able to constrain an integer to a certain range, the syntax extension in this pull requests allows the following:
I think this is quite expressive and allows for even greater flexibility. The previous syntax remains:
In this case, the "base type" simply defaults to a MixedType.