On Monday, 25 August 2014 at 14:54:33 UTC, ketmar via
Digitalmars-d wrote:
D is aimed to generate efficient machine code, so it must be
"static".
we can emulate dynamic calls with AA and opDispatch, but this
will
be... not fast. ;-)
Beta was static and compiled directly to asm. That does not
preclude dynamism such as type variables, hidden parent pointers
(where the object instanced from) and a rich set of virtual
bindings and the ability to specialize everwhere.
Examples:
- a type variable is essentially just a pointer to a
typeinfo-block with constructors and meta information.
- a virtual type specification is just a type variable that is
constrained to a class hierarchy.
- to have specialization everywhere you just add the capability
to have unnamed types
Ola