Share your thoughts in the 2025 State of Clojure Survey!

Welcome! Please see the About page for a little more info on how this works.

0 votes
ago in Compiler by
closed ago by

Stemming from a conversation on slack, I learned that list is not a function created with fn* but an instance of the class clojure.lang.PersistentList$Primordial. This leads to inconsistencies, such as (vary-meta list assoc :hello :world) throwing an error instead of returning an AFunction with metadata. Reading through the git history, it looks like this approach was chosen very early (commit "made list return a PersistentList, not a seq").

Is there a reason why this approach was taken versus a create(ISeq args) overload like vector and hash-map?

closed with the note: Rich indicated he's not interested in pursuing this

1 Answer

0 votes
ago by
selected ago by
 
Best answer

Probably only known to Rich, don't think these inconsistencies are important.

ago by
Rich indicated he's not interested in pursuing this, so I'll close this.
...