logoalt Hacker News

bunderbunderyesterday at 3:27 PM1 replyview on HN

They’ve got a page on that. They did away with linked lists and chose to represent them as vectors. With some of the usual stuff you see going on under the hood in this style of list on imperative languages, like pre-allocating a little room for growth.

I can’t opine on whether that’s a good choice. But I will observe two things: first, singly linked lists aren’t as great on modern computing architectures as they were 50 years ago. Locality of reference matters a lot more now. And second, both Hy and Clojure abandoned the traditional focus on dotted pairs, and in both cases I found it was fine. (Disclaimer, I didn’t spend a whole lot of time with Hy.)


Replies

shaknayesterday at 9:12 PM

Uh... Most Schemes don't use linked lists under the hood. That doesn't impact the syntax, just the implementation.

Guile uses vectors, for example. [0]

Chicken... Is Cheney, so your list disappears entirely, half the time.

Gambit uses vectors. [1]

[0] https://www.gnu.org/software/guile/manual/html_node/Cheaper-...

[1] https://github.com/gambit/gambit/blob/master/gsc/_back.c#L11...