|
typexpr |
::= |
' ident |
| |
| |
_ |
| |
| |
( typexpr ) |
| |
| |
[[?]label] typexpr -> typexpr |
| |
| |
typexpr { * typexpr }+ |
| |
| |
typeconstr |
| |
| |
typexpr typeconstr |
| |
| |
( typexpr { , typexpr } ) typeconstr |
| |
| |
typexpr as ' ident |
| |
| |
[ variant-type ] |
| |
| |
< [..] > |
| |
| |
< method-type { ; method-type } [; ..] > |
| |
| |
# class-path |
| |
| |
typexpr # class-path |
| |
| |
( typexpr { , typexpr } ) # class-path |
| |
| |
# typeconstr-path [ tag-list ] |
| |
| |
typexpr # typeconstr-path [ tag-list ] |
| |
| |
( typexpr { , typexpr } ) # typeconstr-path [ tag-list ] |
|
method-type |
::= |
method-name : typexpr |
|
tag-list |
::= |
[> {`tag-name}+ ] ] |