Jonathan Magen
Computers and Stuff
2y ago

I am going to show you examples of modern examples of Lisp which can help you with DevOps tasks. No, I'm not joking. No, I'm not drunk.

In no uncertain terms, the power of Lisp is ideally suited for automation. This is not just because of how expressive it is. It's also because of how straightforward Lisp is for solving real-world problems.

Now, let's dive in.

#1: Racket's new Zuo

Zuo is a huge step forward for both process automation as well as using Lisp for general scripting!

Since Zuo is basically just a tiny Racket wrapped around an automation-friendly core, it's ideal for scripting build systems! Zuo is new in Racket 8.6 but it's already making a splash amongst language aficionados who also need to get stuff done.

https://docs.racket-lang.org/zuo/index.html

#2: High-level automation with Bass

From building container images to automating builds, Bass has you covered!

Bass lang is a bespoke Lisp which runs on top of Docker's buildkit. Unlike Zuo, it's a Lisp dialect designed and written exclusively for the purposes of making common project tasks cacheable. It does this through the enduring magic of thunks, or unevaluated functions. Make sure to check out it's growing standard library.

https://bass-lang.org

#3: Configure your server fleet with Adams

Sure existing options are cool, but have you tried not using YAML?

While Adams might seem little more than a stylistic choice in favor of S-Expressions, this library packs a punch. Come for the efficient code-reuse, stay for the declarative nature of configs. As a bonus feature, it's written in Common Lisp and therefore has a ton of extension potential.

https://github.com/cl-adams/adams

Now go forth and be awesome!

Wishing you the best of luck as you Lisp!

What will you write today?

Write, publish, get feedback, and become a better writer.

Trusted by 75,000+ writers