Привет. В Julia при определении функции наподобие такой
f(x :: T) where T <: Number = 2x
Я могу вызвать f() с любым числом и компилятор сам подставит код, наиболее специфичный для данного типа.
А в common lisp
(defun f (x) (declare (type number x)) (* 2 x))
Компилятор создаст 1 функцию с наименее специфичным кодом, которая будет работать с любым числом
Как можно эмулировать поведение джулии с заранее известным множеством типов?
UPD: название треда вышло дурацким