AntC <anthony_clay...@clear.net.nz> writes: > No! This isn't more bikeshedding about notation. > > It's a bit of Haskell archaeology. > >> On Sun, Jun 30, 2013 at 2:59 AM, Judah Jacobson wrote: > [This isn't exactly what Judah wrote.] >> ... >> >> Instead of `x f` (to access field x of record f), >> maybe we could write `f{x}` as the record selection. >> > > The more I thought about that ... > > We use { ... } to declare records, build them, update them. > We use { ... } in pattern matching to access named fields. > > Why don't we use { ... } to access named fields in terms? > > The syntax `e{ foo }` is unused in H98. (Or at least it was in 1998.) > Can someone who was there at the time (1994?, TRex?) > remember if that was ever considered?
No one else has answered (at least in café), but perhaps the reason is that like me they can’t really remember! I do remember that since Haskell is a functional language we wanted as many things to be functions as possible; we did want to be able to pass field selectors around as arguments to other functions. I vaguely remember suggesting some years later that we should have {…} being a function, so that {field} is a field selector and {field=value} is a field setter (and requiring that you had to write use normal function application: “{field} structure” to select field from structure). SimonPJ gave a reason why not, and I’m sure it will be possible to search out what he said. -- Jón Fairbairn jon.fairba...@cl.cam.ac.uk _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe