Ho letto un articolo sulla digitazione statica dell'altro giorno (https://bsamuels.net/2013/11/20/static-typing.html) che descriveva un concetto interessante chiamato "programmazione ricca di tipo", in cui come programmatori definisci tipi che, alla macchina, sono semplicemente alias per tipi esistenti (come interi o float), ma a voi descrivono la differenza tra le diverse quantità che potrebbero essere rappresentate usando quei tipi di macchine (ad esempio, i secondi e i metri potrebbero essere entrambi rappresentati da doppi, ma di certo non vorreste aggiungerli).Programmazione ricca di tipo in Common Lisp?
So che Common Lisp è un linguaggio tipizzato in modo dinamico. Tuttavia, so anche che alcuni compilatori (come quello che uso, SBCL) eseguiranno alcuni controlli di tipo limitato se utilizzo the
e check-type
. Come posso creare alias di tipo in modo da poter fornire tipi più ricchi a SBCL? Oppure, se no, allora come posso ottenere qualcosa che assomigli ad una programmazione ricca di tipo in Common Lisp?
Vedere [Conversion of Units of Measurement] (https://www.cs.utexas.edu/users/novak/units95.html) di Gordon S. Novak Jr. – coredump