libera/#commonlisp - IRC Chatlog
Search
2:58:29
EdLangley[m]
I have a library of utilities I use in all my projects and I just move useful things there
2:58:48
aeth
But then you'd also have to consider e.g. a CLA, and people might not like a CLA that could turn AGPL into MIT
3:00:13
aeth
And I can't really blame them. Promises are kept until you're acquired by one of the 10 tech megacompanies.
3:05:50
aeth
I suppose everyone could assign their copyright to, say, the Common Lisp Foundation or something
3:58:30
ns12
aeth: Dangerous! When an evil beast takes control of the Common Lisp Foundation, they will change the license to a proprietary one! Say goodbye to all the open source Common Lisp libraries!
4:05:16
beach
contrapunctus: define-save-info specifies a list of "save entries", where a save entry is a list of two symbols, an initarg (usually for some slot) and the name of a reader that corresponds to that initarg.
4:05:20
mfiano
I don't mind using copyleft software, but developing with, especially for the purpose of making a living, is out of the question.
4:15:48
lisp123
When connecting to a remote image in SLY on your current machine, I'm experiencing a tiny amount of lag - does anybody else have this?
6:46:56
contrapunctus
beach: thanks for the response. In trying to find out "when or why does client code need to use `define-save-info`?", I tried to run `do-things-1` and got this error - https://paste.rs/MEQ
7:04:31
EdLangley[m]
Josh_2: did you happen to use the OpenAPI spec for cl-matrix? or handwrite the api wrappers?
9:32:26
pve
Hi, is the "defsystem" syntax used in "asd" files based on some specification? Just curious..
9:35:10
jdz
pve: Documentation has the grammar (not sure if that's what you're asking): https://asdf.common-lisp.dev/asdf.html#The-defsystem-grammar
9:40:24
pve
jdz: Thanks, I meant if the syntax was defined in conjunction with the development of ASDF in an ad-hoc fashion, or if the syntax (or parts of it) had been specified earlier by someone else.
9:41:23
jdz
Pretty sure previous versions of system definition facilities (hence the A in the name) were considered when the library was being written.
10:09:11
pve
I was reading this thread about ASDF where some people suggested having a specification for a system definition facility (as opposed to a just a single implementation) and it sounded like a pretty cool idea.
10:14:20
phoe
ASDF is the local optimum until there happens to be a force that can move everything to a different local optimum
10:56:56
rotateq
like when i defined naively an initialize-instace :before which should be with :after and then i wondered why the other still tried to fire ^^
10:57:55
rotateq
hm there's also REMOVE-METHOD, or you look what closer-mop has in charge additionally
10:59:02
frodef
you have to FIND-METHOD first. It's quite tedious, which is why it should be in the IDE.
10:59:41
rotateq
ah that makes sense, like when i figured out how to list only certain EQL specializer methods for a generic function with closer-mop
11:00:29
rotateq
so you would want to be with the cursor in your source file and then call slime-undefine-method?
11:01:41
frodef
Also, some sort of generic function inspector where you can see and remove methods would be nice.
11:19:47
beach
Emacs has a very approximate idea of what is in your .lisp buffer. I mean, it can't even indent or highlight correctly. Expecting it to recognize a method or a generic function would be too much.
11:21:56
beach
You could see it as a Second Climacs rant. (first) Climacs is no longer a thing, and Second Climacs is being developed very slowly, so not usable yet.
11:23:14
beach
Well, the first one was already better for Common Lisp editing than Emacs, at least in some respects. Second Climacs uses a Common Lisp reader (Eclector) to parse the buffer contents, so it has a much better idea of the contents.
11:43:38
lisp123win
For my understanding, why are there so many revisions and changes to ASDF (or any other build tool)? The naive part of me just wants now to write a series of LOAD forms and be done with things
11:44:41
lisp123win
(and I was programming in another language, and building was a complete DISASTER, so I do appreciate ASDF alot)
11:45:10
lisp123win
rotateq: Hello from a closed source machine where my every key is tracked into M$ ML models :-)
11:45:55
rotateq
what i also got to like is this Shake Haskell tool to fight against Make madness. but it's not really normally usable yet, a bit complicated and hmm. but in the long run it does things better too
11:46:12
mcoll
what is the canonical way to interact with cairo in common lisp? I see cl-cairo2 but it's almost 10 years old, is it up to date enough? is the cairo API that stable?
11:48:00
rotateq
mcoll: don't confuse this with being "out of date" :) there is real legacy with CL and it could also mean "finished and usable"
11:49:30
lisp123win
I am have started to branch into other languages just for fun, but now we are going off topic so I will shut up :-)
11:49:42
mcoll
yeah, fair enough, maybe my question could be reformulated, what is the best way currently in CL to generate images with text rendering?
11:56:19
foxfromabyss
I have a function of 2 arguments, and would like to pass it as `:test` in `find` with one of them already supplied, as `find` requires a function of 1 argument
11:56:20
foxfromabyss
I tried making a function of 2 arguments return a lambda requiring 1 argument, with 1 argument already applied, but that failed to compile for some reason
12:01:24
foxfromabyss
that was my initial idea, but I have a `cons point_1 point_2` and would like to check if either of them satisfies equality
12:01:33
mcoll
foxfromabyss, I think you're closing the lambda parenthesis, so you're not returning a lambda so B is not defined
12:03:58
foxfromabyss
but how do I call that now? `((test 5) 6)` and `(6 (test 5))` fails with illegal function call
12:10:22
mcoll
well, it looks like cl-cairo2 loads and the demos work, so I guess I'll continue with this until I hit a wall
12:37:26
phoe
I assume you can generate a proper MEMBER type with a macro in order to avoid typing them all in
12:38:09
phoe
(deftype characters-between (first last) `(member ,@(loop for code from first to last collect (code-char code)))) or something