__typeid
Paul Backus
snarwin at gmail.com
Sun Aug 2 02:47:01 UTC 2020
On Saturday, 1 August 2020 at 16:12:58 UTC, Andrei Alexandrescu
wrote:
> * An important use of __typeid will be to implement Variant
> "the right way". Using the __typeid instead of the unsightly
> pointer to handler function in Variant would go a long way
> toward simplifying it. the __typeid API would be therefore
> geared toward the needs of that type. I've come to the
> realization that that type is essential for the use of D in
> dynamic contexts. I'd name that type Box, put it in druntime,
> and make it available to Das Besser C.
In other languages, a Box is a wrapper that turns a value type
into a reference type. [1][2][3] It is not a container for a
single dynamically-typed value--in fact, its value is typically
statically-typed.
Most languages do not have a type like the one D currently calls
Variant, but in those that do, the most widely-accepted name
seems to be Any. [4][5]
[1]
https://docs.oracle.com/javase/tutorial/java/data/autoboxing.html
[2] https://doc.rust-lang.org/std/boxed/struct.Box.html
[3]
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/boxing-and-unboxing
[4] https://en.cppreference.com/w/cpp/utility/any
[5] https://www.scala-lang.org/api/current/scala/Any.html
More information about the Digitalmars-d
mailing list