[Template-haskell] Re: [Haskell] Proposal: Allow "\=" for field
update in record update syntax
Simon Peyton-Jones
simonpj at microsoft.com
Mon Mar 7 03:39:03 EST 2005
What exactly is it that TH doesn't support, that you want?
Simon
| -----Original Message-----
| From: template-haskell-bounces at haskell.org
[mailto:template-haskell-bounces at haskell.org] On
| Behalf Of S. Alexander Jacobson
| Sent: 28 February 2005 10:32
| To: Sander Evers; template-haskell at haskell.org
| Subject: [Template-haskell] Re: [Haskell] Proposal: Allow "\=" for
field update in record update syntax
|
| Since operators can't start with a ':', is there an in-principle
| reason TH does not support : operators? The syntax below would be
| really nice to have.
|
|
|
| On Fri, 18 Feb 2005, Sander Evers wrote:
|
| >
| >> Then we could have e.g. (:=) and (:\=) and end up with a
| >> syntax that looks like this:
| >>
| >> rec // field :\= fn . field2 := val
| >>
| >> And that is BETTER than the Haskell syntax that I originally
proposed.
| >
| > This syntax is also nice for composition of update functions, which
is useful
| > with nested records:
| >
| > data Country = Country {capital :: City, ...}
| > data City = City {inhabitants :: Int, ...}
| >
| > birth_in_capital :: Country -> Country
| > birth_in_capital = capital :\= (inhabitants :\= (+1))
| >
| > This also shows that it would be useful to make :\= associate to the
right.
| >
|
| ______________________________________________________________
| S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com
| _______________________________________________
| template-haskell mailing list
| template-haskell at haskell.org
| http://www.haskell.org/mailman/listinfo/template-haskell
More information about the template-haskell
mailing list