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/>
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
occ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
jeffrey has quit [Ping timeout: 260 seconds]
Voynich[AnHerod] has left #commonlisp [#commonlisp]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
Lycurgus has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
random-nick has quit [Ping timeout: 255 seconds]
azimut has quit [Ping timeout: 240 seconds]
Catie` has joined #commonlisp
Catie` has quit [Changing host]
Catie` has joined #commonlisp
lonjil has quit [Server closed connection]
lonjil has joined #commonlisp
Catie has quit [Ping timeout: 250 seconds]
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
habamax has joined #commonlisp
AndrewYu is now known as Andrew
Andrew has quit [Killed (lead.libera.chat (Nickname regained by services))]
ec_ has quit [Ping timeout: 240 seconds]
AndrewYu has joined #commonlisp
ec_ has joined #commonlisp
notzmv has quit [Ping timeout: 255 seconds]
ec_ has quit [Ping timeout: 240 seconds]
waleee has quit [Ping timeout: 268 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
habamax has quit [Remote host closed the connection]
Gleefre has quit [Remote host closed the connection]
notzmv has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
chrcav has quit [Ping timeout: 240 seconds]
chrcav has joined #commonlisp
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
<pony> just finished chapter 8 of pcl. im loving it so far.
ec_ has quit [Ping timeout: 240 seconds]
<beach> Great!
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
NicknameJohn has quit [Ping timeout: 260 seconds]
NicknameJohn has joined #commonlisp
NicknameJohn has quit [Ping timeout: 240 seconds]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
habamax has joined #commonlisp
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
occ has quit [Ping timeout: 260 seconds]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
Catie` is now known as Catie
ec_ has quit [Ping timeout: 240 seconds]
edgar-rft has quit [Quit: Leaving]
Lycurgus has joined #commonlisp
occ has joined #commonlisp
bjork1intosh has quit [Remote host closed the connection]
bjorkint0sh has joined #commonlisp
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
dcb has quit [Quit: MSN Messenger 3.8]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
bjorkint0sh has quit [Ping timeout: 250 seconds]
ec_ has quit [Ping timeout: 240 seconds]
bjorkint0sh has joined #commonlisp
ec_ has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
Josh_2 has joined #commonlisp
<Josh_2> Good afternoon :trumpet:
<beach> Aren't you supposed to be in the UK?
<Josh_2> I have been in Thailand for a while
<Josh_2> Going back to the UK soon
<beach> Oh, nice!
<Josh_2> its 12:33pm here
ec_ has joined #commonlisp
shka has joined #commonlisp
edgar-rft has joined #commonlisp
rgherdt has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
<Josh_2> Are there any "suggested" postgres migration tools?
<ixelp> GitHub - dnaeon/cl-migratum: Database Schema Migration System for Common Lisp
easye has quit [Ping timeout: 265 seconds]
ec_ has joined #commonlisp
<Josh_2> " Slynk has to be added as a dependency in my project if I want to have slynk:create-server in my startup function, but when it is added its causing my lisp image to look for a .fasl that was compiled on my machine.. not the machine that its being deployed on" Is there a way around this? My app has been containerized but we are still trying to use slynk
<Josh_2> Ofcourse we can move the .cache/common-lisp from the compilation machine into the container but it would be better if we could just avoid this altogether :thinking:
<Josh_2> https://plaster.tymoon.eu/view/2619#2619 the condition is like this
<Josh_2> It tries to load "/home/manage/.cache/common-lisp/sbcl-2.1.8-linux-x64/home/josh/quicklisp/local-projects/sly/slynk/slynk-backend.fasl" where Manage is the vps user, and josh is the user that built the image (me)
<Josh_2> I dont have the foggiest why it tries to do this
ec_ has quit [Ping timeout: 240 seconds]
<Josh_2> there is #slime I go ask in there
easye has joined #commonlisp
ec_ has joined #commonlisp
Gleefre has joined #commonlisp
flip214_ is now known as flip214
flip214 has quit [Changing host]
flip214 has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Hibernating too long]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
<Josh_2> devops dont like lisp
<Josh_2> who would have guessed. There solution to everything is "restart it"
<Josh_2> but not in the cool way like calling a restart :sob: they want to destroy my lisp image and all its beautiful state
<Josh_2> "why can it not be architectured like a microservice? It will be talking to microservices" Why are they like this
ROYGBYTE has quit [Server closed connection]
ROYGBYTE has joined #commonlisp
SAL9000 has quit [Server closed connection]
ec_ has quit [Ping timeout: 240 seconds]
varjag has joined #commonlisp
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
pranavats has joined #commonlisp
ec_ has joined #commonlisp
<Josh_2> Try telling them that no, just because its signalled an unhandled condition doesnt' mean its dead, and if you restart it we lose all the state information telling us what happened
<Josh_2> logs are alright but really...
<Josh_2> Apparently being able to connect to a program and fixing it remotely is "70s" :joy:
<pony> :)
<Josh_2> Devops is cool, the things they can do is cool but to them everything is expendable. Kill it and try again!!
<Josh_2> What you lose when you kill it and try again is all that useful information that you can use to find the problem..
pve has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
<pjb> Josh_2: feed them the RAX videos.
<Josh_2> Link?
pranavats has left #commonlisp [Error from remote client]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
LW has joined #commonlisp
ec_ has joined #commonlisp
easye has quit [Remote host closed the connection]
<Josh_2> What are these RAX videos pjb ?
easye has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
pranavats has joined #commonlisp
mgl has joined #commonlisp
SAL9000 has joined #commonlisp
SAL9000 has quit [Changing host]
SAL9000 has joined #commonlisp
SAL9000 has quit [Client Quit]
SAL9000 has joined #commonlisp
LW has quit [Quit: WeeChat 3.8]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
Catie has quit [Read error: Connection reset by peer]
Catie has joined #commonlisp
notzmv has quit [Ping timeout: 250 seconds]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
rainthree has joined #commonlisp
Inline has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ is now known as Lord_of_Life
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
<beach> Is there anything like a consensus when it comes to line breaks and paragraph breaks in documentation strings? Should the string contain newlines to make lines reasonably wide, or should newlines be used as paragraph breaks the way they are in some word processors, and let the line break be introduced by some documentation reader?
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
johnjaye has quit [Ping timeout: 256 seconds]
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
Oddity has quit [Ping timeout: 250 seconds]
ec_ has quit [Ping timeout: 240 seconds]
ryanbw has quit [Server closed connection]
ryanbw has joined #commonlisp
ec_ has joined #commonlisp
<gilberth> beach: When you make it like with "modern" word processors and use #\Newline for a paragraph break and otherwise let lines run to any width, those documentation strings will become pretty much unreadable to me.
<beach> I see, yes.
<gilberth> What's wrong with doing it like we used to do. Fold lines to like 72 chars and use #\newline #\newline for paragraph breaks.
<beach> I don't see anything wrong with it. I am asking about best practice.
<gilberth> And even if my tty or my editor would fold lines, it won't work for me either. Prose shouldn't run wider than like 72 chars, yet I allow for code to run 120 columns and more. 120 my personal default width in terminals and editors.
<gilberth> I'm showing the troubles with this modern style. And my personal two cents.
occ has quit [Ping timeout: 260 seconds]
<beach> Right, thank you!
<gilberth> beach: Any hint on how to approach writing documentation? I am terrible at it. I tend to have trouble keeping on track of what needs to written and ideas pop in from everywhere. Result is some decoherent mess.
<beach> That's a tough question, and in a few minutes I need to deal with a situation here at home. I must get back to you about it later.
<gilberth> ok
<beach> I think it is probably as usual, i.e., you need to read what other people write, and practice and ask for feedback.
<beach> I may have some specific hints if I think about it for a while.
Josh_2 has quit [Ping timeout: 240 seconds]
<gilberth> Well, this scanner generator and regular expression of mine needs some documentation. I have not so much trouble with the reference, but struggle quite a bit with a manual, or even some tutorial. Anyhow, me too will be afk for a while.
ajs_3 has joined #commonlisp
attila_lendvai has joined #commonlisp
<gilberth> * RE library
Josh_2 has joined #commonlisp
zaymington has quit [Read error: Connection reset by peer]
ajs_3 has quit [Remote host closed the connection]
Cymew has joined #commonlisp
<beach> gilberth: One thing I can think of is to make sure you define concepts, and if necessary, invent (short) words for new concepts. Otherwise, you end up with repeated long phrases. So I have invented "rack", "stamp", "wad", and things like that.
ec_ has quit [Ping timeout: 240 seconds]
<beach> There is nothing worse than documentation that is only attached to operators such as functions, without any documentation that explains concepts and how the operators relate.
ec_ has joined #commonlisp
<beach> Documentation generated from documentation strings has a tendency to omit those important thing because there is no natural place to attach them, though perhaps the ASDF system definition might do.
<beach> For a library, it is also important to state what problem it claims to solve.
<beach> For FFI bindings, it is also very important to not rely on the user being willing to red the original documentation and mentally translate types, variable names, etc.
<beach> *to read
<bitblit1> Hello Everyone!
<beach> Hello bitblit1.
<bitblit1> In my application I had to load and parse an excel file, this turned out to be easy using libraries like lisp-xl and xlsx. That is, it worked well for small files.
<bitblit1> As soon as the fonts changed a bit, or I got a bigger example, It started giving weird errors.
<bitblit1> So, I looked at buildnode too but have absolutely no idea how to use it.
anticomputer has quit [Remote host closed the connection]
<bitblit1> I just want cell information no styling, just cell content. I don't care about anything much, it would be really helpful if I could get the cell formula too.
anticomputer has joined #commonlisp
<bitblit1> Which library would you guys recommend, or would you say I should roll out my own generator, this would be a last resort and I don't have much time.
<bitblit1> s/,/?/
ec_ has quit [Ping timeout: 240 seconds]
easye has quit [Remote host closed the connection]
easye has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
ec_ has joined #commonlisp
<ixelp> GitHub - quek/cl-win32ole: win32 ole library for common lisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
buffet has joined #commonlisp
<gilberth> beach: I agree. This is why all those documentation generators don't work. Documentation strings are no substitute for a proper documentation. In my case I need to introduce some syntax for writing scanners, s-expression based syntax for REs and of course the general concept of a scanner generator. And make the user aware of common performance pitfalls. For REs I fully support POSIX plus common extensions. ...
<gilberth> ... here I may also make users aware that POSIX regular expression match different from Perl regular expressions.
<bitblit1> rainthree: Ah thanks, but I would want it to work on linux
<rainthree> I remember using abcl and some java library to parse excel files
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
<beach> gilberth: Yes, I agree. Also, documentation strings don't allow the variation in fonts etc. that is often required for good documentation.
* beach takes a break.
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
<bitblit1> <rainthree> "I remember using abcl and some..." <- rainthree: APACHE POI right? Oh I remember using pure Java for that.
<bitblit1> I didn't enjoy it that much tbh.
pranavats has joined #commonlisp
ec_ has joined #commonlisp
notzmv has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
pranavats has left #commonlisp [Error from remote client]
johnjaye has joined #commonlisp
mgl has quit [Quit: Client closed]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
Gleefre has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
<rainthree> it was not unpleasant, in lisp . I am shocked I can't find the code, I am sure I have it saved somewhere . give me a link to that buildnode thing
ec_ has joined #commonlisp
<ixelp> Dealing with Excel files from Common Lisp - Using ABCL and Apache POI ~ netzhansa
igemnace has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
jeosol has quit [Quit: Client closed]
Devon has joined #commonlisp
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
attila_lendvai has quit [Quit: Leaving]
attila_lendvai has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
<pjb> beach: IMO, we should format docstrings so they're readable in the REPL. Light markup such as org-mode is OK.
ec_ has quit [Ping timeout: 240 seconds]
<beach> I see. Thanks.
<pjb> beach: eventually, with a documentation framework allowing amongst other features localisation, we may have different formats, and tools to convert between them.
<beach> Right.
<pjb> note that all markup languages differentiate between newlines and paragraph, so we may cater to usual terminal widths without losing any formating power using those markup languages.
ec_ has joined #commonlisp
<pjb> beach: now, if you have some tooling, you could write your docstrings in a different format, and generate ascii 72-column docstrings for the REPL.
<pjb> beach: I use the package or class docstrings to give wider scope documentation, about concepts, etc.
<pjb> beach: anyways, it's very similar to the localisation problem; you want to keep the docstrings separate from the source code (a good idea of yours), so you may have different versions, possibly generated automatically from a single (or a set of) source docstrings.
<beach> I understand. Thank you.
notzmv has quit [Ping timeout: 250 seconds]
azimut has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
euandreh has quit [Remote host closed the connection]
random-nick has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
amb007 has quit [Ping timeout: 250 seconds]
Gleefre has quit [Remote host closed the connection]
pranavats has joined #commonlisp
amb007 has joined #commonlisp
ec_ has joined #commonlisp
Gleefre has joined #commonlisp
Helmholtz has joined #commonlisp
<Helmholtz> I think string-equal is a poor choice of word for case-insesitive string equality test
euandreh has joined #commonlisp
<beach> Helmholtz: If you start getting upset about the names given in the standard, you will find yourself upset most of the time. My advice is to get over it.
<beach> Helmholtz: I mean, there is not much you or anyone else can do about it. And it is often not obvious why a particular name was chosen.
<Helmholtz> beach, yeah...the other is `*-p` vs `*p` for predicates
pranavats has left #commonlisp [Error from remote client]
<jackdaniel> you may create a package better-cl and (setf (fdefinition 'string-boom) (function string-equal)) etc
<Helmholtz> Does anyone here use LEM and prefers it to vim/emacs? The v2 added a SDL GUI backend
rainthree has quit [Quit: Leaving]
ec_ has quit [Remote host closed the connection]
ec_ has joined #commonlisp
<beach> Helmholtz: Do you have a question for any such person?
<Helmholtz> beach, no specific questions, just wondering whether the community things it's worth it to delve into it instead of emacs
<jackdaniel> the fact that lem is developed for quite some time proves that the team is motivated to push forward
<jackdaniel> I wouldn't be too anxious about lack of community (that said I have not used lem myself so far)
<beach> Helmholtz: Not for me at least. Both Emacs and LEM use a very primitive technique for parsing the Common Lisp code in a buffer, and we are working on a much better way of doing it, so I am not going to convert to LEM as an intermediate solution.
<Helmholtz> beach, what's your solution?
<beach> Helmholtz: In Second Climacs, we use the Common Lisp READ function (in the form of Eclector) to parse the Common Lisp code. READ is the only thing that can parse Common Lisp code in a conforming way.
<pjb> Helmholtz: you need to learn the history of those names. eq eql equal equalp the longer the name, the laxer the test. so string= vs. string-equal is obvious…
<Helmholtz> pjb, ah nice trick
<pjb> History is also what makes lisp a fun language to learn.
kevingal has joined #commonlisp
<beach> Helmholtz: For example, if your buffer contains some strange syntax defined by a reader macro, then the primitive parsing technique will fail. But it fails for simpler things too like (LET ((PROG1 234))... where it (at least Emacs) parses PROG1 as a Common Lisp operator.
* jackdaniel anticipates that the tension will peak when Helmholtz will ask where to get this editor from
<beach> Helmholtz: There is no need to ask where you can get Second Climacs from, because it is not ready for general use.
<Helmholtz> jackdaniel, I'm reading its github readme nw
<Helmholtz> *now
<jackdaniel> I see
<beach> Helmholtz: I was just explaining why I don't think it is worth my time to invest in an alternative to Emacs that I am going to abandon soon anyway.
<beach> ... since you asked.
jeffrey has joined #commonlisp
<Helmholtz> yeah thanks...from what I got, it seems you want to design an editor that tries to exploit CL specific features (like reader macro) to provide better integrity...and you can do these sort of things only in Lisps
<jackdaniel> modern integrated IDE solutions do similar things. i.e they run the compilation process until the certain phase where they can decide what individual things mean
<Helmholtz> that was what I wondering...since Lisp people emphasize REPL-driven development, I thought the workflow should have been more integrated (more alien from what we usually do) than just having a REPL window open side by side
<Helmholtz> That
<Helmholtz> * That's why I was interested in checking LEM out
<beach> Helmholtz: Maybe the commercial Common Lisp implementations do it better, but the people who work on free Common Lisp stuff either haven't had the time to do better, or perhaps they are happy with what we have.
<Helmholtz> I'm just learning it and I've tried Doom before and slimv now to test the waters.
<Josh_2> Does declaring a system immutable (with asdf) persist through an image dump?
<jackdaniel> if you use uiop:create-image (or whatever it is called) then yes. I think that it is implicitly called by asdf:make
<Josh_2> I am using asdf:make
<pjb> Helmholtz: as jackdaniel says, language server (LSP), clang LLVM libraries, etc, are used to parse the language. This is required because even without reader macros, syntaxes of lots of languages are not entirely context-free. There are some parts that are context dependent. In C, C++ notably, you need to have parsed the program and analyzed it to a certain point to know if an identifier is a mere variable identifier, or if it's a type
<pjb> identifier.
<Helmholtz> For these trivial programming problems, I code the function, then add a test invocation just below it. Then I do `,b` and `,d` (in test expression) to test the function. Then delete the test line.
<jackdaniel> also, the best way to check is to mark it immutable, dump the image, and then check whether it is stil immutable
<Josh_2> I just tried that
<Josh_2> I added (defmethod asdf:perform :before ((o asdf:image-op) (c asdf:system)) (asdf:register-immutable-system (asdf:locate-system "slynk"))) to my .asd file
<Josh_2> so when I compile the system its registered as immutable. I ran my image, connected with slynk and checked the value of asdf/system-registry:*immutable-systems* and slynk is not around
<Josh_2> ah
<Josh_2> Right
<Josh_2> it doesn't accept a system but a system name
<Josh_2> Okay that worked :)
<Josh_2> If the system is marked as immutable, any attempt to rebuild the system with asdf or quicklisp will stop asdf from actually looking for the .fasls?
<Josh_2> or from trying to actually compile it?
<Josh_2> In this case I have slynk listed as as dependency so it shouldn't need to go hunting for .fasls... :thinking:
<jackdaniel> _if_ I remember correctly it will refuse to compile the system of the same name
<jackdaniel> (or reload)
<Josh_2> Right
<Josh_2> Thanks
<jackdaniel> sure
<jackdaniel> a "preloaded" system is somewhat complementary - it will mark the system as loaded, but if it can find the source code, it will allow reloading
<Josh_2> If I set the value of asdf:*user-cache* to nil will that cause problems?
<Josh_2> Interesting
<Josh_2> well thats causing some hiccups with slynk
<jackdaniel> I think that NotThatRPG is the person to ask about that
<Josh_2> asdf:*user-cache* is remaining what it was when the image was built (my fault) and then connecting to slynk using sly-connect in emacs is causing asdf to go looking and rebuilding slynk
<Josh_2> with *user-cache* incorrect it can't find the files and signals a condition.
samebchase has quit [Server closed connection]
samebchase has joined #commonlisp
<Helmholtz> jackdaniel, found your channel too :D https://www.youtube.com/watch?v=kfBmRsPRdGg
<ixelp> McCLIM demo (St Nicolas Day present) - YouTube
<jackdaniel> I've been locked out of my google account years ago ,p
<jackdaniel> you may see my posts at turtleware.eu if you are interested (and on ECL and McCLIM blogs)
ec_ has quit [Ping timeout: 240 seconds]
euandreh has quit [Read error: Connection reset by peer]
<Josh_2> McCLIM is very cool. Is it still only on Linux?
euandreh has joined #commonlisp
<jackdaniel> it is on systems that have the X11 server
<Josh_2> Yeh :(
<Josh_2> Many linux desktops ship wayland as default now
<jackdaniel> and wayland has xwayland, clim applications work with it without a problem
<Josh_2> yy
<Josh_2> There was a bounty on building a windows backend for CLIM wasn't there?
<Helmholtz> you are active on ECL too right? I think I have watched some (ECL new versions) or something from you
<jackdaniel> Josh_2: there was, but the bounty program is no more. I'm working on SDL2 backend, should be shipped later this year
ec_ has joined #commonlisp
<Josh_2> Very epic
<jackdaniel> Helmholtz: yeah, I'm right now polishing the emscripten port for final merge
<Josh_2> Vulkan backend when?? :joy:
<jackdaniel> whenever you make it, I keep my fingers crossed
<Josh_2> Dont bother :joy:
<Helmholtz> jackdaniel, Can we build self-contained binaries with ECL compiled with muscl?
<jackdaniel> ecl build system assumes that ecl is linked dynamically against libc, so that would require some changes to the compilation flags
<jackdaniel> but ecl does work with musl libc, so in principle that's doable (given the above)
<jackdaniel> other dependencies (libgc, gmp and libffi) are statically linked if you specify a flag --disable-shared
<Helmholtz> why it's not, like, the normal way of distributing software in CL (when performance is not important). It would be similar to Go
<Josh_2> Huh?
<jackdaniel> common lisp has somewhat big standard librarary (string-equal etc)
<Helmholtz> Josh_2, for creating CLI apps, go produces portable binaries
<jackdaniel> even with ECL when statically linked and stripped the core runtime is 2-4MB
<jackdaniel> but ECL by default is built as libecl.so, so programs may be very small and link against it
<Josh_2> Less than sbcl
<Josh_2> much much less
<jackdaniel> I'm not saying that 4MB is much, but I think that go static executables are smaller
<Helmholtz> I don't think so..usually go apps I use are around 10MiB
<Helmholtz> Even Rust apps are ~5MiB-ish
ec_ has quit [Ping timeout: 240 seconds]
<jackdaniel> I see, that's nice then
<Helmholtz> This is a question that comes up often in hackernews and such...how to statically link against musl
<jackdaniel> that's certainly a valid feature request (and as I've said it should not be hard to achieve). that said there is only so many things one person do at the same time
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
ec_ has joined #commonlisp
pranavats has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<Josh_2> With asdf how do I execute a plan?
<Josh_2> I eval (asdf:operate (asdf:make-operation) <my system>) but this returns the plan, how do I actually execute the plan?
ec_ has quit [Ping timeout: 240 seconds]
<NotThatRPG> Josh_2: Why do you want to do that? `(asdf:operate-on-system 'my-op "system-name")` should do the job, I think (have to look -- I really only ever use `asdf:load-system` and `asdf:test-system` myself)
<pjb> Josh_2: (asdf:make-operation '<some-operation-class>) and implement a method on asdf:operate for <some-operation-class>
<Josh_2> Curiosity
<Josh_2> Ah
<pjb> Josh_2: note that the default method call (perform-plan plan) and returns (values operation plan).
<pjb> So already done.
ec_ has joined #commonlisp
<pjb> Josh_2: perhaps you need a make-plan method for your operation class to produce an effective plan? (one which does something when (perform-plan <plan>) is called?
<NotThatRPG> Josh_2: Sometimes it's of interest to look at a plan, but I don't think ASDF provides any guarantees about its structure or an API for external uses of it.
<Josh_2> I am just trying some of the default ones
<Josh_2> Wanted to see my system as a bundled fasl
<Josh_2> but I dont know how to actually get the bundled fasl :joy:
<NotThatRPG> I have to head out, but will be back on in an hour or so if you have more questions. It's been a while since I looked deep in here, and the bundled stuff is something I stay away from (since I don't use a C-based CL implementation myself)
<Josh_2> Well I am only curious thats all.
<NotThatRPG> I think there's a specific operation for that bundle fasl, and it gets written into the cache like other output files (see controlling where ASDF writes files in the manual)
<Josh_2> Right
<jackdaniel> NotThatRPG: I don't think that Josh_2 uses ECL if that's what you are hinting;; Josh_2: do you?
<Josh_2> Nope, I am currently using SBCL
<NotThatRPG> A challenge with operations that weren't in the original design is that some seem to need arguments, and arguments are unsupported. Originally it was possible to stick attributes on operations, but Fare removed that because there was never any clear story about how those properties should be propagated. And then, of course, the operation objects got interned...
<NotThatRPG> Anyway, must dash. Back in a little.
<Josh_2> Thanks for the info :)
easye has quit [Ping timeout: 255 seconds]
easye has joined #commonlisp
NotThatRPG has quit [Remote host closed the connection]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
habamax has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.2)]
tyson2 has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
awkravchuk has joined #commonlisp
ec_ has joined #commonlisp
mgl has joined #commonlisp
pranavats has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
<Josh_2> Huh, asdf:find-component does not look inside the children of children in base :sob:
<Josh_2> Perhaps there is some performance penalty. Would be nice to have a flag to search through all children
<Josh_2> For nested modules
<yitzi> Josh_2: You can pass a list for a path
<jackdaniel> then it could return multiple entries
<jackdaniel> i.e you may have a file "main" in two different modules
steew has joined #commonlisp
<Josh_2> :smile:
<Josh_2> Ah yes I see jackdaniel
<Josh_2> I am looking for a module in particular though
<Josh_2> Or am I!
<jackdaniel> you may have multiple modules with the same name
<Josh_2> yitzi: Thanks :D
ec_ has quit [Ping timeout: 240 seconds]
NotThatRPG has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
santiagopim has joined #commonlisp
Cymew has quit [Ping timeout: 240 seconds]
Equill has joined #commonlisp
green_ has quit [Ping timeout: 240 seconds]
seok9 has quit [Quit: Client closed]
seok9 has joined #commonlisp
eddof13 has joined #commonlisp
karlosz has joined #commonlisp
seok9 has quit [Quit: Client closed]
seok9 has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pve has quit [Ping timeout: 260 seconds]
eddof13 has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
Devon has quit [Ping timeout: 240 seconds]
Gleefre has joined #commonlisp
<jcowan> The Google style guide says 100 characters, which I think is a mistake. There should either be no limit or a 72 to 80 character limit
<jcowan> Text that goes to the end of the line
<jcowan> and then
<jcowan> gives you a short line due to naive
<jcowan> is super annoying
<jcowan> overrung
<jackdaniel> common lisp uses verbose names and 80 characters is usually too little
<jackdaniel> so people often set up buffers so 100 or 120 characters fit on a single line
<jcowan> s/overrung/folding/ (someone was saying something in my background)
tyson2 has quit [Remote host closed the connection]
pve has joined #commonlisp
<jcowan> jackdaniel: Unless the name is longer than 80 characters, I don't think it's a problem. You just use vertical alignment.
<Josh_2> 100 seems nice
<gilberth> My default Emacs buffer width is 120 characters. What is important is the net line width. When indention already is at column 60 and 40 characters follow until end of line, that's no issue to readability. Squeezing everything then to just 12 characters which would be line break after every atom, is not readable to me.
<jackdaniel> jcowan: I'm not arguing with what is sufficient or not, I'm only telling what people often do
<gilberth> Prose should not run wider than 72 characters, also for readability. There is a reason newspapers are typeset in narrow columns.
<jcowan> Okay. I'm not arguing either. "I never argue: I just tell people what I think or what I know, depending." --me
<jcowan> There is a reason they are set in little teeny print, too.
<jackdaniel> no, I'm telling you that there is no point in proving to me that the practice is wrong
<Josh_2> So you can strain your eyes?
<jcowan> jackdaniel: I disclaim any such attempt
<Josh_2> my emacs buffer width is 95, with sly taking up the other half
<Josh_2> got that font nice and big
<gilberth> Pointing to printers is silly these days. First, printer used to be 96 columns, not 80. Second, when was the last time you printed your code? With a dot matrix printer?
<jcowan> The printers I used in the old days were 132 columns
<gilberth> jcowan: A newspaper don't run the line over the whole width. That would slow down reading. That was my point.
<jcowan> Oookay. My fifth grandchild was just born! 328g
<gilberth> jcowan: Right. 132 also was pretty common.
<jcowan> gilberth: I follow you entirely.
<Josh_2> 328g
<Josh_2> seems like a very smol baby
<Josh_2> can it fit in 72 columns?
<Equill> jcowan: congratulations!
<jcowan> dropped an 8
<jcowan> 3288 g = 3.288 kg
<Josh_2> okay
<jackdaniel> congratulations
<Josh_2> maybe wont fit in 72 columns
<Josh_2> pretty cool having all those grandkids :sunglasses:
<jcowan> Funny. In the U.S. they measure your baby in metric and convert to U.S. Customary, leaving you convert back. This is especially annoying for immigrants, I'm sure.
<jcowan> s/you/you to
<Josh_2> :baby:
awkravchuk has quit [Remote host closed the connection]
seok9 has quit [Quit: Client closed]
seok9 has joined #commonlisp
<gilberth> And with Lisp you easily end up indented at column say 30 and beyond. Some nesting like DEFUN > LABELS > MACROLET > LET > WITH-SLOTS > MULTIPLE-VALUE-BIND > COND > LOOP > DO > COND arises before you notice. I personally tend to write large functions and believe in structured programming.
occ has joined #commonlisp
euandreh has quit [Quit: euandreh]
euandreh1 has joined #commonlisp
euandreh1 is now known as euandreh
Oddity has joined #commonlisp
tyson2 has joined #commonlisp
mgl has quit [Quit: Client closed]
euandreh has quit [Remote host closed the connection]
euandreh has joined #commonlisp
<pve> Josh_2: I made this a while back when I wanted to get *all* fasls required to load a system, are you trying to do something similar?
<ixelp> make-system-loader/make-system-loader.lisp at master · pve1/make-system-loader · GitHub
<Josh_2> Well when I connect so slynk server with sly-connect asdf goes off trying to compile files
<Josh_2> so I'm not actually sure what I am trying to do yet
<Josh_2> other than stop it doing that because the files dont exist
igemnace has quit [Remote host closed the connection]
<pve> oh, ok nevermind then
<Josh_2> Thanks for the suggestion
<pve> that thing in my link gathers up the fasls recursively and creates a lisp file that loads them, without asdf being loaded at all
rendar has quit [Quit: Leaving]
rendar has joined #commonlisp
rendar has quit [Changing host]
rendar has joined #commonlisp
Helmholtz has quit [Ping timeout: 250 seconds]
dcb has joined #commonlisp
kevingal has quit [Ping timeout: 255 seconds]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<NotThatRPG> Josh_2: So what are the nonexistent files that ASDF is trying to compile? And what are the reasons for it trying to do this? What's the top-level call into ASDF that has kicked this off
* NotThatRPG will be a bit slow answering....
<Josh_2> asdf tries to find the .fasls for slynk
<Josh_2> in .cache ... etc
<Josh_2> I set it to immutable and then instead an attempt is made to read the files from quicklisp
<Josh_2> idk. It might not be asdf doing it
<Josh_2> I will have to check again
cage has joined #commonlisp
matt` has joined #commonlisp
skyl4rk has quit [Server closed connection]
skyl4rk has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
green_ has joined #commonlisp
green_ has quit [Quit: Leaving]
mathrick has quit [Server closed connection]
mathrick has joined #commonlisp
xantoz has quit [Server closed connection]
Helmholtz has joined #commonlisp
green_ has joined #commonlisp
xantoz has joined #commonlisp
makomo has quit [Ping timeout: 248 seconds]
eddof13 has joined #commonlisp
jmiven has quit [Quit: reboot]
<NotThatRPG> Josh_2: I guess I don't see why ASDF isn't finding the slynk fasls. Isn't that the bug -- that you are running sly, and so slynk should be loaded and ASDF can't find it? Or is there something I'm missing
jmiven has joined #commonlisp
waleee has joined #commonlisp
morganw has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<NotThatRPG> Josh_2: Interesting -- I just checked my *sly-inferior-lisp for alisp* emacs buffer and indeed I see that at least some slynk files are getting recompiled. No idea why.
<Josh_2> This is a problem :sob:
<Josh_2> It means i have to move the cache into my container
<Josh_2> But I dont see why it should be necessary
<NotThatRPG> No -- that was just because of an update to the lisp beta release. I started sly a second time and it just loaded the preexisting fasls.
eddof13 has joined #commonlisp
<NotThatRPG> Josh_2: OK, maybe I'm starting to get the context -- you are running from inside a container, but are you bugged because the lisp is inside the container and the emacs is outside? I guess I don't see why you wouldn't have to put your fasl cache into the container. But... I don't know as much about interacting with a remote slynk server as I should. Never got it to work reliably myself.
<NotThatRPG> I assume that running in a container is basically the same as running on a different machine (which, as I said, I never got to work satisfactorily)
<Josh_2> Basically yes
<Josh_2> I dont see it needs to load the fasls anyway..
<Josh_2> The whole system is pulled in as a dependency already
<Josh_2> I could bundle the cached fasls with my image, and then when the image is deployed set the user cache
<NotThatRPG> So the problem is not that these are being compiled, but that you don't know why your image is loading the slynk server?
<Josh_2> Well, I know what causes it.
<Josh_2> When I connect to the listening server it loads the fasls
<Josh_2> I suppose I can go ask on the sly github what the purpose of reloading these fasls is
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
seok9 has quit [Quit: Client closed]
seok9 has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
matt` has quit [Remote host closed the connection]
ec_ has joined #commonlisp
Sario has quit [Quit: WeeChat 3.0]
Sario has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
tevo has quit [Read error: Connection reset by peer]
tevo has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #commonlisp
<NotThatRPG> Josh_2: So what you are saying is that the image has the slynk server library preloaded, but when it gets a remote connection, it reloads them anyway?
<NotThatRPG> I can't say for sure, but it's equally possible this is a sly/slynk issue and not ASDF.
mariari has quit [Ping timeout: 250 seconds]
<NotThatRPG> Josh_2: I think it is slynk doing this. If you look at "start-slynk.lisp" (unless this has changed since my last pull), you will see an invocation of `slynk-loader:init` with the comment "reload SLYNK, even if the SLYNK package already exists".
<NotThatRPG> I don't know what the design rationale for that would be
tasty has quit [Quit: rebooting for kernel updates]
<pve> perhaps it's related to the recompile-on-update mechanism that at least slime has (which doesn't use asdf)
NicknameJohn has joined #commonlisp
cage has quit [Remote host closed the connection]
cage has joined #commonlisp
mariari has joined #commonlisp
ec_ has joined #commonlisp
luis has quit [Server closed connection]
luis has joined #commonlisp
dirtcastle has quit [Server closed connection]
overclucker has quit [Ping timeout: 265 seconds]
ec_ has quit [Ping timeout: 240 seconds]
Helmholtz has quit [Remote host closed the connection]
ec_ has joined #commonlisp
dirtcastle has joined #commonlisp
<Josh_2> Hmm
<Josh_2> I wonder if I can make an issue and ask them to make it a configurable option
cage has quit [Quit: rcirc on GNU Emacs 28.2]
ec_ has quit [Ping timeout: 240 seconds]
mgl has joined #commonlisp
<NotThatRPG> Josh_2: The other thing you could do is change the fasl output mapping for the slynk libraries, and put only those fasls into your container. If I recall correctly there's a mapping that's sort of logical-pathname-like, and you can definitely carve out special places for particular fasls.
ec_ has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
<ixelp> Controlling where ASDF saves compiled files (ASDF Manual)
overclucker has joined #commonlisp
tasty has joined #commonlisp
tasty has quit [Changing host]
tasty has joined #commonlisp
<NotThatRPG> See the "CONFIGURATION DSL."
<NotThatRPG> I have to go now, but I hope that will put you on the right track. Ping me later if you need help.
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rendar has quit [Quit: Leaving]
rendar has joined #commonlisp
rendar has joined #commonlisp
rendar has quit [Changing host]
ec_ has quit [Ping timeout: 240 seconds]
azimut has quit [Ping timeout: 240 seconds]
rendar has quit [Quit: Leaving]
rendar has joined #commonlisp
rendar has joined #commonlisp
rendar has quit [Changing host]
zaymington has joined #commonlisp
ec_ has joined #commonlisp
seok9 has quit [Quit: Client closed]
seok9 has joined #commonlisp
azimut has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
alcor has joined #commonlisp
tyson2 has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
Inline has quit [Ping timeout: 255 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
mgl has quit [Quit: Client closed]
ec_ has joined #commonlisp
LispTyro has quit [Quit: Connection closed for inactivity]
ec_ has quit [Ping timeout: 240 seconds]
Spawns_Carpeting has quit [Server closed connection]
Spawns_Carpeting has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ec_ has joined #commonlisp
shka has quit [Ping timeout: 240 seconds]
tyson2 has quit [Remote host closed the connection]
morganw has quit [Remote host closed the connection]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
xristos_ has quit [Ping timeout: 240 seconds]
ryanbw has quit [Ping timeout: 268 seconds]
rgherdt has quit [Remote host closed the connection]
alcor has quit [Remote host closed the connection]
pve has quit [Quit: leaving]
ec_ has quit [Ping timeout: 240 seconds]
Krystof has quit [Ping timeout: 260 seconds]
NotThatRPG has joined #commonlisp
hrberg has quit [Ping timeout: 268 seconds]
NotThatRPG has quit [Client Quit]
ec_ has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
seok9 has quit [Quit: Client closed]
habamax has joined #commonlisp
seok9 has joined #commonlisp
santiagopim has quit [Ping timeout: 260 seconds]
fiddlerwoaroof_ has quit [Server closed connection]
fiddlerwoaroof_ has joined #commonlisp
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
Oladon has quit [Server closed connection]
Oladon has joined #commonlisp
xristos has joined #commonlisp
xristos is now known as Guest5402
tertek has quit [Server closed connection]
tertek has joined #commonlisp
ryanbw has joined #commonlisp
akoana has joined #commonlisp
amb007 has quit [Ping timeout: 250 seconds]
rbcarleton has quit [Server closed connection]
amb007 has joined #commonlisp
attila_lendvai has quit [Ping timeout: 255 seconds]
rbcarleton has joined #commonlisp
rbcarleton has quit [Client Quit]
occ has quit [Ping timeout: 250 seconds]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
m5zs7k has quit [Server closed connection]
m5zs7k has joined #commonlisp
Sario has quit [Quit: WeeChat 3.0]
Sario has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
NotThatRPG has joined #commonlisp
ec_ has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
green_ has quit [Ping timeout: 268 seconds]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
NotThatRPG has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp