Limber separators

Bardur Arantsson spam at scientician.net
Fri May 6 20:04:03 UTC 2016


On 05/06/2016 06:34 PM, Iavor Diatchki wrote:
[--snip--]
> By the way, leading/trailing separators conflict with the syntax for tuple
> sections:
> 
> (True,) :: t -> (Bool, t)
> (,True) :: t -> (t, Bool)
> 
> I think that it wold be quite odd if leading/trailing commas meant one
> thing in tuples and something completely different in lists.
> 
[--snip--]

(I'm not on the committee or even close, just be absolutely clear from
the start.)

While I have a) *NEVER*... *EVER* seen TupleSections in the wild[1], and
b) I really, really want to have an "ignore-trailing-comma" rule for
lists, I must say that this is a situation where backward-compat and the
Principle of Least Surpise[2] probably rule the day.

I'm certainly be open to persuasion, but that would probably mean
deprecating TupleSections, and I'm not sure how popular that would be.
(And would perhaps require *two* iterations of the Haskell standard to
achieve. I suppose an exception could be made if a "go fix" type tool
could be developed, but I'm not sure that's something the Standards
committe should concern themselves with... but it *would* be able to
move the language towards much faster evolution, FWIW. I wish we had hfix.)

Regards,

[1] Didn't even know they existed until the recent thread on Reddit.

[2] That is, it would be surprising if lists and tuples worked
differently in this respect.





More information about the Haskell-prime mailing list