DIP 1026---Deprecate Context-Sensitive String Literals---Community Review Round 1

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Wed Dec 4 23:35:09 UTC 2019


On Wednesday, 4 December 2019 at 22:57:21 UTC, Walter Bright 
wrote:
> Another case of my lack of academic CS training showing. I 
> would appreciate it if qualified people would indeed go through 
> the D spec and correct misuse of the terms.

I don't think a spec has to use a lot of CS terms, probably 
better to describe it in language that most users can understand.

Like, the other day I got confused by the usage of the term 
"covariant" in
https://dlang.org/spec/function.html

It says stuff like "a pure function … is covariant with an impure 
function", "Nothrow functions are covariant with throwing ones.", 
"Safe functions are covariant with trusted or system functions." 
and "System functions are not covariant with trusted or safe 
functions."

This doesn't tell me anything even if I happened to remember what 
the term means. My understanding is that covariant means that if 
T(A) is related to T'(A') then T<:T' and A<:A', wheras covariant 
means that one of the subtyping relations point the other way.

I cannot fix it either, since I don't know what was meant...



More information about the Digitalmars-d mailing list