Reputation
41,416
Next tag badge:
121/100 score
19/20 answers
Badges
6 70 141
Newest
 Good Answer
Impact
~882k people reached

Jul
31
awarded  Good Answer
Jul
24
awarded  Nice Answer
Jun
19
awarded  Nice Answer
Jun
8
awarded  Constituent
Jun
8
awarded  Caucus
Jun
2
awarded  Good Answer
May
31
awarded  design
May
29
awarded  Nice Answer
May
12
awarded  Nice Answer
Apr
17
awarded  Good Answer
Apr
3
awarded  Good Answer
Mar
14
awarded  Nice Answer
Mar
1
comment Which statically typed languages support intersection types for function return values?
The value of the new type is -- effectively -- the same bytes with a radically new type. Something that cannot be done in Python at all, because Python is more strongly-typed than C++. That is my salient point.
Feb
29
comment Which statically typed languages support intersection types for function return values?
@JamesYoungman: Are you telling me that a C++ cast does not reinterpret the bytes as if they were a new class? If that's not what happens, can you describe what does happen?
Feb
29
awarded  Nice Answer
Feb
27
comment Functional Programming on the rise?
@JonHarrop: (1) You're the only person who suggested correctness was or was not testable. I don't see it in the answer. (2) I cannot discuss this further because the moderators have deemed me too "aggressive". Your points about correctness are good, but don't seem germane to the answer. Only this protracted discussion. Are there words in the answer you're suggesting be changed? If so, which words and to what do you suggest they be changed?
Feb
27
comment Functional Programming on the rise?
@JonHarrop: I think you're responding to Steve314. I didn't mention type annotations. While static languages have them, they can be inferred.
Feb
27
comment Which statically typed languages support intersection types for function return values?
@JamesYoungman: I guess I was wrong. They seem to reinterpret the object's sequence of bytes as if it's a new type of data, changing the type rules, methods and interpretation of the bytes. That was my understanding. What really happens if that's not what's happening?
Feb
27
comment Functional Programming on the rise?
@JonHarrop: "Python implicitly casts". Not exactly. It creates new objects from old objects. Different thing entirely. Static type checking only confirms one aspect. And that's trivially spoofed through casts and failing to implement the intent of an override (or abstract) method. I feel that these are factual statements. Moderators have disagreed with me. I'm afraid that I cannot discuss this further because I've been labeled as "aggressive".
Feb
26
comment Which statically typed languages support intersection types for function return values?
The type of a Python object cannot (without serious magic) be changed. There is no "cast" operator as there is with Java and C++. That makes each object strongly typed. Variable names and function names have no type binding, but the objects themselves are strongly typed. The key concept here is not the presence of declarations. The key concept is the available of cast operators. Also note that this appears to me to be factual; moderators may dispute that, however.