Remix.run Logo
pjcurran 4 hours ago

I happen to just stumble across this article https://felixbarbalet.com/simple-made-inevitable-the-economi... extolling the virtues of Clojure. It specifically calls out Go for not being simple in the ways that matter for LLMs.

I've no idea myself, I just thought it was interesting for comparison.

lukev 4 hours ago | parent | next [-]

Clojure is awesome for LLMs (if you shim in an automatic paren balancer).

But that's because it's tight, token efficient, and above all local. Pure functions don't require much context to reason about effectively.

However, you do miss the benefit of types, which are also good for LLMs.

The "ideal" LLM language would have the immutability and functional nature of Clojure combined with a solid type system.

Haskell or OCaml immediately come to mind, but I'm not sure how much the relative lack of training data hurts... curious if anyone has any experiences there.

mpalmer 4 hours ago | parent [-]

I was ripping through an OCaml project of mine over the weekend with Gemini 3 Flash. Could have fooled me there's a training data shortage!

WalterGR 3 hours ago | parent | prev | next [-]

Clojure is definitely dense. I’m wondering, though, about the languages’ representation in the training data.

Stack overflow tags:

  17,775 Clojure
  74,501 Go
I’m not finding a way to get any useful information from GitHub, e.g. count of de-duplicated lines of code per language. There might be something in their annual “Octoverse” report but I haven’t drilled into it yet: https://github.blog/news-insights/octoverse/octoverse-a-new-...
nameless912 4 hours ago | parent | prev [-]

I was prototyping to this end the other day - what would it be like for a coding agent to have access to a language that can be:

- structurally edited, ensuring syntactic validity at all times

- annotated with metadata, so that agents can annotate the code as they go and refer back to accreted knoweledge (something Clojure can do structurally using nodepaths or annotations directly in code)

- put into any environment you might like, e.g. using ClojureScript

I haven't proven to myself this is more useful/results in better code than just writing code "the normal way" with an agent, but it sure seems interesting.