librerie di installazione asdf dalla riga di comando
-
06-07-2019 - |
Domanda
Proveniente da un background Perl, devo dire che preferisco cpan Foo :: Bar
al dover avviare sbcl, (richiede: asdf-install)
e infine (asdf-install: install: foo-bar)
. C'è qualcosa di più conveniente di questo in giro?
Soluzione
Esiste clbuild:
http://common-lisp.net/project/clbuild/
Ma aggiungo questo al mio .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)"
}
Altri suggerimenti
Il Lisp comune può essere dettagliato; tuttavia la maggior parte (tutte?) le implementazioni supportano un file di avvio Lisp che definisce / carica tutto ciò che ti piace per personalizzare il tuo ambiente di sviluppo.
Inoltre, controlla Mudballs .
Potresti dare un'occhiata a http://www.quicklisp.org/ - è facile e veloce installa, quindi per scaricare, installare e caricare i sistemi:
(ql:quickload :cxml)
Per tradurre in Perl, è come (shell) cpanm cxml
e (all'interno di Perl) usa cxml
tutto in uno.
Puoi anche cercare sistemi; ad esempio per elencare tutto:
(ql:system-apropos "xml")
Comunemente eseguiresti un processo lisp e gli daresti questi comandi direttamente, ma se preferisci fare la tua installazione e così via dalla shell, potresti definire gli alias (come hai nella risposta 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)"
}