Question

Coming from a Perl background, I have to say I prefer cpan Foo::Bar to the having to start sbcl, (require :asdf-install) and finally (asdf-install:install :foo-bar). Is there anything more convenient than this around?

Was it helpful?

Solution

There is clbuild:

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

But I add this to my .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)"
}

OTHER TIPS

Common Lisp can be verbose; however most (all?) implementations support a Lisp startup file that defines/loads whatever you like to personalize your development environment.

Also, check out Mudballs.

You might check out http://www.quicklisp.org/ - it's quick and easy to install, then to download, install, and load systems:

(ql:quickload :cxml)

To translate to Perl, this is like (shell) cpanm cxml and (inside Perl) use cxml all in one.

You can search for systems as well; for instance to list all the :

(ql:system-apropos "xml")

Commonly you'd be running a lisp process and giving it these commands directly, but if you prefer to do your installation and so on from the shell, you could define aliases (as you have in the answer 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)"
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top