# Common Lisp

- Page: https://shared.btbytes.com/p/common-lisp
- Date: 2020-05-13
- Tags: lisp, programming-language

# Why

[Why I Chose Common Lisp — Dan's Musings](https://blog.djhaskin.com/blog/why-i-chose-common-lisp/); Jan 2025.

## Core

* [Common Lisp Type Hierarchy ←](http://sellout.github.io/2012/03/03/common-lisp-type-hierarchy)


## Learning

* [spxy/clpc: Common Lisp Programming Challenge](http://web.archive.org/web/20201202155126/https://github.com/spxy/clpc)

> If you are a beginner to CL, this challenge will help you to get started with setting up a development environment from scratch and begin the journey of learning CL together with other community members.



## Reading /practicing CL programming

* [Lisp project of the day](http://40ants.com/lisp-project-of-the-day/index.html)
* [Lisp Koans](https://github.com/google/lisp-koans/)


## Scripting

[Common Lisp as a Scripting Language, 2015 edition - Cybernethics / Cybernéthique — LiveJournal](https://fare.livejournal.com/184127.html)

Install `cl-launch`:

    git clone https://gitlab.common-lisp.net/xcvb/cl-launch.git
    cd cl-launch
    make
    make install
    which cl
    /usr/local/bin/cl

Example script --  `cllaunch1.lsp`:

```lisp
#!/usr/bin/cl -sp lisp-stripper -E main
(defun main (argv)
  (if argv
      (map () 'print-loc-count argv)
      (print-loc-count *standard-input*)))
```

Run it: `chmod +x cllaunch1.lsp`

Fails with: `Component "lisp-stripper" not found, required by #<SYSTEM "cl-launch-build-0">`

To fix this, i cloned `https://github.com/fare/lisp-stripper` to `~/common-lisp`, and the above problem goes away. Next it fails to find `cl-ppcre`.

I do remember installing it using quicklisp -- `ls ~/quicklisp/dists/quicklisp/software/cl-ppcre-20190521-git`.


## Distributing CL binaries

- [Distributing binaries with Common Lisp and foreign libraries | the fe[nl]ix blog](https://blog.cddr.org/posts/2023-02-20-distributing-binaries-cl-ffi/)

## Links

* [Typed common-lisp](https://news.ycombinator.com/item?id=23884053)

## Common Lisp Books

* [Mark Watson's book page](https://markwatson.com/books/)
* [Read Programming Algorithms | Leanpub](https://leanpub.com/progalgs/read)

## Blogs

* [Lispology.com](http://www.lispology.com/show?JHE)
* [40ants.com/lisp-project-of-the-day/index.html](http://40ants.com/lisp-project-of-the-day/index.html)

## Projects

Fairly recent Common Lisp project that is not just a web application etc., -- https://github.com/atgreen/red-light-green-light -- "A git-centric policy management and enforcement tool designed to accelerate your CI/CD pipelines."

[Opusmodus](https://opusmodus.com/) -- "Music Composition System"

> Opusmodus revolutionizes music composition, fuses traditional notation with modern concepts, and streamlines the path to a finalized score.


## Editing
- [nobody-famous/alive: Common Lisp Extension for VSCode](https://github.com/nobody-famous/alive)
- [s-clerc/slyblime: Interactive Lisp IDE with REPL, Inspector, Debugger and more for Sublime Text 4.](https://github.com/s-clerc/slyblime)
