The racket/treelist and racket/mutable-treelist libraries provide list-like containers that support many operations in effectively constant time, including appending and extracting sub-lists without mutating the given list. Treelists are implemented as RRB Vectors, invented by Stucki, Riompf, Ureche, and Bagwell. (see 4.16 Treelists [1] and RRB vector: a practical general purpose immutable sequence [2], ICFP 2015)
What consistently impresses me is Racket seems to be one of the most professionally developed open source software (or lisp implementation) I aware of.
Solid releases, well tested, four times a year, and on all major platforms.
The Racket compiler too. So quick it is used in the REPL, and the compiled code is damn fast too.
To me, the close tie to academia is why Racket is developed the way it is developed.
It is feasible for tenure track academics to use Racket development as a research vehicle to help navigate publish or parent. This makes it feasible for students to use Racket development as route to an academic credential. In turn, the academic context feeds the Racket ecosystem with new novel projects.
Finally standards within the Racket community favor a pedagogical rigor and non-auto-generated documentation.
The racket/treelist and racket/mutable-treelist libraries provide list-like containers that support many operations in effectively constant time, including appending and extracting sub-lists without mutating the given list. Treelists are implemented as RRB Vectors, invented by Stucki, Riompf, Ureche, and Bagwell. (see 4.16 Treelists [1] and RRB vector: a practical general purpose immutable sequence [2], ICFP 2015)
[1] https://docs.racket-lang.org/reference/treelist.html#(part._...
[2] https://dl.acm.org/doi/abs/10.1145/2784731.2784739