Регистрация | Войти
Lisp — программируемый язык программирования
RSS
restas:initialize-module-instance
necto - 01.04.2013 11:22, Сообщений - 1
Зачем каждый раз приходится писать:

(defmethod restas:initialize-module-instance :after ((module (eql #.*package*)) context)
  (restas:with-context context
    ...))

почему бы вызов этой функции сразу не обернуть в with-module:

(defmethod initialize-module-instance ((module pkgmodule) context)  
  (iter (for child in (alexandria:hash-table-values (slot-value module 'children)))
        (initialize-module-instance child (module-context child)))
  (let ((*module* module))
    (with-context context
       (initialize-module-instance (find-package (slot-value module 'package)) context))))

Неужели кому-то помешает with-context в этой фунции?
[#]
> почему бы вызов этой функции сразу не обернуть в with-module

with-module изменяет окружение. Это может быть совсем не то, что на самом деле требуется.  Пока просто недостаточное колличество примеров использования я видел, что бы судить о том, как лучше делать. Ведь и initialize-module-instance пишется не постоянно.
archimag - 01.04.2013 11:31
@2009-2013 lisper.ru