Which language futures make D overcompicated?
Timon Gehr
timon.gehr at gmx.ch
Sat Feb 10 15:11:57 UTC 2018
On 10.02.2018 14:05, Mark wrote:
> On Saturday, 10 February 2018 at 12:35:39 UTC, Timon Gehr wrote:
>> So as expected, the difference is that for parametrically polymorphic
>> functions, the type T /does not need to be known at compile time/.
>
> According to this definition C++ doesn't support parametric polymorphism
> either, does it?
It does not. C++ templates are a kind of restricted hygienic macro
system, similar to D templates. It is however common for programmers to
apply PL-theoretical terms in a somewhat sloppy way, e.g. here:
https://rosettacode.org/wiki/Parametric_polymorphism
(Fun fact: it is actually only called "polymorphism". "Parametric" is
added to distinguish the term from its usage related to virtual method
calls in object-oriented programming languages.)
To be fair, templates quite successfully simulate parametric
polymorphism for a large subset of its use cases and the compile-time
code generation aspect can be very useful too.
> Are there any C-style languages that allow that?
>
C#. Also, to some extent, Java.
More information about the Digitalmars-d
mailing list