libera/#commonlisp - IRC Chatlog
Search
13:54:39
splittist
ACTION brushes up on his German so he can purchase directly from the Kandria site
13:55:08
Shinmera
Oh, does the xsolla plugin switch to german based on your IP or something? That's annoying.
14:06:03
mfiano
Yes, we had a number of people that RSVP'd that never showed up. I know a couple people were sick, and dbotton, what a very nice guy. He had his 3rd grandson and conferenced in on his way there or something.
14:10:21
Shinmera
I don't think so, but I'll have a stream on Twitch tomorrow if you want to ask questions live.
14:15:21
phoe
Shinmera: also huge congrats from my side, a person belonging to the sick and coughing club
15:30:09
jeosol
phoe: Thanks for catching that and correcting me. I just woke up and brain not fully functioning
15:31:44
jeosol
I changed where I sleep in years (from hard to soft surface) and I (and brain) seemed to overslept
15:32:25
jeosol
Shinmera: This should serve as encourage (myself included) for those trying to deploy products that primarily use CL
16:12:19
kenran
hey everyone. this might be a stupid question, as I'm not really familiar at all with (common) lisp in this regard, just evaluating if it might be a good fit: is it possible (with, say, sbcl) to build a binary, and have it "be" a REPL at the same time, so that I can interact and change the running program by calling the code it was written in/with?
16:14:33
kenran
sorry if this doesn't make sense. I'm thinking of something like emacs, where I can evaluate elisp and change the running editor instance by interacting with its own code base, but emacs is not written entirely in elisp. would building something that behaves this way be simpler or harder (assuming it's possible) if the whole program were written in the lisp itself?
16:15:07
kenran
and (again, assuming it even makes sense) could you point me to some terminology I could google or some resources I could read to learn about this?
16:16:01
beach
kenran: Sure, that is entirely possible. You just need to create a binary with your application being able to call EVAL.
16:17:16
beach
kenran: Sure, that is entirely possible. You just need to create a binary with your application being able to call EVAL.
16:18:04
kenran
I just remembered there's also a window manager and the nyxt browser which both seem to work this way as well
16:18:43
mfiano
Any application can be interactive with Common Lisp. It is designed for incremental development.
16:19:06
Catie
If you want to interact with the image using Emacs, Swank or Slynk (depending on whether you're using Slime or Sly) are gonna be your best friend
16:20:39
kenran
Catie: I was going to try and do a little proof of concept editor in common lisp to learn a bit of the language and ncurses, and having evaluation of common lisp code from inside the editor itself would be an awesome piece :)
16:21:17
kenran
I already got sly (with slynk, I suppose) installed, and now I have to figure out how to actually write common lisp "projects" :) but the cookbook seems like a great resource.
16:22:03
kenran
quicklisp and asdf look a bit "foreign" to me, coming from other languages, but I guess that'll not be a hurdle
16:22:30
Catie
It's well worth learning about both of them, they'll make your life quite a bit easier
16:24:16
kenran
Thanks for the input everyone. I've done the bootstrapping like two years ago, but never had the time to dive into it further up until now, so everything I had working is probably "new" to me again
16:26:50
kenran
Oh: the "create a binary" part is of course something that's optional at the start. I guess that makes it even easier, rather than harder, right?
16:34:24
phoe
creating a binary is basically creating a modified version of your Lisp that has your code already loaded and upon start calls your function instead of dropping into the REPL
19:21:10
White_Flame
kenran: the typical way to interact/develop CL programs is through emacs & the SLIME interface
19:21:30
White_Flame
you can build CL binaries that have the server to that, and connect into it via emacs and open up a remote REPL into it
19:26:36
pjb
kenran: actually, the "create binary part" is usually called "saving a lisp image" or "saving an executable lisp image".
19:27:44
pjb
kenran: by default when you do that, you'll get a lisp image that when rebooted drops back in the REPL (only with all that was loaded before saving already loaded after booting it). You have to give specific options to the function saving the lisp image to install your own "toplevel function" replacing the REPL.
19:28:22
pjb
kenran: see some example: https://gitlab.com/informatimago/hw generate.lisp generate-hw.lisp
19:29:26
pjb
kenran: ecl is different, it doesn't have lisp images, instead it saves an ELF binary. But you get mostly the same result.
20:06:37
kenran
pjb: ah, I think I might have done the save-lisp-and-die thing once in the past to create an executable with sbcl