Привет. В Julia при определении функции наподобие такой


f(x :: T) where T <: Number = 2x


Я могу вызвать f() с любым числом и компилятор сам подставит код, наиболее специфичный для данного типа.


А в common lisp


(defun f (x) (declare (type number x)) (* 2 x))


Компилятор создаст 1 функцию с наименее специфичным кодом, которая будет работать с любым числом


Как можно эмулировать поведение джулии с заранее известным множеством типов?


UPD: название треда вышло дурацким









 






URL записи