Re: [ghc-proposals] Allow reserved identifiers as fields ...

Ivan Perez <[email protected]>
Newsgroups gmane.comp.lang.haskell.cafe
Message-ID <CACZKWEJRndbWeBnNyAPDZUGo5q0Bm+CbnMA=61Pp_SDWbhqMkw@mail.gmail.com>
I don't know the history of why you might be banned if you are, so I feel
comfortable being the proxy.

Regardless, I've posted my own opinion on github (
https://github.com/ghc-proposals/ghc-proposals/pull/668) just now and *I
urge others to do the same*.

Allowing keywords as anything but keywords is a very bad idea. It should
not be allowed.

Ivan

On Tue, 24 Dec 2024 at 19:50, Anthony Clayden <[email protected]>
wrote:

> And Merry Christmas to all.
>
> I counsel against allowing reserved ids to be anything other than reserved
> ids. "...   is fraught with peril, unduly complicates the parser, and
> harms readability. " says a language implementer I asked.
>
> But wanting to use field names dictated outside this language's control is
> a realistic requirement, for which there are several general approaches.
> The ghc proposal as it stands seems ad-hoc and very specific to one user
> organisation. Furthermore, this just ain't true:
>
> > ...  SQL schemas. anyone working with those is stuck deciding between
> special-casing its naming, and consistently naming *everything* weirdly,
> ...
>
> SQL consistently supports things like embedded spaces, fields starting
> upper-case [**], embedded dots or other graphics -- by no means just names
> that clash with reserved ids.
>
> How does it do that? And this answer seems particularly relevant when
> these ids are going to feed into `HasField` constraints as a type-level
> String: put the id between quotes.
>
> >  orgNotification."type"
>
> doesn't look too ugly to my eye. And to spj's repeated point: I could
> envisage allowing fields in `data` decls and record syntax to be quoted.
> (Again you couldn't use punning nor field-name as function.)
>
> The approach is sufficiently general it could be extended to `#"Label
> naming"`.
>
> [**] I'm particularly keen on field names starting upper case, because
> they're injective/part of the structure, like data constructors.
>
> AntC
>
> (Why am I posting to the cafe, not github? I seem to be blocked from
> posting on any topic, either on github or gitlab -- even for pages where
> I'm the sole author. I'd be grateful if somebody could post the above to
> the PR.)
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.