Mnas-Package » MNAS-PACKAGE/PKG

Пакет mnas-package/pkg определяет операции извлечения символов по типу их (видимости и наследования) и группировки символов по категориям, к которым прнадлежат связанные с ними сущности.

Основными функциями пакета mnas-package/pkg являются следующие функции:

Все они имеют схожий набор параметров:

Функции

filter-functions(symbols)

Описание: функция filter-functions возвращает список символов, являющихся сопряженными с функциями.

Переменые:

  • symbols - список символов пакета.

filter-generics(symbols)

Описание: функция filter-generics возвращает список символов сопряженных с обобщеными функциями.

Переменые:

  • symbols - список символов пакета.

filter-macroses(symbols)

Описание: функция filter-functions возвращает список символов сопряженных с макросами.

Переменые:

  • symbols - список символов пакета.
filter-methods(methods)

Описание: функция filter-methods возвращает список символов, являющихся сопряженными с setf-методами.

Переменые:

  • symbols - список символов пакета.

filter-setf-functions(symbols)

Описание: функция filter-functions возвращает список символов, являющихся сопряженными с setf-функциями.

Переменые:

  • symbols - список символов пакета.

filter-setf-generics(symbols)

Описание: функция filter-setf-generics возвращает список символов, являющихся сопряженными с обобщенными setf-функциями.

Переменые:

  • symbols - список символов пакета.

filter-setf-methods(methods)

Описание: функция filter-setf-methods возвращает список символов, являющихся сопряженными с setf-методами.

Переменые:

  • symbols - список символов пакета.

filter-variables(symbols)

Описание: функция filter-variables возвращает список символов, являющихся сопряженными со значениями.

Переменые:

  • symbols - список символов пакета.

package-classes(package-name &key (external t) (internal nil) (inherited nil) &aux (rez nil) (class nil) (package (find-package package-name)))

Описание: package-classes возвращает список классов пакета.

Пример использования:

(package-classes :mnas-package/example) => (#<STANDARD-CLASS MNAS-PACKAGE/EXAMPLE:<C>>)
 (package-classes :mnas-package/example :external nil :internal t)
  => (#<STANDARD-CLASS MNAS-PACKAGE/EXAMPLE::<A>>
      #<STANDARD-CLASS MNAS-PACKAGE/EXAMPLE::<B>>
      #<STANDARD-CLASS MNAS-PACKAGE/EXAMPLE::<B-SHORT>>
      #<STANDARD-CLASS MNAS-PACKAGE/EXAMPLE::<C-SHORT>>
      #<STANDARD-CLASS MNAS-PACKAGE/EXAMPLE::<A-SHORT>>)

package-functions(package-name &key (external t) (internal nil) (inherited nil))

Описание: функция package-functions возвращает список функций пакета package-name.

Пример использования:

(package-functions :mnas-package/example :internal t)
 => (#<FUNCTION MNAS-PACKAGE/EXAMPLE:BAZ-SHORT> #<FUNCTION MNAS-PACKAGE/EXAMPLE:BAZ>)
package-generics(package-name &key (external t) (internal nil) (inherited nil))

Описание: функция package-generics возвращает список обобщенных функций пакета package-name.

Пример использования:

(package-generics :mnas-package/example :internal t) 
 => (#<STANDARD-GENERIC-FUNCTION MNAS-PACKAGE/EXAMPLE:M-C-EXP (1)>
     #<STANDARD-GENERIC-FUNCTION MNAS-PACKAGE/EXAMPLE:M-B-EXP (1)>
     #<STANDARD-GENERIC-FUNCTION MNAS-PACKAGE/EXAMPLE:M-A-EXP (1)>
     #<STANDARD-GENERIC-FUNCTION MNAS-PACKAGE/EXAMPLE::<C-C-INT>-C (1)>
     #<STANDARD-GENERIC-FUNCTION MNAS-PACKAGE/EXAMPLE::<C-B-INT>-B (1)>
     #<STANDARD-GENERIC-FUNCTION MNAS-PACKAGE/EXAMPLE::<C-A-INT>-A (1)>)

package-macroses(package-name &key (external t) (internal nil) (inherited nil))

Описание: функция package-functions возвращает список макросов пакета package-name.

Пример использования:

(package-macroses :mnas-package/example :internal t)
 => (#<FUNCTION (MACRO-FUNCTION MNAS-PACKAGE/EXAMPLE::MAK-A-SHORT) {52D45ECB}>
     #<FUNCTION (MACRO-FUNCTION MNAS-PACKAGE/EXAMPLE::MAK-A) {52D454BB}>)

package-methods(package-name &key (external t) (internal nil) (inherited nil))

Описание: функция package-methods возвращает список методов пакета package-name.

Пример использования:

(package-methods :mnas-package/example :internal t)
    (#<STANDARD-METHOD MNAS-PACKAGE/EXAMPLE::M-FOO :AROUND (MNAS-PACKAGE/EXAMPLE::<A> MNAS-PACKAGE/EXAMPLE::<B> T) {10019B69A3}>
     ...
     #<STANDARD-METHOD MNAS-PACKAGE/EXAMPLE::M-FOO-SHORT (MNAS-PACKAGE/EXAMPLE::<A> MNAS-PACKAGE/EXAMPLE::<B> MNAS-PACKAGE/EXAMPLE:<C>) {1001C6CAC3}>)

package-setf-functions(package-name &key (external t) (internal nil) (inherited nil))

Описание: функция package-functions возвращает список функций пакета package-name.

Пример использования:

(package-setf-functions :mnas-package/example :internal t)
 => (#<FUNCTION (SETF MNAS-PACKAGE/EXAMPLE::FOO)>)

package-setf-generics(package-name &key (external t) (internal nil) (inherited nil))

Описание: функция package-functions возвращает список функций пакета package-name.

Пример использования:

(package-setf-functions :mnas-package/example :internal t)
 => (#<FUNCTION (SETF MNAS-PACKAGE/EXAMPLE::FOO)>)

package-setf-methods(package-name &key (external t) (internal nil) (inherited nil))

Описание: функция package-setf-methods возвращает список setf-методов пакета package-name.

Пример использования:

(package-setf-methods :mnas-package/example :internal t)
    (#<STANDARD-METHOD MNAS-PACKAGE/EXAMPLE::M-FOO :AROUND (MNAS-PACKAGE/EXAMPLE::<A> MNAS-PACKAGE/EXAMPLE::<B> T) {10019B69A3}>
     ...
     #<STANDARD-METHOD MNAS-PACKAGE/EXAMPLE::M-FOO-SHORT (MNAS-PACKAGE/EXAMPLE::<A> MNAS-PACKAGE/EXAMPLE::<B> MNAS-PACKAGE/EXAMPLE:<C>) {1001C6CAC3}>)

package-symbols-by-category(package-name &key (external t) (internal t) (inherited nil) &aux (external-lst nil) (internal-lst nil) (inherited-lst nil) (rez nil) (package (find-package package-name)))

Описание: package-symbols-by-category выполнят поиск символов, определенных пакетом package-name.

Пример использования:

(package-symbols-by-category 'mnas-package :internal nil)                 ;; отбор только внешних символов;
 (package-symbols-by-category :mnas-package)                               ;; отбор внешних и внутренних символов;
 (package-symbols-by-category "MNAS-PACKAGE" :internal nil :inherited t) ;; отбор только внешних и заимствованных символов;

package-variables(package-name &key (external t) (internal nil) (inherited nil))

Описание: функция package-variables возвращает список символов пакета package-name.

Пример использования:

(package-variables :mnas-package :inherited t)