... | ... | @@ -10,6 +10,9 @@ |
|
|
|
|
|
See email thread at [ http://thread.gmane.org/gmane.comp.lang.haskell.cafe/61723](http://thread.gmane.org/gmane.comp.lang.haskell.cafe/61723)
|
|
|
|
|
|
|
|
|
Right at the end of the page is a straw poll about the proposal.
|
|
|
|
|
|
## Exploiting the power of the dot
|
|
|
|
|
|
|
... | ... | @@ -245,7 +248,7 @@ expr ::= atom | expr atom |
|
|
where `f .(g x)` means `(g x f)`. The oddness here is that the TDNR invocation can "look inside" the `.(..)` to see the function at the head. (And it had better BE a function, too.)
|
|
|
|
|
|
|
|
|
I think this is probably worth it, although it's a little odd.
|
|
|
I think this is probably worth it, although it's a little odd. To me, the ability to "stack up" postfix operations is rather important, and the fact that it doesn't fit nicely is the biggest shortcoming of this whole proposal. Can anyone improve it?
|
|
|
|
|
|
## Discussion
|
|
|
|
... | ... | @@ -367,7 +370,7 @@ already happens in GHC with `-XDisambiguteRecordFields`. However I |
|
|
propose *not* to apply it to record update, a construct that is already
|
|
|
rather complicated to typecheck. I do not want to make it worse.
|
|
|
|
|
|
## section-style selection
|
|
|
## Section-style selection
|
|
|
|
|
|
|
|
|
We have the option to allow '(.x)' as a valid expression, with its meaning given by the translation
|
... | ... | @@ -388,3 +391,22 @@ and means that `(.x) f` is equivalent to `f.x`. The syntax and meaning is consi |
|
|
|
|
|
|
|
|
What about `(.x.y)`? Does that expand to `(\f -> f.x.y)`?
|
|
|
|
|
|
# Straw poll
|
|
|
|
|
|
|
|
|
It's hard to gauge how much people like proposals like this, so let's try the experiment of collecting votes here:
|
|
|
|
|
|
|
|
|
Names of people who would positively like to see TDNR happen (say briefly why)
|
|
|
|
|
|
- Simon PJ (I wrote the proposal)
|
|
|
|
|
|
|
|
|
Names of people who think that on balance it's a bad idea
|
|
|
|
|
|
- fill in here
|
|
|
|
|
|
## Other comments
|
|
|
|
|
|
*Add your own comments here* |
|
|
\ No newline at end of file |