freenode/#lisp - IRC Chatlog
Search
9:29:21
Nilby
I'm not sure what you mean, but one can do something like this: (subseq '#1=(#\x . #1#) 0 20))
9:39:58
ldb
Nilby: circular buffer is like an array with fill pointer that when gets full it overwrites the mose old entry
9:43:17
ldb
i guess it would like a queue but the very first element automatically discarded when the length exceeded certain amounts
9:44:16
White_Flame
ldb: what's the difference between that, and a pure functional array where you simply drop off older entries without overwriting them?
9:45:20
White_Flame
and I'd say only drop off old nodes if they're fully passed by, don't bother dropping individual entries, and store a first-entry offset
10:03:30
Nilby
A non-mutative circular buffer would just eat memory, so you're actually just making the garbage collector do the mutative circularity work.
10:43:42
White_Flame
ldb: since the root node of the tree has to change every time there's a change in the functional structure, the index can live there
11:14:23
White_Flame
but if you're just using a plain tree without multi-element nodes, then pruning old values may or may not amortize, unless you have a special function for it
12:48:06
Xach
ACTION prepares for purging a bunch of things that don't work with sbcl 2.1.1 and which are unmaintained
12:48:42
Xach
approximately http://report.quicklisp.org/2021-01-30/failure-report.html (cl-protobufs is not one of them)
12:52:14
theothornhill
whats the sly equivalent of slime-inspect-presentation-at-point? Can't seem to find anything
12:55:10
Xach
(i was really happy to learn about emacs's xterm mouse mode where clicking works even through ssh to a remote emacs)
13:00:31
Xach
I started using sly a few months ago and really like it. there are only a few things that trip me up in the slime->sly transition.
13:01:23
Xach
and very very occasionally my notion of * differs from sly's due to some unknown cause
13:04:32
Xach
Ahh, thanks. I thought I reported all errors but that one is new since the last big breaking change.
13:05:33
Xach
i have a program to go through all github-hosted projects and submit a bug if one doesn't already exist, but i haven't run it lately
13:06:28
phoe
Derived type of SEQUENCE is (OR VECTOR SB-KERNEL:EXTENDED-SEQUENCE), conflicting with its asserted type LIST.
13:06:34
phoe
https://github.com/j3pic/lisp-binary/blob/02ce88f285ef4c8e8b3c2be3385217490fab9628/utils.lisp#L293-L297
13:09:32
phoe
SBCL is indeed getting better and better at removing projects from quickli^W^W^W^Wfinding bugs in code at compile-time
13:11:07
Xach
i've been using allegro a lot lately and i really miss some of the bugcatching of sbcl
13:22:13
Xach
it's not a problem that arrived in the last month, and i'm not sure it will be fixed in the next month
13:23:24
Xach
there's certainly no rush for a third party (you) to fix things, i meant more that i didn't think that timeframe would see much action by the original authors.
13:59:43
ex_nihilo
Xach: I've seen you mention a couple of times recently that you have been building with SBCL 2.0.5 while there are issues with 2.1. Is there something special about 2.0.5?
14:33:37
Xach
ex_nihilo: i don't know the exact point it started to detect e.g. slot initform/type incongruence - i picked 2.0.5 somewhat arbitrarily.
14:45:43
Xach
i think sbcl's changes are a net good, they just create some temporary headaches for me
15:12:06
phoe
Xach: is there any help you'd need with regard to implementing PGP signatures in Quicklisp? Asking in context of that recent /r/lisp post
15:13:48
Xach
phoe: one sticking point is key rotation. i'm not sure how to adapt my initial implementation (which assumes an unchanging signing key) to a key that is periodically updated.
15:18:31
phoe
I assume that we could write a test suite that generates a signing key that expires in five seconds, tests that everything works, sleeps for five seconds, then tests with a derivative of the original key
15:26:25
phoe
basically, you have a non-expiring master key that you use only for generating temporary keys
15:26:39
phoe
and then when you create a new temporary keys, you sign the new key with the old one and vice versa
15:27:33
phoe
google-fu tells me https://danielpecos.com/2019/03/30/how-to-rotate-your-openpgp-gnupg-keys/
15:28:33
phoe
IIRC you sign a message that tells your favorite keyserver "hey, I am revoking this key, don't use it anymore" and then you send it
15:29:08
phoe
that's already an infrastructure question I think - you can possibly distribute your public keys via http://quicklisp.org
15:29:48
phoe
I mean, in theory, the client can download the file at http://quicklisp.org/keys/newest.zip and inflate it and scan the contents of that archive
15:31:12
Xach
Yes, there are many possible theories, but one must be chosen, and its strengths and weaknesses assessed, and implemented, and that's where things are at now.
15:34:39
Xach
the infrastructure is 100% there and it's a matter of policy and structure (as i mentioned)
15:46:38
Xach
phoe: i'm not sure. i don't think i like "whenever it's required" - i think i'd prefer a calendar cadence, but maybe a release cadence makes sense.
15:49:02
phoe
yes - I think that a dist may be secure or insecure, where insecure is the default and the only thing that currently exists
15:49:37
Xach
phoe: i have to go, but let's set up a separate chat location for this, i want to discuss further
15:49:38
phoe
and secure basically requires the new PGP stuff to fire before Quicklisp installs anything.
15:50:11
Xach
phoe: if you'd like to see what's in place now, see the gpg branch of quicklisp-client and quicklisp-bootstrap. it works all right for what it does but i don't think it can be the initial solution.
15:57:48
Josh_2
Xach: I have created 4 rectangles with Vecto, how do I colour each one individually?
16:00:48
Xach
you can have multiple independent subpaths but they all share the same graphics parameters when painting (fill color, stroke color, stroke size, join style, etc)
16:01:08
Xach
"independent" in the sense that they do not have to touch each other - they are separated by move-tos