Changes between Version 3 and Version 4 of ExplicitTypeApplication
- Timestamp:
- 12/15/11 02:15:19 (17 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ExplicitTypeApplication
v3 v4 8 8 (C @a y z) -> .... 9 9 }}} 10 On the right-hand side we would have the type variable `a` in scope. 10 On the right-hand side we would have the type variable `a` in scope for use on 11 any type signatures. 11 12 12 Note how the use of the symbol `@` is (in this case) unproblematic , sincewe can13 Note how the use of the symbol `@` is (in this case) unproblematic; we can 13 14 use the fact that constructors always start with an uppercase letter to distinguish 14 15 whether the `@` refers to an "as pattern" or to a type application: … … 18 19 }}} 19 20 20 Also note that this would not allow you to to pattern-match on specific types: 21 the only thing that we can match on are type or kind variables. 21 Unfortunately this is not always the case; see below. 22 23 Note that this proposal would not allow pattern matching on specific types: 24 the only thing that we can match on are type or kind variables. However, it 25 does allow for specifying what type to apply: 26 {{{ 27 id @Int 2 28 }}} 29 30 The idea is to provide more access to the explicit types in the core language 31 (system [http://dreixel.net/research/pdf/ghp.pdf FC-pro]) 32 directly from the source language syntax. 22 33 23 34
