A tag for questions related to the design of any aspect of programming languages.
The C# compiler requires that whenever a custom type defines operator ==, it must also define != (see here). Why? I'm curious …
c# language-designI was working on serializing values when found out about this one. Ruby has a TrueClass class, and a FalseClass …
ruby language-designI see some interesting discussions here about static vs. dynamic typing. I generally prefer static typing, due to compile type …
compiler-construction functional-programming language-design type-inferenceWe have equivalent assignment operators for all Logical operators, Shift operators, Additive operators and all Multiplicative operators. Why did the …
c# operators language-design assignment-operator compound-assignmentHave a look at these function signatures: class Number { public: Number& operator++ (); // prefix ++ Number operator++ (int); // postfix ++ }; Prefix doesn't …
c++ operator-overloading language-design prefix postfix-operatorGiven this code: trait Base { fn a(&self); fn b(&self); fn c(&self); fn d(&…
oop rust language-design liskov-substitution-principleI have never seen a language have exponent or power operator only taking floating point numbers? For example: 2 ** 2 throws an …
f# language-designThe following code is wrong (see it on ideone): public class Test { public static void Main() { int j = 5; (j++); // if …
c# syntax expression language-design parenthesesI've read "what-is-turing-complete" and the wikipedia page, but I'm less interested in a formal proof than in the practical implications …
computer-science language-design turing-completeFrom a design point of view, why is that, in C++, there is no mother-of-all base-class, what's usually object in …
c++ language-design