Is referring to GHC-proposals in GHC user manual bad practice or not?

Richard Eisenberg rae at richarde.dev
Wed Mar 17 19:05:20 UTC 2021



> On Mar 17, 2021, at 2:52 PM, Oleg Grenrus <oleg.grenrus at iki.fi> wrote:
> 
> 
> Do we agree on this interpretation?

Yes, fully. Thanks for illustrating with examples.

Richard

> 
> - Oleg
> 
> On 17.3.2021 20.35, Richard Eisenberg wrote:
>> My vote is that the manual should be self-standing. References to proposals are good, but as supplementary/background reading only. My gold standard always is: if we lost all the source code to GHC and all its compiled versions, but just had the manual and Haskell Reports (but without external references), we could re-create an interface-equivalent implementation. (I say "interface-equivalent" because we do not specify all the details of e.g. optimizations and interface files.) We are very, very far from that gold standard. Yet I still think it's a good standard to aim for when drafting new sections of the manual.
>> 
>> Of course, authors are quite free to copy-and-paste from proposal text to form a new manual chapter.
>> 
>> If we agree about this, it would be good to lay this out somewhere, perhaps in the "care and feeding" chapter.
>> 
>> Richard
>> 
>>> On Mar 17, 2021, at 1:21 PM, Oleg Grenrus <oleg.grenrus at iki.fi> wrote:
>>> 
>>> I forgot to link a bit of relevant discussion from
>>> https://github.com/ghc-proposals/ghc-proposals/pull/406,
>>> is there a (silent) consensus on the issue?
>>> 
>>> - Oleg
>>> 
>>> On 17.3.2021 19.15, Oleg Grenrus wrote:
>>>> I have a following question:
>>>> My lexer rules related proposal was recently accepted. The biggest part
>>>> of getting it in is writing documentation for it. While looking at
>>>> Divergence from Haskell 98 and Haskell 2010 section of the user manual,
>>>> in particular Lexical syntax, it already has See "GHC Proposal #229 for
>>>> the precise rules.".
>>>> 
>>>> Can I just the same? (I think there was an implicit acceptance of that
>>>> practice in e.g.
>>>> https://gitlab.haskell.org/ghc/ghc/-/merge_requests/1664#note_238759)
>>>> 
>>>> However, I think that referring to proposals text for "essential" bits
>>>> of information is a bad practice.
>>>> Because GHC proposals are sometimes amended, one have to look into
>>>> GitHub history to find out what were there for a particular time point
>>>> of a GHC release. Very laborous.
>>>> 
>>>> ---
>>>> 
>>>> Currently there is 23 references to about a dozen of proposals. An
>>>> example are passages like
>>>> 
>>>>    In 9.0, the behavior of this extension changed, and now we require
>>>> that a negative literal must not be preceded by a closing token (see
>>>>    `GHC Proposal #229
>>>> <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0229-whitespace-bang-patterns.rst>`__
>>>>    for the definition of a closing token).
>>>> 
>>>> or
>>>> 
>>>>     a future release will be
>>>>     turned off by default and then possibly removed. The reasons for
>>>> this and
>>>>     the deprecation schedule are described in `GHC proposal #30
>>>> 
>>>> <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0030-remove-star-kind.rst>`__.
>>>> 
>>>> And there are better examples, which are references for more information,
>>>> not essential one, like
>>>> 
>>>>     See the proposal `DuplicateRecordFields without ambiguous field access
>>>> 
>>>> <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0366-no-ambiguous-field-access.rst>`_
>>>>     and the documentation on :extension:`DuplicateRecordFields` for
>>>> further details.
>>>> 
>>>> (I'd put the internal user manual link first), or
>>>> 
>>>>    But these automatic eta-expansions may silently change the semantics
>>>> of the user's program,
>>>>    and deep skolemisation was removed from the language by
>>>>    `GHC Proposal #287
>>>> <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0287-simplify-subsumption.rst>`__.
>>>>    This proposal has many more examples.
>>>> 
>>>> ---
>>>> 
>>>> So to boil down my question, can I write
>>>> 
>>>>    Lexical syntax of identifiers and decimal numbers differs slightly
>>>> from the Haskell report.
>>>>    See GHC Proposal #403 for the precise rules and differences.
>>>> 
>>>> - Oleg
>>>> _______________________________________________
>>>> ghc-devs mailing list
>>>> ghc-devs at haskell.org
>>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>> _______________________________________________
>>> ghc-devs mailing list
>>> ghc-devs at haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>> 



More information about the ghc-devs mailing list