D ha 'newtype' (come in Haskell).D ha 'newtype'?
È una domanda ingenua, dato che sto sfiorando D, ma Google non ha rivelato nulla di utile.
In Haskell questo è un modo di rendere diversi tipi della stessa cosa distinti al momento della compilazione, ma senza incorrere in alcuna penalità prestazionale di esecuzione.
ad es. potresti creare nuovi tipi (doppi) per metri, secondi e chilogrammi. Questo sarebbe un errore in fase di compilazione se il tuo programma aggiungesse una quantità in metri a una quantità in secondi, ma sarebbe altrettanto veloce in fase di esecuzione come se entrambi fossero doppi (che sono in fase di runtime).
Se D non ha qualcosa di analogo a "newtype", quali sono i metodi accettati per gestire le quantità dimensionate?
Grazie,
Chris.
Una classe di involucro sottile con sovraccarico dell'operatore approriata potrebbe portare a termine il lavoro e ottimizzare. Ma questa è solo una supposizione e una soluzione piuttosto brutta. – delnan
@delnan: In D probabilmente useresti una struct, non una classe. – dsimcha
Per un momento ho pensato: "newtype? .... come in Gundam ????" XD – Klaim