Aliaspaketnamen in Common Lisp

8

Ich verwende ein externes Paket in Common Lisp für ein Projekt; Ich möchte in der Lage sein, das Paket zu verwenden, aber es zu einem kürzeren Namen umzubenennen, ähnlich wie in Clojure ich

tun könnte %Vor%

Um Namenskonflikte zu vermeiden, mache ich das lieber nicht:

%Vor%

wobei other-package take-over-world definiert. Ich könnte einfach jedes Mal den vollständigen Namen des Pakets eingeben:

%Vor%

Aber in meinem Fall hat das Paket, das ich importiere, einen unnötig langen Namen. Kann ich other-package als

verwenden? %Vor%

durch Aliasing in op ? So etwas konnte ich im entsprechenden Kapitel in Practical Common Lisp nicht finden.

    
korrok 06.03.2015, 19:52
quelle

2 Antworten

11

In allgemeinen Lisp-Paketen haben Spitznamen . Sie können einem Paket einen oder mehrere Spitznamen in der Definition DEFPACKAGE geben:

%Vor%

Für bestehende Pakete im einfachen Common Lisp verwenden Sie RENAME-PACKAGE :

rename-package package new-name &optional new-nicknames => package-object

Beispiel :

%Vor%

Als Funktion :

%Vor%

Dann können wir anrufen:

%Vor%     
Rainer Joswig 06.03.2015, 20:58
quelle
3

Nicht direkt. Ich benutzte Ссылка in meinen CL-Tagen, aber es ist ziemlich veraltet ATM. Obwohl andere Lösungen hier aufgeführt sind Ссылка

    
iced 06.03.2015 20:03
quelle

Tags und Links