2009-01-09 5 views
4

Venant d'un arrière-plan Perl, je dois dire que je préfère cpan Foo::Bar le devoir commencer sbcl, (require :asdf-install) et enfin (asdf-install:install :foo-bar). Y at-il quelque chose de plus pratique que cela autour?bibliothèques qsdf-installation de la ligne de commande

+0

asdf-install est censé être maintenu; considérer quicklisp; voir http://www.cliki.net/asdf – dat

Répondre

3

Il est clbuild:

http://common-lisp.net/project/clbuild/ 

Mais j'ajouter à mon .bashrc:

function asdf_install { 
    sbcl --eval "(asdf:operate 'asdf:load-op :asdf-install)" --eval "(asdf-install:install :$1)" --eval "(quit)" 
} 

function asdf_oos { 
    rlwrap sbcl --eval "(asdf:operate 'asdf:$2 :$1)" 
} 
+0

Que fait asdf_oos? – Hinrik

+0

oos = fonctionner sur le système. jrockway a montré un raccourci pour 'asdf: opérer 'asdf: load-op' mais il y a d'autres opérations (comme' asdf: test-op') que vous voudrez peut-être faire. –

1

Common Lisp peut être bavard; Cependant, la plupart des implémentations (toutes?) prennent en charge un fichier de démarrage Lisp qui définit/charge tout ce que vous voulez pour personnaliser votre environnement de développement. En outre, consultez Mudballs.

+0

Que voulez-vous dire par "verbose"? – Svante

+0

Je veux dire: par rapport à la ligne de commande Unix, ou ce que je connais peu de Perl, les programmeurs Common Lisp ont tendance à utiliser des noms longs; ajouter des préfixes de paquets et les noms peuvent sembler * vraiment * longs à certains nouveaux arrivants. Cela rend le code plus facile à lire, mais pas aussi pratique à taper. –

+0

tapez une fois et profitez pendant une longue période :) –

1

Vous pouvez consulter http://www.quicklisp.org/ - il est rapide et facile à installer, puis à télécharger, installer et systèmes de charge:

(ql:quickload :cxml) 

Pour traduire à Perl, c'est comme (shell) cpanm cxml et (à l'intérieur Perl use cxml tout en un.

Vous pouvez également rechercher des systèmes; par exemple à la liste tous les:

(ql:system-apropos "xml") 

Généralement vous souhaitez exécuter un processus Lisp et en lui donnant ces commandes directement, mais si vous préférez faire votre installation et ainsi de suite à partir du shell, vous pouvez définir des alias (comme vous avez dans la réponse https://stackoverflow.com/a/427333/17221):

function ql_install { 
    sbcl --eval "(ql:quickload :$1)" --eval "(quit)" 
} 

function ql_apropos { 
    sbcl --eval "(ql:system-apropos \"$1\")" --eval "(quit)" 
} 
Questions connexes