Re:My most common code review suggestions
by ben-schaaf on Thursday December 07, 2017 @06:26AM
(#15869178)
Just to add to this, the better terms to use are "static" and "dynamic".
Going with the example of a sound type system, a language could have a sound type system that does the actual checking at runtime.
Re:My most common code review suggestions
by dozzie on Thursday December 07, 2017 @06:50AM
(#15869273)
No, not really. Even though there's no good definition what "strong" and
"weak" means, it was always meant as a totally different axis than
static/dynamic typing. C is weakly typed, OCaml is strongly typed. Both are
typed statically.
Re:My most common code review suggestions
by catnaroek on Thursday December 07, 2017 @06:56AM
(#15869309)
A type soundness theorem is always of the form “a well-typed program never does such and such”. It relates the static semantics (type checking) to the dynamic semantics (operational semantics) of a programming language.
It doesn't make any sense to talk about soundness for dynamic languages, because there's no static semantics to relate to the dynamic semantics.
Technical nitpicking: It's best to avoid using the terms "strong" and "weak" when referring to type systems, since they don't have clear, agreed upon definitions.
Some would say that Java is not a strongly typed language since its type system isn't sound.