freenode/#lisp - IRC Chatlog
Search
9:36:35
smokeink
http://pastecode.ru/d2d04e/ failed AVER: (SB-C::LEAF-HAS-SOURCE-NAME-P SB-C::LEAF) This is probably a bug in SBCL (1.5.9) itself.
9:42:24
flip214
UIOP has WITH-TEMPORARY-FILE -- is there some library that has WITH-TEMPORARY-DIRECTORY?
9:53:28
flip214
I found QL-IMPL-UTIL:DELETE-DIRECTORY-TREE. Is there some other function in a library that's very likely to be used already?
9:59:58
phoe
flip214: the best I've found is (uiop:temporary-directory) that returns the base temporary directory to you
10:00:20
phoe
you can likely make directories in there yourself and implement your own with-temporary-directory macro on top of that
11:08:37
Xach
Arrgh. My Quicklisp build computer is now crashing every few days. Time to troubleshoot instead of just restarting it.
11:24:57
Xach
phoe: the machine stops responding to network traffic and cannot be shut down with the hardware acpi shutdown. it has to be force-shutdown and restarted.
11:25:13
Xach
i haven't attached a screen and keyboard to see if there's any useful console info yet.
11:27:40
phoe
Xach: that sounds like the thing that's required. This smells of kernel panic or another hardware-induced hang.
11:36:50
Xach
I feel like I need to set things up on The Cloud instead of buying hardware to tinker with any more
11:38:34
Xach
flip214: possibly, though i have a keyboard and screen and do not have a serial console.
11:41:53
phoe
Xach: the recent discussions have made me think of setting up some sort of semi-public CI for Common Lisp projects, so one can get their code to build and run its tests on the major operating systems and a series of available implementations.
11:42:51
phoe
It would require a considerable amount of hacking, though, plus hardware expenses and licenses for the proprietary operating systems.
11:43:32
phoe
And either buying some Apple hardware or deciding to hackintosh in spite of Apple's licenses.
11:44:13
phoe
Summing all of that up, I think it would be a substantial investment to set up and then to get someone to maintain the hell out of this while accepting more and more projects to be built there.
11:44:42
phoe
Maybe the clnet foundation would be willing to help with that. I don't know, I haven't asked anyone or even shared that full thought with anyone before.
11:46:01
galdor
technically you already have multiple CI systems, e.g. Github Actions or CircleCI, depending on what you need
11:46:35
galdor
it's really easy to write CircleCI orbs to support multiple CL implementations in an easy way
11:47:06
phoe
correct, one other way would be to depend on another existing CI service for each project
11:48:02
galdor
commercial CL vendor could decide to support opensource by providing some kind of special CircleCI account for example, or a collaboration with Drew DeVault for sourcehut
11:48:21
phoe
I've already seen Travis configs that allow one to run tests against multiple CL implementations, too
11:49:20
galdor
personnally I do not care too much about CI, I can already do that easily, I'm more concerned by the absence of a rebar3-like tool to manage dependency source/versioning on a per-project basis
11:50:18
galdor
I'd love to include some non-critical CL tools at work, but the whole "go install quicklisp and run commands in a CL repl" is never going to fly
12:12:51
phoe
Xach: rebar3 is a module manager for erlang and other BEAM-based languages like elixir and LFE
12:14:58
flip214
Xach: "easier" as in "only one cable required", but if there's none available, the point is moot
13:58:15
p_l
Sourceforge in its heyday had a fleet of machines to make testing across different arches easier
14:02:23
easye
Neil Lindquist has made a good start to abstracting a generic need to test Lisp on a CI <https://github.com/neil-lindquist/ci-utils/>. I haven't evaluated this yet, but it looks promising.
14:03:43
easye
The CLF has long had the intention to "refactor" a given developer's common needs into something reusable and available under gitlab.common-lisp.net
14:04:38
easye
From ambiently following phoe's forays on the CI available from gitlab.common-lisp.net in the past week or so, I gather there is a fair amount of work to do.
14:05:34
phoe
easye: we'd basically need Windows/Linux/macOS VMs. Given that CI can run foreign code, we'd need some way do dispose of these VMs and create them on the fly - preferably via snapshotted VM states or something similar.
14:07:41
easye
One idea that the CLF tossed around was getting donations from commercial entities in the Common Lisp space to fund such a generalized CL CI by enticing them with versions that would easily allow a developer to test on a given commercial implementation as well.
14:11:08
easye
> we'd basically need Windows/Linux/macOS VMs : I'll bring this up at the monthly CLF meeting this Wednesday to see how we could possibly get such resources abundantly avaialable. One idea might be to approach AWS/Azure/GOOG with a request for donating such services.
14:14:17
boeg
Anyone here use sly for common lisp in emacs? How do I quit sly without manually killing the buffers? Like a quit command that brings things down and removes buffers and so on
14:17:40
boeg
beach: when I type , it shows a "command" with commands available like disconnect and clear, no quit though. Does ",quit" also clean up buffers or just close connections?
14:20:20
boeg
hmm, alright. I've tried the sayoonara command, the disconnect-all command and they just seems to close connectins to the underlying sbcl, but does clean up the compilation buffer and repl and so on
14:22:06
phoe
easye: note that this would allow to have a kinda-centralized CI for CL projects - Quicklisp could use it during its build process to build and run tests on multiple OSes/implementations, for example.
17:11:28
Josh_2
Can I convert an instance of a classes superclass into that class? I have a superclass called packet, can I instantiate that and then later convert it into an instance of class kill-packet which inherits from packet?
17:28:32
phoe
when you create any Lisp object, usually its type stays the same throughout its whole lifetime
17:39:33
phoe
(defvar *foo* (make-instance 'foo)) (assert (typep foo *foo*)) (change-class *foo* 'bar)
17:40:35
Shinmera
Obviously if you change instances you do not control that's bad, but that goes for changing slot values too, not just changing class.
17:40:46
phoe
basically, this is a way to defeat type safety in Lisp, since an object can stop being of a particular type because you executed some code on it
18:03:13
_death
the issue with change-class is that it can be slow, and sometimes it is a sign of unoptimal design.. it may also have issues with multithreading