sexta-feira, 24 de novembro de 2006

Todos as funções de um pacote.

Hoje rolou uma discussão legal na comp.lang.lisp sobre como fazer para
listar todas as funções de um pacote, uma dúvida que eu tinha já à
algum tempo. O resumo da discussão é o código abaixo:


(defun doc-pkg-fns (pkg)
(loop with home-package = (find-package pkg)
for sym being each symbol of home-package
when (handler-case (symbol-function sym) (undefined-function () nil))
when (eq (symbol-package sym) home-package)
do (format t "~a~%~a~%~%" sym
(or (documentation sym 'function) ""))))



Para ver todas as funções, com decumetação, do pacote common-lisp digite:

(doc-pgn-fns (find-package :common-lisp))

A discussão completa esta em: c.l.l

Nenhum comentário: