Why Target Common Lisp for Code Generation?

(funcall.blogspot.com)

19 points | by oumua_don17 15 hours ago

7 comments

  • varoun 5 minutes ago
    I spent the last year writing substantial Common Lisp, including a FoundationDB client and distributed systems primitives layered on top of that, an observability and operability library for CL systems, and a large scale log, metrics and tracing platform that leverages these - in about 200K lines of code and tests. My take on this, apart from one of familiarity and personal preference/taste in choosing a programming language, in the age of LLMs are - 1. From a “functional requirements” perspective, any language will do. You can build substantial systems in something low level like C or higher level like Python or Common Lisp for example. 2. From a security perspective, if you are using LLM assisted code generation, whether you use C or Rust or Common Lisp does not really matter I think - current models are capable, and future models perhaps more so, in producing secure code.

    My understanding is that LLM are deflationary, resulting in code being priced as a commodity (cost plus). If this bears out, then lower token costs and higher performance (esp in my case, where good performance results in lower infra costs to host the service) will start to matter more and more. Common Lisp code bases are famously dense (in the good sense), resulting in perhaps lower token costs when an LLM needs to review and make a change (smaller code bases also help humans / small teams). Common Lisp can achieve performance that’s close to that of an equivalent implementation in C or C++.

    Taken together, they make for one case for using CL and other similar languages, although one that’s grounded largely in economics.

  • shric 58 minutes ago
    I’m fascinated that some people in our field choose to self describe themselves as “elite”.

    Are there any programming/computer science greats that self aggrandize like this? Is it a cultural thing somewhere that I’m not aware of?

    • kodoman 9 minutes ago
      Most well known Dijkstra, who it can safely be said, is one of the greats. Though this blog post is a little much with the whole elite thing there is a little much, I think a rather terrible attitude that is antithetical to it is that of 'Democratization' which seeks to strip skill and need to learn from building and interacting with technology often at the expense of many positive attributes. It hates any thing that requires skill or simply prior learning to use well despite often these things meaning the system overall can better serve the user better and one the prior work has been done is more effective.

      Further this 'Democritisation' can be seen as trying to deskill something that taking away many positives and having contempt for skill. I believe This is often simply to devalue software developers and I assume you are one so I believe we should both be cautious of this devaluation.

      I think a more interesting question would be why should we not have elite's and I don't know if I am unusual but false humility always rubs me the wrong way?

    • jpcom 26 minutes ago
      Roughly just over one-thousand people, precisely 1,337 people self-describe as elite in the field.
    • esjeon 21 minutes ago
      Lisp is a highly expressive language with little constraint, so there’s plenty of room for individuals to become strongly opinionated. That leads to a bit of elite mindset.
    • BigTTYGothGF 50 minutes ago
      Describing oneself as "elite" (or sometimes "l33t") is something people in this field have been doing for a long long time.
    • aidenn0 43 minutes ago
      I've been programming in Common Lisp for a quarter century and that list item made me cringe.
    • drekipus 48 minutes ago
      Too noob to get it
  • stackghost 2 minutes ago
    >I do not operate the LLM in a sterile text editor. I operate it from within a Lisp REPL

    I'd be very interested in reading more about this.

  • PrimalPower 29 minutes ago
    I don't know if anything has changed, but last time I tried codegen for Common Lisp, the LLM would routinely mix up LISP dialects and language specific features.

    Less so with Clojure.

    • wild_egg 22 minutes ago
      I've been using LLMs for Common Lisp since Sonnet 3.7 and have never experienced that. Did you have a mixture of other lisps nearby to confuse it? Seems like an odd failure mode.
  • a2ff6eeb0 27 minutes ago
    In short: sunk cost fallacy.
  • samso26 36 minutes ago
    [flagged]
  • ohaodha 7 minutes ago
    [dead]