Lisp Lists and Cons Cells

Discussions center on Lisp's traditional cons cell-based lists versus array or vector implementations in dialects like Clojure, including debates on car/cdr vs first/rest functions, syntax like dotted pairs, and related abstractions.

πŸ“‰ Falling 0.3x Programming Languages
2,882
Comments
20
Years Active
5
Top Authors
#1635
Topic ID

Activity Over Time

2007
8
2008
55
2009
104
2010
127
2011
106
2012
79
2013
145
2014
165
2015
153
2016
230
2017
270
2018
149
2019
191
2020
171
2021
167
2022
230
2023
158
2024
257
2025
113
2026
4

Keywords

OK youtu.be FP SICP CDR lang.org IMO Argmax.html haskell.o CAR lisp cons lists list clojure cells common lisp lisps indices vectors

Sample Comments

lispm β€’ Feb 10, 2019 β€’ View on HN

That would be surprising. Typically Lisp implements lists in terms of cons cells and the empty list.

lispm β€’ Jul 13, 2017 β€’ View on HN

Boah, Lisp has FIRST, SECOND, THIRD, .. REST since decades.

eru β€’ Sep 15, 2016 β€’ View on HN

Doesn't SICP stress closures more than lists? (And this list-heavy approach only really works in a dynamically typed language.)

lispm β€’ Mar 26, 2022 β€’ View on HN

Not s-expressions in the traditional Lisp definition of singly linked lists. In Lisp (a . b) is a cons cell with two symbols a and b. In Clojure it is some complex data structure with three elements a, ., and b.

gps408 β€’ Feb 26, 2015 β€’ View on HN

Would dotted pair notation make sense for this lisp where lists are arrays, not linked cons cells?

Touche β€’ Aug 27, 2018 β€’ View on HN

Reminder that lisps are FP too.

shakna β€’ May 23, 2025 β€’ View on HN

So it's the equivalent of Lisp's cons then?

spydez β€’ May 20, 2008 β€’ View on HN

No one uses lists in a LISt Processing language. :P

cess11 β€’ Apr 1, 2024 β€’ View on HN

It's not uncommon in the Lisp-family that you can use [] as well as () so that problem of yours is solved already.

brabel β€’ Jan 21, 2026 β€’ View on HN

This particular case is unique to Clojure, I believe. You definitely can’t do that in Common Lisp , and Scheme I am not so sure. It was one of the main motivations for Rich Hickey to make the language more uniform so that a few functions work on any number of data structures.