2012-10-03 8 views
6

Cuál es la forma de Common Lisp para cambiar el nombre de un espacio de nombres a otra cosa. Entonces, en lugar de escribir hunchentoot: start podría escribir ht: start.Common Lisp manera de cambiar el nombre de un espacio de nombres

Busco algo así como pitones importar una como B.

Editar: Usando la respuesta aceptada, el código para añadir un apodo para Hunchentoot es el siguiente:

(rename-package :hunchentoot :hunchentoot '(:ht)) 

Respuesta

9

lo que llamas un espacio de nombres es un paquete Common Lisp creado con defpackage

desea que el apodo de paquete para ser ht

Realizar una defpackage en un paquete existente ha definido el comportamiento de la aplicación, pero algunas implementaciones permiten la adición de sobrenombres de esa manera.

Existe también una función rename-package que cambia el nombre y apodos agrega a un paquete.

+2

He aquí un ejemplo de uso: http://stackoverflow.com/questions/12719039/which-regular-expression-libraries-should-i-use-in-common-lisp ? answertab = votos # tab-top –

1

utilizo este:

(defpackage :foo+bar 
    (:use :bar) 
    (:export 
    #:*foo* #:foo #:foo-p #:foo-ffs! 
    . #.(let (ext) 
     (do-external-symbols (sym :bar) 
      (push (symbol-name sym) ext)) 
     ext))) 
Cuestiones relacionadas