Przeczytałem artykuł o statycznym typowaniu w innym dniu (https://bsamuels.net/2013/11/20/static-typing.html), który opisał interesującą koncepcję zwaną "programowaniem bogatym w typ", gdzie jako programista zdefiniowano typy, które dla maszyny są po prostu aliasami dla istniejących typów (takich jak liczby całkowite lub zmiennoprzecinkowe), ale dla ciebie opisują różnicę między różnymi wielkościami, które mogą być reprezentowane za pomocą tych typów maszyn (np. sekundy i metry mogą być reprezentowane przez podwójne, ale na pewno nie chciałbyś ich dodać razem).Programowanie bogate w typ w Common Lisp?
Wiem, że Common Lisp jest językiem napisanym dynamicznie. Jednak wiem również, że niektóre kompilatory (takie jak ten, którego używam, SBCL) wykonają pewne ograniczone sprawdzanie typu, jeśli używam the
i check-type
. Jak mogę utworzyć aliasy typów, aby zapewnić bogatsze typy SBCL? Lub, jeśli nie to, to w jaki sposób mogę uzyskać coś, co wygląda podobnie do programowania bogatego w typ w Common Lisp?
Zobacz [Konwersja jednostek miary] (https://www.cs.utexas.edu/users/novak/units95.html) autorstwa Gordona S. Novaka Jr. – coredump