Sono un po 'confuso sulla differenza tra i sistemi di tipo nominale e strutturale. Qualcuno può spiegare come differiscono?
Da quello che capisco:
Nominale: la compatibilità del tipo si basa sul nome del tipo.
Strutturale: la compatibil...
Ho letto che Hindley-Milner non funziona con i sistemi di tipi che hanno sottoclassi e ci sono altre funzionalità di sistema di tipo che anche non funzionano bene con esso. Vai attualmente ha inferenza di tipo molto limitata nell'operatore :...
Tutti abbiamo visto interi, virgola mobile, stringa e il tipo decimale occasionale. Quali sono alcuni dei tipi più strani, unici o utili che hai incontrato, utili o meno?
Recentemente mi sono chiesto perché la parola chiave auto sia stata scelta in C ++ 11 per marcare una variabile il cui tipo deve essere dedotto dal compilatore, come in
auto x = 1;
Da
var sembra più comune in altri linguaggi...
Ci sono alcuni motivi teorici per questo (come il controllo del tipo o l'inferenza del tipo diventerebbe indecidibile), o ragioni pratiche (troppo difficili da implementare correttamente)?
Al momento possiamo raggruppare le cose in newtype...
Quando si spiega il combinatore Y nel contesto di Haskell, di solito si nota che l'implementazione diretta non effettuerà il check-in di tipo Haskell a causa del suo tipo ricorsivo.
Ad esempio, da Rosettacode :
The obvious definition of th...
Più apprendo su diversi paradigmi di programmazione, come la programmazione funzionale, più inizio a mettere in discussione la saggezza dei concetti OOP come l'ereditarietà e il polimorfismo. Ho imparato per la prima volta l'ereditarietà e il po...
Da qualche tempo mi sono interessato ai tipi di unicità come alternativa alle monadi in puro linguaggio funzionale; sfortunatamente, questa è una specie di area esoterica della ricerca di CS e le risorse online sulla programmazione con tipi di u...
Durante un recente progetto a cui ho lavorato, ho dovuto utilizzare molte funzioni che assomigliano a questo:
static bool getGPS(double plane_latitude, double plane_longitude, double plane_altitude,
double plane_roll, do...
Sono abbastanza sicuro che tutti abbiano familiarità con i metodi generici del modulo:
T DoSomething<T>(T item)
Questa funzione è anche chiamata parametricamente polimorfica (PP), in particolare rank-1 PP.
Diciamo che questo meto...