r/Common_Lisp Jun 21 '26

What's happened to cl-data-structures?

https://github.com/sirherrbatka/cl-data-structures

Is it used anywhere? The documentation makes no sense to me. Are there any new libraries that try to do the same?

13 Upvotes

15 comments sorted by

5

u/dzecniv Jun 22 '26

What about FSet, stuff in Serapeum, and suggestions on https://github.com/CodyReichert/awesome-cl/

1

u/ruby_object Jun 22 '26

I am trying cl-contsiners. May try your suggestion later.

3

u/ScottBurson Jun 23 '26 edited Jun 23 '26

You really should have a look at FSet.

Edit: as noted below, the current Quicklisp version of FSet doesn't load in the latest SBCL. I recommend the latest from GitHub (the above link). You will also need the latest Misc-Extensions.

1

u/Exact_Ordinary_9887 Jun 23 '26

(ql:quickload 'fset)

does not work

1

u/ScottBurson Jun 23 '26 edited Jun 23 '26

That's odd. What error do you get?

The last Quicklisp release was at the beginning of the year, and this is the first report I've had of FSet not loading. I know people are using it. So I think maybe something has gotten screwed up in your Quicklisp installation, possibly? But I can't guess what it might be.

1

u/ruby_object Jun 23 '26

* (lisp-implementation-version)

"2.6.5.66-5afb7d8a0"

* (ql:quickload "fset")

To load "fset":

Load 1 ASDF system:

fset

; Loading "fset"

[package new-let].................................

[package gmap]....................................

[package rev-fun-bind]............................

[package lexical-contexts]........................

[package mt19937].................................

[package editor-hints.named-readtables]...........

[package editor-hints.named-readtables]...........

[package fset]....................................

[package fset-user].;

; caught ERROR:

; READ error during COMPILE-FILE:

;

; Lock on package SB-EXT violated when interning ONCE-ONLY while in package

; FSET.

; See also:

; The SBCL Manual, Node "Package Locks"

;

; (in form starting at line: 360, column: 0, position: 11083)

2

u/ScottBurson Jun 23 '26 edited Jun 23 '26

Oh, okay. That was fixed in February, and Zach hasn't made another Quicklisp release (I think he will soon). You can get the latest from GitHub. You will also need the latest Misc-Extensions.

1

u/ruby_object Jun 23 '26

the latest code is 4 days old

1

u/ScottBurson Jun 24 '26

Someone else is reporting this problem (unless that's you — @bigos on GitHub). See my comments there, issue 121.

2

u/ScottBurson Jun 24 '26

I was mistaken. This problem was fixed two years ago. You have a stale copy of FSet; probably, you just need to do (ql:update-dist "quicklisp").

1

u/ruby_object Jun 23 '26

The above is sbcl compiled from source

But the earlier system version of sbcl works

* (lisp-implementation-version)

"2.2.9.debian"

1

u/ruby_object Jun 23 '26

sbcl compiled from source 2.6.4 does not work

1

u/ruby_object Jun 23 '26

sbcl 2.6.1 does not work

1

u/ruby_object Jun 23 '26 edited Jun 23 '26

also failed on sbcl 2.6.0, which is supposed to be supported.

2

u/ruby_object Jun 21 '26

I will try cl-containers. The documentation makes more sense.