equal
deleted
inserted
replaced
341 left-hand side. This models basic type constructor application at the outer |
341 left-hand side. This models basic type constructor application at the outer |
342 syntax level. Note that only plain postfix notation is available here, but |
342 syntax level. Note that only plain postfix notation is available here, but |
343 no infixes. |
343 no infixes. |
344 |
344 |
345 \<^rail>\<open> |
345 \<^rail>\<open> |
346 @{syntax_def typespec}: |
346 @{syntax_def typeargs}: |
347 (() | @{syntax type_ident} | '(' ( @{syntax type_ident} + ',' ) ')') @{syntax name} |
347 (() | @{syntax type_ident} | '(' ( @{syntax type_ident} + ',' ) ')') |
348 ; |
348 ; |
349 @{syntax_def typespec_sorts}: |
349 @{syntax_def typeargs_sorts}: |
350 (() | (@{syntax type_ident} ('::' @{syntax sort})?) | |
350 (() | (@{syntax type_ident} ('::' @{syntax sort})?) | |
351 '(' ( (@{syntax type_ident} ('::' @{syntax sort})?) + ',' ) ')') @{syntax name} |
351 '(' ( (@{syntax type_ident} ('::' @{syntax sort})?) + ',' ) ')') |
|
352 ; |
|
353 @{syntax_def typespec}: @{syntax typeargs} @{syntax name} |
|
354 ; |
|
355 @{syntax_def typespec_sorts}: @{syntax typeargs_sorts} @{syntax name} |
352 \<close> |
356 \<close> |
353 \<close> |
357 \<close> |
354 |
358 |
355 |
359 |
356 subsection \<open>Term patterns and declarations \label{sec:term-decls}\<close> |
360 subsection \<open>Term patterns and declarations \label{sec:term-decls}\<close> |