1. 10
    1. 3

      It’s a good article and I learned a couple tricks. There are 2 main caveats: starting SBCL like this and not from a binary takes a little time. You don’t have batteries included. Want a HTTP client, a CSV parser? You have to quickload them and this adds up in the startup time.

      That’s why I started CIEL, CL with batteries included, of which you can get a binary and run scripts that start fast and can do common tasks. It’s also a superset of useful libraries that you can quickload or use with a core image (for a fast startup in your editor).

      https://github.com/ciel-lang/CIEL/

      http://ciel-lang.org/

      It’s in beta, polishing phase.

      1. 1

        BTW:

        you could just replace it with… #!/usr/bin/sbcl –load /home/youruser/.sbclrc –script

        except a shebang only accepts 1 arg. Another reason for #!/usr/bin/env ciel.

    2. 1

      Very cool. I added this link to my blog post from 2022.

    3. 1

      More Lisp-y solutions - https://github.com/oilshell/oil/wiki/Internal-DSLs-for-Shell#lisp-y-languages

      (and solutions in basically every other language too!)

    4. 1

      If you want to have Common Lisp implementation agnostic way to script, Roswell works nicely as a scripting environment. [1]

      [1] https://roswell.github.io/Roswell-as-a-Scripting-Environment.html

    5. 1

      You can also use my CL configuration management system, Consfigurator, for this sort of thing. As systems administration is expected to involve doing shell script-like things, there are various relevant utilities built-in, and external libraries already pulled in. It also has some Perl-like reader macros, such as #~s/foo/bar/, and even Emacs support for those.

      There is also inferior-shell, which I have been thinking of using in combination with Consfigurator.