jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/> | News: ELS'22 this Monday (2022-03-21), see https://european-lisp-symposium.org
epolanski has quit [Quit: Connection closed for inactivity]
lisp123 has quit [Remote host closed the connection]
s-liao has joined #commonlisp
karlosz has joined #commonlisp
karlosz has quit [Quit: karlosz]
orestarod has quit [Ping timeout: 248 seconds]
s-liao has quit [Ping timeout: 250 seconds]
rawley has joined #commonlisp
s-liao has joined #commonlisp
Guest74 has quit [Quit: Connection closed]
rogersm has quit [Read error: Connection reset by peer]
rogersm_ has joined #commonlisp
s-liao has quit [Quit: Client closed]
Inline__ has joined #commonlisp
lisp123 has joined #commonlisp
Inline has quit [Ping timeout: 252 seconds]
mon_aaraj has quit [Ping timeout: 248 seconds]
mon_aaraj has joined #commonlisp
s-liao has joined #commonlisp
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #commonlisp
igemnace has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #commonlisp
<beach> Good morning everyone!
mon_aaraj has quit [Ping timeout: 256 seconds]
<lisp123> Morning Beach
mon_aaraj has joined #commonlisp
waleee has quit [Ping timeout: 260 seconds]
s-liao has quit [Quit: Client closed]
semz_ has joined #commonlisp
semz has quit [Ping timeout: 260 seconds]
rawley has quit [Remote host closed the connection]
semz_ is now known as semz
Guest74 has joined #commonlisp
Tallund has joined #commonlisp
ec has quit [Ping timeout: 240 seconds]
knusbaum has quit [Ping timeout: 256 seconds]
eddof13 has joined #commonlisp
knusbaum has joined #commonlisp
eddof13 has quit [Ping timeout: 248 seconds]
<contrapunctus> I was wondering if there's a way to comment out s-expressions (rather than lines of text) in Common Lisp (there's a SRFI for it in Scheme), and I just encountered #+nil in some code. Clever.
<beach> And wrong.
<beach> The right way is #+(or) or #-(and).
<contrapunctus> beach: interesting...why's that?
<beach> #+nil means that if :NIL is a member of *FEATURES* then the code is enabled.
<beach> #+(or) is a feature expression that is always false.
<contrapunctus> Ah, right. I think I might make a cl-cookbook entry for this.
tyson2 has quit [Remote host closed the connection]
lisp123 has quit [Remote host closed the connection]
<White_Flame> I also sometimes just quote a form in a code body, if it's not the last one
<White_Flame> easy, but doesn't get the syntax highlighting that #+ or #- does
aartaka has joined #commonlisp
lisp123 has joined #commonlisp
dlowe has quit [Ping timeout: 256 seconds]
igemnace has joined #commonlisp
dlowe has joined #commonlisp
ebrasca has quit [Remote host closed the connection]
razetime has joined #commonlisp
rotateq has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
yauhsien has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
razetime has quit [Ping timeout: 268 seconds]
yauhsien has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 256 seconds]
lisp123 has joined #commonlisp
yauhsien has joined #commonlisp
shka has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
pranavats has joined #commonlisp
razetime has joined #commonlisp
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
derelict has quit [Quit: bye]
epolanski has joined #commonlisp
igemnace has quit [Quit: WeeChat 3.5]
razetime has quit [Remote host closed the connection]
razetime has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
Dynom has joined #commonlisp
Posterdati has quit [Ping timeout: 268 seconds]
attila_lendvai has joined #commonlisp
derelict has joined #commonlisp
derelict has quit [Client Quit]
derelict has joined #commonlisp
Posterdati has joined #commonlisp
razetime has quit [Ping timeout: 256 seconds]
lisp123 has joined #commonlisp
akoana has quit [Quit: leaving]
attila_lendvai has quit [Ping timeout: 248 seconds]
attila_lendvai has joined #commonlisp
hineios has quit [Ping timeout: 260 seconds]
igemnace has joined #commonlisp
attila_lendvai has quit [Ping timeout: 248 seconds]
<lisp123> is it possible for two calls to get-universal-time to give the same value?
<lisp123> Anybody have a helper to ensure its unique?
<jackdaniel> it is not possible because the universal time steps by a second
<jackdaniel> unless you put apart both calls by at least a second they won't have an unique value
<lisp123> :(
<jackdaniel> if you want a counter then make one
<jackdaniel> (let ((x 0)) (defun my-counter () (atomic-incf x)))
<lisp123> hmmm ok
<lisp123> thanks!
<jackdaniel> sure
<lisp123> nice!
<lisp123> can you do a hexagon?
<jackdaniel> thanks, I'm contemplating a nature of time
<lisp123> whats that?
<jackdaniel> I'm joking. I'm exploring the idea of modeling motion with transfromation matrices
poselyqualityles has joined #commonlisp
<lisp123> Nice. I never studied physics but I'm sure those who did would love that idea
<jackdaniel> and the first version used a linear transformation with t axis - since it is linear then it is possible to cast the "point time" to "observer time" and I had so much fun with thinking about that part that it is inappropriate
<lisp123> time for dinner - bye!
<jackdaniel> see you \o
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
<rotateq> lisp123: I do like it. :D
<lisp123> rotateq: :)
lisp123 has quit [Quit: Leaving...]
cage has joined #commonlisp
<jackdaniel> http://turtleware.eu/static/paste/a701ec9b-circle.webm :) time for me, see you
occ has quit [Ping timeout: 260 seconds]
occ has joined #commonlisp
random-nick has joined #commonlisp
poselyqualityles has quit [Ping timeout: 256 seconds]
livoreno has quit [Ping timeout: 268 seconds]
nature has joined #commonlisp
jaimelm has quit [Ping timeout: 246 seconds]
jaimelm has joined #commonlisp
igemnace has quit [Remote host closed the connection]
Inline__ has quit [Quit: Leaving]
silasfox has joined #commonlisp
silasfox has quit [Client Quit]
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
tyson2 has joined #commonlisp
shka has quit [Ping timeout: 272 seconds]
cosimone has quit [Read error: Connection reset by peer]
cosimone has joined #commonlisp
cosimone has quit [Read error: Connection reset by peer]
aartaka has quit [Ping timeout: 268 seconds]
yauhsien has quit [Remote host closed the connection]
s-liao has joined #commonlisp
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 248 seconds]
sndr has quit [Quit: So long! :)]
Inline has joined #commonlisp
sander has joined #commonlisp
sander is now known as sndr
yauhsien has joined #commonlisp
cosimone has joined #commonlisp
yauhsien has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
aartaka has joined #commonlisp
yauhsien has quit [Ping timeout: 256 seconds]
aeth has quit [Ping timeout: 268 seconds]
aeth has joined #commonlisp
mon_aaraj has quit [Ping timeout: 248 seconds]
mon_aaraj has joined #commonlisp
yauhsien has joined #commonlisp
yauhsien has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
MichaelRaskin has joined #commonlisp
MichaelRaskin has quit [Client Quit]
yauhsien has quit [Ping timeout: 248 seconds]
MichaelRaskin has joined #commonlisp
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
epolanski has quit [Quit: Connection closed for inactivity]
Bike has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
yauhsien has joined #commonlisp
hhdave has quit [Ping timeout: 246 seconds]
hhdave_ has joined #commonlisp
pranavats has joined #commonlisp
razetime has joined #commonlisp
silasfox has joined #commonlisp
<pjb> lisp123: you may want (com.informatimago.common-lisp.cesarum.time:get-real-time)
silasfox has quit [Quit: WeeChat 3.5]
silasfox has joined #commonlisp
silasfox has quit [Client Quit]
s-liao has quit [Ping timeout: 250 seconds]
pranavats has left #commonlisp [Error from remote client]
pranavats has joined #commonlisp
mon_aaraj has quit [Read error: Connection reset by peer]
s-liao has joined #commonlisp
mon_aaraj has joined #commonlisp
aeth has quit [Ping timeout: 272 seconds]
aeth has joined #commonlisp
taiju-sub has joined #commonlisp
s-liao has quit [Ping timeout: 250 seconds]
notzmv has joined #commonlisp
occ has quit [Ping timeout: 268 seconds]
<Guest74> dude fix your site or host your software elsewhere, it's probably not doing you any good broken.
s-liao has joined #commonlisp
s-liao has quit [Client Quit]
notzmv has quit [Ping timeout: 248 seconds]
taiju has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
yauhsien has quit [Remote host closed the connection]
aartaka has joined #commonlisp
yauhsien has joined #commonlisp
<yitzi> Guest74: Who are you talking to?
<Guest74> the guy who's been giving out dead links for days.
<rotateq> I don't see any such links.
yauhsien has quit [Ping timeout: 256 seconds]
<yitzi> Guest74: If the person you are directing the message to is online or known to use something like irccloud or matrix I suggest prefacing your comment with their handle so they know you are talking to them. Or use `::notify` to tell them the next time they log on.
<char[m]> "prog2 evaluates first-form, then second-form, and then forms, yielding as its only value the primary value yielded by first-form."
<mfiano> Known bug
<mfiano> See the errata
<rotateq> char[m]: yes we had that some months ago that it is not correct
<rotateq> I bet it's already fixed when brought to WSCL.
<beach> Speaking of which, I promised to give online Lisp talk about WSCL, and I forgot because of the excitement with ELS.
<beach> Thanks for reminding me.
aeth has quit [Ping timeout: 248 seconds]
<rotateq> Pleasure. :) I'm exited.
<rotateq> s/exited/excited
<char[m]> Is the reason lispworks doesn't fix the hyperspec because it would then conflict with the ansi standard?
<beach> char[m]: The Common Lisp HyperSpec was created by Kent Pitman, and he is no longer active.
aeth has joined #commonlisp
<beach> Besides, I am not sure it is a good idea to alter the original document, as you pointed out.
<char[m]> Is there a place I can view WSCL online. Is it complete?
<beach> It is not complete, but I'll give you a link. Hold on...
<beach> But we won't wait until it's complete to release a first version.
<beach> char[m]: But scymtym is working on a new transformed dpANS, and one output format is HTML. It will have annotations that indicate errors.
<char[m]> That is more what I was looking for 😁
<beach> It will also fix the (few) errors resulting from the transformation of the dpANS into the Common Lisp HyperSpec.
<beach> The same work will be the basis for annotating the standard with WSCL issues.
<beach> Personally, I am much more interested in the output format that feeds the CLIM-based viewer.
taiju has quit [Remote host closed the connection]
<rotateq> beach: Let me guess, *not* XML. :)
<beach> I think that's a safe bet.
mon_aaraj has quit [Ping timeout: 248 seconds]
<yitzi> So clearly JSON? How about YAML? ;)
mon_aaraj has joined #commonlisp
<beach> Clearly.
yauhsien has joined #commonlisp
jadedctrl has joined #commonlisp
dra has joined #commonlisp
treflip has joined #commonlisp
<semz> char[m]: The prog2 error is only an error in the spec, not the actual standard.
<beach> semz: Er, what?
igemnace has joined #commonlisp
<semz> beach: The standard (or at least the draft I have here) has the correct definition of prog2. It's only the hyperspec that is wrong.
<semz> Which is actually pretty bizarre. How did that error even get in there?
<beach> Are you sure about that?
<semz> ...no I'm not. Bah, I read the wrong line.
<semz> Sorry for the noise.
<beach> Oh, OK.
<pjb> semz: copy-and-paste editing.
razetime has quit [Ping timeout: 256 seconds]
waleee has joined #commonlisp
taiju-sub has quit [Quit: Quit]
Guest3797 has joined #commonlisp
pfd has joined #commonlisp
MajorBiscuit has joined #commonlisp
notzmv has joined #commonlisp
<char[m]> Bike: for sandalphon.lambda-list is it intentional that nothing is exported?
<Bike> no. and i haven't touched that system in quite a while. i'd recommend using another lambda list parser, like the oens in alexandria or concrete-syntax-tree.
<Colleen> Bike: karlosz said 16 hours, 24 minutes ago: if you want inspiration for source form instrumentation, sb-cover does that (you get coverage information for every source form)
MajorBiscuit has quit [Ping timeout: 256 seconds]
<Guest74> huh, I don't have sb-cover. wonder what else I missed in my build.
derelict has quit [Quit: bye]
derelict has joined #commonlisp
<char[m]> Bike: Alexandria doesn't work for extended-lambda-lists. I'm trying cst
jadedctrl has left #commonlisp [#commonlisp]
Guest3797 has quit [Quit: Client closed]
yauhsien has quit [Remote host closed the connection]
<scymtym> Guest74: did you try (require :sb-cover)? sb-cover is a "contributed module" in SBCL which is always installed (i think) but not loaded by default
yauhsien has joined #commonlisp
<Guest74> scymtym: thanks, that worked.  Was thinking I might have missed something when compiling it.
<scymtym> Guest74: sure
<scymtym> Guest74: consider the corresponding SLIME contrib, in particular M-x slime-sprof-report once you have collected a profile. (i would additionally recommend https://github.com/scymtym/clim.flamegraph/tree/future but the SBCL side has been changing lately, so it might not work)
<Guest74> i'll have to look up that slime contrib, dont see it anywhere.
<Guest74> If I look at your code I'm liable to just use it.
aartaka has quit [Ping timeout: 248 seconds]
aartaka has joined #commonlisp
aeth has quit [Ping timeout: 268 seconds]
<scymtym> maybe you need M-x slime-enable-contrib slime-sprof, not sure
<scymtym> i don't understand the part about looking at the code
aeth has joined #commonlisp
<Guest74> nice to know about that fn. Doesn't find it though.
<Guest74> as for the code, writing visualizations is probably the best part.
karlosz has joined #commonlisp
treflip has quit [Quit: good night]
yauhsien has quit [Remote host closed the connection]
blihp has joined #commonlisp
yauhsien has joined #commonlisp
<char[m]> for cst:cst:parse-destructuring-lambda-list, is there a way to just get the names of the parameters?
yauhsien has quit [Ping timeout: 248 seconds]
<Bike> you'd have to iterate through and collect them, i guess
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #commonlisp
Guest74 has quit [Quit: Connection closed]
Guest3723 has joined #commonlisp
attila_lendvai has joined #commonlisp
<jeosol> Good morning guys
<jeosol> calling on asdf and system dependency expert to help me resolve some loading issues.
<char[m]> I was afraid you would say that. I guess it is not the common use case.
<jeosol> I think I messed up my code while in a haste to get things working. I want to see if I check my procedure again with you guys.
<jeosol> I have a large application and load times are killing me and working with docker is a pain to update the images. But I will leave docker out of the conversation for now.
<jeosol> Let's say I have three systems: A, B, C with C depend on B, and B depend A. The way I write my code, when I want to test thing with B, I do a ql of B and the B.asd has a dependency on A. Similarly, C.asd has B as a dependency.
<jeosol> I tried to speed things up by dumping intermediate core files (relevant for docker side mostly), for example, I will dump an image with B loaded, and then when I start C, I point sbcl to start with that core file with B's image. But it appears, it still loads everything again, A, B, again
<jeosol> So it seems I am not doing something correctly and may need to reword the asd file. Basically, when I start sbcl and pointing to the corefile with B loaded, I would like it to just add whatever is in C system.
<jeosol> and use the rest of the info for B and A already in the loaded image
<jeosol> loaded image -> core file when starting SBCL
<jeosol> reword -> rework
blihp has quit [Quit: Leaving]
Bike has quit [Quit: Connection closed]
<random-nick> it might be the case that something is refreshing the modification times
<random-nick> that makes asdf reload things
<jeosol> random-nick: thanks for that info
<jeosol> I will have to look into that
<random-nick> also, it's pretty weird to have huge load times unless you have really huge amounts of (generated) code
<random-nick> unless of course you have a lot of code and everything is getting recompiled every time due to missing fasls or something refreshing modification times
<random-nick> but I guess a docker container wouldn't have any fasls
Bike has joined #commonlisp
anticomputer_ has quit [Ping timeout: 240 seconds]
anticomputer has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life has joined #commonlisp
<jeosol> random-nick: Yeah, it's a huge amount of code, very large code base
akoana has joined #commonlisp
<jeosol> several thousand lines
<jeosol> I need to go back and investigate the system asd files and now things are getting load
<jeosol> For now, I am not focusing on docker yet, because I see the same behaviour when building on my local linux box
<etimmons> How do you dump the image? If it's using UIOP functionality, I think ASDF itself might be purposefully forgetting timestamps. (I know ASDF resets a lot of its config on dump, just can't remember for sure if that's part of it)
<jeosol> eric: thanks for that.
<etimmons> Look into marking a system as preloaded. I think there's some stuff in the manual about that
<jeosol> You are familiar with my project, i believe. This large recompilation is not making a lot of sense, hence my thinking I messed things up
<jeosol> let me check the code for saving the image
<random-nick> apparently mcclim has 110k lines of code in 488 files, but it still loads (from fasls) in less than 10 seconds
<random-nick> on my machine of course
<random-nick> if you figure out the recompilation issue then it might be fast enough to load from fasls instead of dumping cores
<jeosol> random-nick: thank for that benchmark, mine takes a much longer that, but 260kloc, minutes on local machine, longer on docker
Dynom has quit [Quit: WeeChat 3.5]
<jeosol> this is proof, I have something off completely
<jeosol> etimmons: I am using sb-ext:save-lisp-and-die
<jeosol> etimmons: marking system as preloaded? And by manual you mean asdf manual:
<char[m]> Bike: after playing with it a bit, doing what I want is extremely trivial. Very well designed. All the inheritence is just perfect.
<etimmons> save lisp and die does not trigger ASDF's cleanup code, so it's likely something else. And yes, marking a system as preloaded
<jeosol> etimmons: so using save lisp and die is better, or I should be using something else
aartaka has quit [Read error: Connection reset by peer]
<jeosol> I suspect it is related to how I set up the asd files - I am afraid as things got larger, my discipline of setting up the dependencies with care reduced
<etimmons> It all depends on what you want. save-lisp-and-die is probably the best thing if you're going to run the image on the same computer that dumped it.
<jeosol> etimmons: haha, thanks for that, that bit me a few times trying to run a image on another machine
<etimmons> Dumping through UIOP's functions will set things up so that ASDF will more likely work in a different environment
<jeosol> For the docker side of things, I redo everything there, I was hoping, I could ideally prebuild a core and take it there, but that doesn't work. For the docker and the systems described earlier,I use multi-stage builds:
aartaka has joined #commonlisp
<jeosol> So for C-> B -> A -> SBCL (image). I build gradually, using previous core files up to B (takes longer to build). Things are a bit stable at B. It's the C system I modify and work on mostly. So Ideally, I want to update C's docker image using B as the base docker image
<jeosol> etimmons: I didn't know that, I had always thought it is not possible to build a core and use an another machine
<etimmons> There are definitely constraints. But it's possible
attila_lendvai has quit [Ping timeout: 260 seconds]
<jeosol> For the C-> B-> A -> SBCL image, I start sbcl with a core file from previous step, then dump another image and use that to start sbcl for the next step and so forth
aartaka has quit [Ping timeout: 268 seconds]
<etimmons> That seems reasonable.
tyson2 has quit [Remote host closed the connection]
<jeosol> But with random-nick mcclim benchmark above, I think I may need to investigate how I set up the dependencies
<random-nick> asdf seems to remember that mcclim is loaded both when using SB-EXT:SAVE-LISP-AND-DIE and UIOP/IMAGE:DUMP-IMAGE
<random-nick> so the problem seems even stranger
<jeosol> thanks for discussing this with me etimmons and random-nick, got some pointers
<jeosol> so uiop/image:dump-image is better?
<jeosol> that's what I expected, to remember that I have some things loaded already
<jeosol> random-nick: the 10s benchmark above is starting from sbcl, no intermediate core files?
<random-nick> yes, but with all fasl files
<etimmons> Something is definitely strange if the fasls are being recompiled instead of just loaded
<random-nick> I just checked by saving the image (with uiop) and touching all the mcclim asd files and some lisp files
<random-nick> and ASDF did recompile mcclim
<random-nick> in its entirety apparently
<random-nick> the asdf manual seems to lists just 2 scenarios when a system gets reloaded: https://asdf.common-lisp.dev/asdf.html#index-find_002dsystem
<etimmons> Touching the .asd file will certainly cause the entire system to be recompiled
<random-nick> well, unless the touched .asd contains a system without components
<random-nick> for example touching mcclim.asd won't recompile any lisp code because it's all in the dependencies of that system (which are defined in other .asd files)
<jeosol> random-nick: thank you for doing that test
<jeosol> So, expectedly on the same machine, if you start a system, it should load fast as long it using the fasl files
NotThatRPG has joined #commonlisp
dra has quit [Ping timeout: 248 seconds]
tyson2 has joined #commonlisp
yauhsien has joined #commonlisp
Bike has quit [Quit: Connection closed]
yauhsien has quit [Ping timeout: 256 seconds]
wyrd has quit [Ping timeout: 240 seconds]
White_Flame has quit [Remote host closed the connection]
White_Flame has joined #commonlisp
wyrd has joined #commonlisp
aeth has quit [Ping timeout: 268 seconds]
aeth has joined #commonlisp
Guest3723 has quit [Quit: Client closed]
yauhsien has joined #commonlisp
yauhsien has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
Guest74 has joined #commonlisp
Bike has joined #commonlisp
yauhsien has quit [Ping timeout: 246 seconds]
notzmv has quit [Ping timeout: 248 seconds]
aeth has quit [Ping timeout: 248 seconds]
aeth has joined #commonlisp
hashfunc14a0 has joined #commonlisp
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 256 seconds]
Bike has quit [Quit: Connection closed]
s-liao has joined #commonlisp
Bike has joined #commonlisp