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
Répondre
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)"
}
Que fait asdf_oos? – Hinrik
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. –
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.
Que voulez-vous dire par "verbose"? – Svante
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. –
tapez une fois et profitez pendant une longue période :) –
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)"
}
asdf-install est censé être maintenu; considérer quicklisp; voir http://www.cliki.net/asdf – dat