2012-10-03 15 views
6

Qual è il modo più semplice per rinominare lo spazio dei nomi in qualcos'altro. Quindi, invece di scrivere hunchentoot: start potrei scrivere ht: start.Comune modo Lisp per rinominare uno spazio dei nomi

Sto cercando qualcosa di simile pitoni importare un come B.

Edit: Utilizzando la risposta accettata, il codice per l'aggiunta di un soprannome per hunchentoot è la seguente:

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

risposta

9

quello che si chiama uno spazio dei nomi è un pacchetto Common Lisp creato con defpackage

si desidera che il soprannome pacchetto per essere ht

L'esecuzione di un defpackage su un pacchetto esistente ha un comportamento definito dall'implementazione, ma alcune implementazioni consentono di aggiungere nickname in questo modo.

C'è anche una funzione rename-package che rinomina e aggiunge soprannomi a un pacchetto.

+2

Ecco un esempio di utilizzo: http://stackoverflow.com/questions/12719039/which-regular-expression-libraries-should-i-use-in-common-lisp ? answertab = vota # tab-top –

1

Io uso questo:

(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))) 
Problemi correlati