Writing Small CLI Programs in Common Lisp (2021)

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • dotfiles

    config info (by fiddlerwoaroof)

  • Yeah, that’s definitely where I’ve ended up: I have a lot of lisp code, but it’s more of a toolbox for my shell (REPL) than standalone programs.

    However, I’ve settled on a pattern that works pretty well for the few small tools I write: https://github.com/fiddlerwoaroof/dotfiles/blob/18cecfc93bcf...

  • CIEL

    CIEL Is an Extended Lisp. Scripting with batteries included.

  • and for CL: https://github.com/ciel-lang/CIEL/ (pre-alpha) CL with many batteries included (json, csv, http, CLI parser…) so the scripts start fast.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • lone

    The standalone Linux Lisp

  • > only to be confronted with the notorious 'incompatible glibc version error'. It's super annoying.

    I started making my own freestanding Linux Lisp because of this exact issue. It's nowhere near as performant as something like SBCL but it's small and once compiled has no dependencies and will literally run on any Linux.

    https://github.com/lone-lang/lone

    I'm taking a break from this project but I plan to add a feature where I can put a Lisp script into the ELF itself so I can just copy it with the scripts included.

  • janet-sh

    Shorthand shell like functions for janet.

  • cligen

    Nim library to infer/generate command-line-interfaces / option / argument parsing; Docs at

  • If you find this article interesting and are curious about Nim then you would probably also be curious about https://github.com/c-blake/cligen

    That allows adding just 1-line to a module to add a pretty complete CLI and then a string per parameter to properly document options (assuming an existing API using keyword arguments).

    It's also not hard to compile & link a static ELF binary with Nim.. I do it with MUSL libc on Linux all the time. I just toss into my ~/.config/nim/nim.cfg:

        @if musl:  # make nim c -d:musl .. foo static-link `foo` with musl

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts