5 ms·
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
by bunderbunder 8mo ago
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.)
- shakna 8mo agoUh... 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-Pairs.html https://www.gnu.org/software/guile/manual/html_node/Cheaper-... [1] https://github.com/gambit/gambit/blob/master/gsc/_back.c#L1159 https://github.com/gambit/gambit/blob/master/gsc/_back.c#L11...