| ... | ... | @@ -266,6 +266,21 @@ foo x@(C2 {}) = x {f1 = 2} |
|
|
|
foo x = x {~f1, f2 = f2 x + 1}
|
|
|
|
```
|
|
|
|
|
|
|
|
### GHC Extension
|
|
|
|
|
|
|
|
|
|
|
|
Note that in GHC you can work around it like this:
|
|
|
|
|
|
|
|
```wiki
|
|
|
|
foo :: T a -> T Int
|
|
|
|
foo x@(C1 {}) = x {f1 = 1}
|
|
|
|
foo x@(C2 {}) = x {f1 = 2}
|
|
|
|
foo C3{..} = C3{..}
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
To enable this extension, use `-XRecordWildCards`.
|
|
|
|
|
|
|
|
### Comment
|
|
|
|
|
|
|
|
|
| ... | ... | |