Talk:Practical numbers: Difference between revisions

From Rosetta Code
Content added Content deleted
 
Line 1: Line 1:


==Python: Comment on type hints for the functional example==
==Python: Comment on type hints for the functional example==

Hout Wrote:
:Clarity about the '''return type semantics''', is however, very useful when reasoning about pure functions, and my personal approach is to add light informal '''comments''' about the type, in a Hindley Milner idiom, which lends itself well to brief and clean notes on the type of '''curried''' functions, which are more easily composable, especially with higher order functions, and which I generally prefer to use.

:I've been asked (always by the same person :-) why I don't find the idiom of Python '''compiler type-hints''' a good match for my semantic type '''comments''', and the answer is essentially that the compiler type hints are not a clear or helpful notation for this purpose – not just because they generally involve more typing and visual noise, but also, and in particular, because with '''curried''' functions the compiler hint notation becomes swamped by use of the cognitively redundant `Callable` keyword, which degrades clarity, and imposes burden, for the human reader.


I replaced misleading Haskell-language type comments by Python typing checked with MyPy. Python can add typing in comments as part of the language and that too is not the Haskell that was replaced.<br>
I replaced misleading Haskell-language type comments by Python typing checked with MyPy. Python can add typing in comments as part of the language and that too is not the Haskell that was replaced.<br>
--[[User:Paddy3118|Paddy3118]] ([[User talk:Paddy3118|talk]]) 09:17, 31 March 2021 (UTC)
--[[User:Paddy3118|Paddy3118]] ([[User talk:Paddy3118|talk]]) 09:17, 31 March 2021 (UTC)

:Comments are for the reader not the compiler. My comments provide the reader with information which is both less noisy, and more specific, than the uses of the Callable and Any keywords in the compiler hints.
: I quite understand that our approaches differ, and the contrast adds to the value of Rosetta code, as defined on the landing page
: Deleting informative comments is gratuitous, and inconsistent with the goals of Rosetta code, and removes value without adding any. There is a name for this. [[User:Hout|Hout]] ([[User talk:Hout|talk]]) 09:36, 31 March 2021 (UTC)

Revision as of 09:36, 31 March 2021

Python: Comment on type hints for the functional example

I replaced misleading Haskell-language type comments by Python typing checked with MyPy. Python can add typing in comments as part of the language and that too is not the Haskell that was replaced.
--Paddy3118 (talk) 09:17, 31 March 2021 (UTC)

Comments are for the reader not the compiler. My comments provide the reader with information which is both less noisy, and more specific, than the uses of the Callable and Any keywords in the compiler hints.
I quite understand that our approaches differ, and the contrast adds to the value of Rosetta code, as defined on the landing page
Deleting informative comments is gratuitous, and inconsistent with the goals of Rosetta code, and removes value without adding any. There is a name for this. Hout (talk) 09:36, 31 March 2021 (UTC)