История изменений
Исправление monk, (текущая версия) :
Можешь подробнее рассказать, в чем суть подхода?
(defun my-module ()
(let ((res (make-hash-table)))
(setf (gethash 'f1 res) #'f1)
(setf (gethash 'f2 res) #'f2)
...
res))
(defun import (module)
(maphash (lambda (k v) (setf (symbol-function (local-symbol k)) v) v)))
xcvb заброшен, asdf развивается.
Так технология существует. Но действительно тащить пачку проектов в одиночку — глупо.
Qi же был, не особо кому нужен.
Насколько я помню, из него произвольную функцию CL вызвать нельзя было.
И если она будет - то тоже подмножеством, как typed racket.
А чем это плохо? Или что значит «подмножеством»?
Что значит ненадежная?
это баг в SBCL или я что-то не понял?
Доводы за раздельные неймспейсы для функций и переменных в CL (комментарий)
Где-то ещё было про declare на типизированную коллекцию, а затем изменение типа элемента этой коллекции.
Исходная версия monk, :
Можешь подробнее рассказать, в чем суть подхода?
(defun my-module ()
(let ((res (make-hash-table)))
(setf (gethash 'f1 res) #'f1)
(setf (gethash 'f2 res) #'f2)
...
res))
(defun import (module)
(maphash (lambda (k v) (setf (symbol-function k) v) v)))
xcvb заброшен, asdf развивается.
Так технология существует. Но действительно тащить пачку проектов в одиночку — глупо.
Qi же был, не особо кому нужен.
Насколько я помню, из него произвольную функцию CL вызвать нельзя было.
И если она будет - то тоже подмножеством, как typed racket.
А чем это плохо? Или что значит «подмножеством»?
Что значит ненадежная?
это баг в SBCL или я что-то не понял?
Доводы за раздельные неймспейсы для функций и переменных в CL (комментарий)
Где-то ещё было про declare на типизированную коллекцию, а затем изменение типа элемента этой коллекции.