[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