<paulapatience>
craigbro: Incidentally that's what I would use had I to start logging
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<craigbro>
trying to assemble my toolkit for some data engineering/ELT tasks for non-technical clients, likely running on windows. So figuring deploying tools that have cli and web server built in...
<craigbro>
was thinking sbcl on windows, but is there better options there? wrt end-user ergonomics just executing what looks like anotehr program to them, not for them to dev
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<paulapatience>
I've used SBCL briefly on Windows and didn't encounter any issues
<paulapatience>
It's actually installable via winget
<paulapatience>
Also, I wrote a small Lisp script to download all my Lisp dependencies
<paulapatience>
So installing the cli required just installing SBCL via winget
<ixelp>
New package: stumpwm-23.11 by MIvanchev · Pull Request #49434 · void-linux/void-packages · GitHub
<mivanchev>
the versioning disciple in the CL world seems to be a bit on the low side ( ͡° ͜ʖ ͡°)
edgar-rft` has joined #commonlisp
<mivanchev>
and the ultimate goal of this whole exercise is to spare folks the necessity of using Quicklisp
edgar-rft has quit [Ping timeout: 246 seconds]
danse-nr3 has quit [Read error: Connection reset by peer]
danse-nr3 has joined #commonlisp
<beach>
mivanchev: How would that work for the "folks"?
<mivanchev>
they'd install properly versioned and checksumed software from their distro's repository that takes all care of state and dependency management
<scymtym>
mivanchev: thansk for the information
<beach>
mivanchev: So you mean I would use apt on my computer?
<mivanchev>
if you trust apt more than quicklisp you'd do, apt install cl-alexandria, yes
<mivanchev>
however void's quality standard is usually insane so badly versioned software is not accepted
<mivanchev>
whereas Arch Linux would release nearly everything
edgar-rft` is now known as edgar-rft
<varjag>
mivanchev: that was sorta the status quo *before* quicklisp took over
<varjag>
what was happening is you had a lot of very outdated cl packages in debian
<mivanchev>
debian is sluggish yeah
<mivanchev>
however I also understand their reluctance to release packages with unknown state of with long disappeared maintainers
easye has quit [Remote host closed the connection]
<jackdaniel>
I think that there are now at least two inititatives that try to make CL ecosystem firendly to linux packagers
<mrcom>
mivanchev: I think you're discovering why Quicklisp is, effectively, a snapshot monorepo.
<varjag>
+1
easye has joined #commonlisp
<varjag>
and thing is even for well versioned, regularly updated packages it's still a lot of work for a debian maintainer to downstream them
<mivanchev>
I am, but QL is not really the issue (I mean for me it is) but for the packaging effort I have to talk to A LOT of authors about their way of doing business
<jackdaniel>
ocicl and clpm I think
<mivanchev>
I.e. i can't submit FiveAM which is awesome software because at least 2 dependencies are horribly versioned or not at all
<mrcom>
You're also running into Thats Not How Its Done.
<mivanchev>
yes, that's true
<mivanchev>
but we'll get there :}
<mrcom>
What's the motivation for the effort? It sounds like "don't use Pip, use Apt!"
<bike>
it would be nice to have better versioned dependencies, at least
<yitzi>
Or don't. IMHO only distribution packages that are maintained by the Linux distribution's core team (and are need to support a core package) or distribution packages that are maintained by the Lisp system's maintainer will survive. Others will we short-lived based on an individual's need, i.e. Arch AUR is fine solution for stuff like that.
<mivanchev>
it's essentially the same thing. multiple reasons, better integration with the OS and big quality gains overall
<mrcom>
It would, but that requires all the maintainers to be on board.
<mivanchev>
Void discourages Pip too
<mivanchev>
yitzi, that's not quite true, i.e. there's huge interest for StumpWM (me included)
<yitzi>
So it should in the core.
<mrcom>
mivanchev: Are you encountering a number of people who've complained about the situation, or is it somethingj that seems like a fine thing to do?
<Shinmera>
I for one love not knowing whatever heck version my users are going to run of my libraries because now there'll be not two ways to get it, but two + x-distribution managers
<mivanchev>
i'm nearly daily in discussions about it mrcom
<mrcom>
There are that many people waning to use CL?
<Shinmera>
It's already bad enough to get ten bug reports for the same dumb issue because folks are stuck on an old sbcl or ql hasn't updated in months
<Shinmera>
Can't wait to have to learn about whatever weirdo distros out there now, too
<mivanchev>
Shinmera, it's not the case, typically you know to use the PM for everything :)
<Shinmera>
we've had enough folks come in here complaining about bugs in outdated debian packages already
<mrcom>
PM?
<mivanchev>
package manager mrcom
<varjag>
one problem is cl stuff is essentially -dev libraries, and very little depends on them elswhere on a common linux install
<varjag>
it's a recipe for rot
<Shinmera>
it's a recipe for me getting more duplicate reports and maintenance headaches
<yitzi>
Shinmera: don't get me started on the Guix/Nix packagers and their crazy requirements. I have gotten to the point of ignore issues for my repos filed by them.
<mivanchev>
Shinmera, sadly, I cannot help you there, a lot of folks just go berzerk with stuff like Flatpacks etc. I have no control whatsoever, I respect you for maintaining your stuff and understand the situation
<Shinmera>
flatpack has nothing to do with anything?
<Shinmera>
I'm talking about distro pms
<mivanchev>
yes I know, it's what we do so we can integrate software better with the distro
<Shinmera>
and about lisp packages being in there being a pain in the ass for the library authors, because mysteriously enough, folks that use those pms always run to the authors with issues, rather than to the pm maintainers
<mivanchev>
if people come to you instead of us, I'm sorry
msavoritias has joined #commonlisp
<mivanchev>
well, I doubt you prefer them to install your lib through some obscure mechanism overrding sbclrc with initialization logic and quite some intransparency
<Shinmera>
you don't need to override sbclrc
<mrcom>
Of course, if people really _did_ go to package maintainers instead of authors, that's a problem too.
<Shinmera>
and I *do* prefer them to install my libs with ql
<Shinmera>
because I can at least reproduce that
<Shinmera>
and it is one monolithic solution
<varjag>
mivanchev: there are more cl implementations than sbcl out there too
<mivanchev>
that's a good argument, I understand this
<mivanchev>
we are leading a pointless discussion, clearly everyone has their justified preferences. I'm only sharing why I go after authors to version their software :)
<mrcom>
Another thing you're going to run into is that we are, as a lot, all library authors at heart, even if we don't publish anything.
<mrcom>
And as authors, there's not generally a lot of concern about distros.
awlygj has quit [Ping timeout: 255 seconds]
<mrcom>
Their problems aint our problems.
awlygj has joined #commonlisp
<Shinmera>
I will stop writing software before I give a shit about version numbers
<mrcom>
We've *got* a distro solution already, and it's QL.
<Shinmera>
Ain't nobody got time fo that
<mrcom>
To which I would disagree, but QL takes care of those differences in style.
AetherWind has joined #commonlisp
<mrcom>
Now where we *will* have a problem is if/when Zach gets tired of it.
<Shinmera>
I have been working on a mitigation for that with redist
dlowe has joined #commonlisp
<Shinmera>
it can mirror an existing dist and chow the quicklisp-projects syntax
<mrcom>
Yeah, but it's the work in getting out new snapshots I'm talking about.
<Shinmera>
when I get the time to fix the storage backend I'll be able to set up a "quickerdist" that has the same project set, but releases more frequently
<Shinmera>
sure
<mrcom>
Is Ultradist still a thing?
<Shinmera>
sure
<Shinmera>
but that releases every few seconds
<Shinmera>
and includes tons of stuff not in ql
<yitzi>
Adoption time of new systems is currently a problem with QL, not just the refresh time.
<mrcom>
I just really looked at let+, and now don't know how I coded without it.
<mrcom>
It got shelved for updates, what, 10 years ago? :)
<jackdaniel>
syntactic sugar leads to code cariosity
<mrcom>
?
<mrcom>
As in people want to look at the code more, or it's very curious code?
<Shinmera>
no, as in caries
<jackdaniel>
sugar leads to teeth cariosity
<mrcom>
Ah. Well I don't use a lot, but being able to put multi-values inline with regular let is a life saver. Esp. for Clim, with uses (value) with great enthusiam.
<mrcom>
For what I think are good reasons, but nested m-v-bs get old.
<jackdaniel>
there is another syntacitc sugar you may want to explore (for nesting) -- uiop has a macro called nest
<mrcom>
OK, thx, I'll look at it.
<jackdaniel>
and that thing about code decay was a joke
<jackdaniel>
but more unfamiliar idioms you use, harder it gets to read your code
<mrcom>
Understood :) But it does have a core of truth.
<jackdaniel>
like all good jokes should
<jackdaniel>
(not that this one was particularily well made)
<mrcom>
Yeah. For example, I played with --- ah I don't remember how to do Greek in linux keyboard -- that one-letter greek lambda thing.
<mrcom>
Not worth it, even for my own uses. Messes up code locatiion for backtraces.
AetherWind has quit [Quit: Lost terminal]
<mrcom>
I even tend to use loop rather than iter, when halfway feasible, because the backtraces and code location in SBCL are so much better for it.
Inline has joined #commonlisp
<mivanchev>
alright, let's put the discussion at rest, I don't wanna cause anyone here semantic versioning related trauma
<mrcom>
But let+ is exactly what let* should have been.
<mivanchev>
those are hard to treat and usually fatal ;)
<Shinmera>
I'm fine with let* the way it is
<mrcom>
Well, now that you've mentioned it, what do you suggest the best way to do it is?
<jackdaniel>
if you feel especially naughty (and don't use threads), you may also explore the idea of a LETF macro that works on places
<mrcom>
(I *like* semantic versions)
<mrcom>
I've seen the comments in McCLIM back-and-forthing about that :)
<mivanchev>
I put my software in ~/common-lisp and for the future hope to be able to use my distro's PM because I know the process behind it and the effort and trust it. It seems it's too much sometimes to put a version number and instead stay with Git hashes and assume every commit is a usable milestone :)
<mrcom>
How would you approach a lib using s.v. for its dependencies?
<mivanchev>
what do you mean?
<mrcom>
It's a nice thing to do, but what do I actually, concretely, do?
<mrcom>
What's the protocol?
<mivanchev>
the best case there's a Git{hub|lab} tag with a release (including a .tar.gz) so we know this is a milestone
<mivanchev>
SourceForge handles it similarly
<mrcom>
OK, but how do I expose that, and use it?
<mrcom>
Write a library!
<mrcom>
(For s.v.)
<mivanchev>
I guess :D good idea
<mivanchev>
haha
<mivanchev>
I think there was something like that around even
<mrcom>
If it's simple enough, I'd use it. Simple like 5am simple.
<mivanchev>
5am is so great
<mivanchev>
honestly, hands down, awesome library
<mivanchev>
and Criterion for C, i think those are my fav testing libs
<jackdaniel>
you become a true lisper when you write your own testing framework, common lisp implementation and a user interface manager
<jackdaniel>
smugness comes naturally when someone asks which testing framework should they use
<mivanchev>
also "Name 5 CL compilers / interpreters"
<mrcom>
My wife was just complaining about me going down rabbit holes.
<mrcom>
I protested that my, uh, tendecies are miniscule. I think I told her about Dr. Meister and ..hushed pause.. Knuth.
<mivanchev>
no true lisper has a wife
<mivanchev>
self-quit NOW mrcom, you've been exposed
<mrcom>
Oh, my wife's a bigger hacker than I am. She's not a programmer, but once managed to find the source for a medical management system and customize it.
<mrcom>
The support folks didn't know whether to be horrified or fascinated.
<mrcom>
IIRC, they actually picked up a couple of the things she customized.
<mrcom>
She just couldn't explain how or what she did. It Just Worked.
<mrcom>
I've been very careful not to tell her too much about my dev environment.
random-jellyfish has quit [Ping timeout: 256 seconds]
josrr has joined #commonlisp
<bjorkintosh>
mrcom, what was the software written in?
pranav has quit [Remote host closed the connection]
yitzi has quit [Remote host closed the connection]
<dlowe>
mivanchev: maybe no true lisper lacks a spouse and you've been misled all along
waleee has joined #commonlisp
<contrapunctus>
Shinmera: why the aversion to "[giving] a shit about version numbers"? 🤔
<Shinmera>
I don't care about version numbers, they don't help me
<contrapunctus>
yitzi: What are the "crazy" requirements for Guix/Nix? I'm interested in using Guix, but I haven't tried it yet.
<dlowe>
I'm running the guix system on my laptop now AMA
<dlowe>
but not here unless it's about the common lisp environment
<dlowe>
version numbers can optimistically serve as compatibility guides
<Shinmera>
they don't help me as a maintainer
<dlowe>
or more likely, degrees of incompatibility
<Shinmera>
I just don't want to think about version numbers
<contrapunctus>
dlowe: I guess Shinmera can get away without caring about them, since she's written over half the Common Lisp library ecosystem 🙃
<Shinmera>
I already forget to regen the doc pages, and that's a lot worse
<Shinmera>
lord help me if I'd have to remember to version bump for every little thing
<Shinmera>
let alone figure out if it's supposed to be a "fix", a "feature" or "breaking"
<dlowe>
sure, it's a signal to downstream users
<dlowe>
if you want a utility for the maintainer, it's to set expectations so the bug reports are more sensible
<Shinmera>
it doesn't add anything beyond replacing "are you on latest" with "are you on vX (which is latest)"
random-jellyfish has joined #commonlisp
<mivanchev>
It'll come with time. For now the only drawback is that it can't be used for commercial projects and people are using Python nonsense i.e. your effort is somewhat wasted
<Shinmera>
lord not even lispers use my garbage, don't even try to tell me that somehow anyone but lispers would have any interest at all in using it
<dlowe>
Shinmera: I'm using your FOR library right now in everything :p
<mivanchev>
of course, you're very productive, every s expression is useful for the next 50 years.
<mivanchev>
it's just that stakeholders need more than the code, licenses, versions, know vulnerabilities, etc. for their migration processes
<mivanchev>
with time you'll come head to head with these things
<dlowe>
mivanchev: that's not an inevitability
<Shinmera>
I would rather eat stakeholders alive than cater to their needs
<Shinmera>
if they want versioning so bad they can do it themselves
<mivanchev>
it's one of the things but also their advisors are not very capable so oftentimes it ends up in some sort of a python-based chaos because it's "easier"
<mivanchev>
previously it was java
<Shinmera>
that's their problem not mine
<mivanchev>
I need versioning currently but I can manage without :D
<mivanchev>
i still appreciate your productivity and zeal
josrr has quit [Remote host closed the connection]
<mrcom>
bjorkintosh: Don't know, she couldn't really describe it to me. Probabally not Basic, she knows what that is. Some ad-hoc DSL thing, probably, with source-is-the-executable.
ocra8 has joined #commonlisp
<bjorkintosh>
interesante. was this a long time ago?
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
metsomedog has joined #commonlisp
<green_>
I wrote some of the lisp packaging guidelines for Fedora, but have since come to the opinion that there's little value in packaging Lisp systems in Linux distros, except in the case where there are end user applications that depend on them, in which case I would suggest just bundling them with the application.
waleee has quit [Ping timeout: 255 seconds]
NotThatRPG has joined #commonlisp
josrr has joined #commonlisp
dinomug has joined #commonlisp
<mivanchev>
i really cannot agree with this green_, Lisp's popularity ultimately has to do with availability and basic quality assurance
<random-nick>
it's not unusual for languages to not have libraries in distro package managers
<random-nick>
I think Java and C# usually don't
<Shinmera>
js also, of course
<mivanchev>
js being the prime example, I think the user base is coming to the slow realization what this means.
<mivanchev>
ultimately it will always be good to maintain some trust in the release process
<mivanchev>
but yeah, I agree, currently it's OK to have decoupling
jmercouris1 has joined #commonlisp
jmercouris1 has quit [Client Quit]
jmercouris1 has joined #commonlisp
jmercouris1 has quit [Client Quit]
alcor has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
amb007 has quit [Ping timeout: 240 seconds]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
pfdietz has quit [Quit: Client closed]
jrm has quit [Quit: ciao]
jrm has joined #commonlisp
<metsomedog>
CL packages in Guix are nice since you can depend on a certain version of the CL library working with an application.
<craigbro>
business is not choosing other langauges over CLbecause of versioning, or lack of deb packages
<craigbro>
why libraries at all in CL?
<craigbro>
you ship images or complete systems
<craigbro>
shared libs for langauges like lisp are so 2010. All the kewl languages are all about single static binaries
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pranav has joined #commonlisp
<mrcom>
Someone please send coffee.
<mivanchev>
I'm all for static binaries (see static-wine32) but that's simply not the whole picture
<mivanchev>
the ability to reproduce builds yourself is quite important
<mrcom>
I'm looking at my code, wondering why SBCL cratered w/ guard page issues.
<mivanchev>
in fact void forces you to build yourself for restricted non-free packages
<mrcom>
Recursion somewhere in my macro. Weird. And why did it stop printing right in the middle of a line?
<mrcom>
Test data for my macro, done back when was just looking at macroexpand output:
<craigbro>
mivanchev: I'm a nix user, and am all about that. However, that's a concern for people who take on that risk model and constraint. It's not been on the radar of most of the world until recently, and the CL adoption in business world is not impacted by it in that time, and will not be in the future
danse-nr3 has quit [Read error: Connection reset by peer]
<mivanchev>
for the future we might argue to the innate quality of CL craigbro. however distribution will be an important topic and "some friend maintains a server hosting stuff, get it from there" will not be sufficient
<mivanchev>
of course the world will get tired of JS, NPM, Python crap eventually, very soon even and software quality will become a topic
<bjorkintosh>
mivanchev, are you certain about that? crappy things win hands down (or worse is better).
<bjorkintosh>
but you knew that already.
<mivanchev>
I gotta head out bjorkintosh, let's continue the debate but ultimately that's not true. it was true for the last 15 years but coming to an end now. software is about fixing your knee with a guided laser without hitting the nerve, not about the next fashion website
<mivanchev>
i am 99,9% certain the quality of software will become a major thing again
<craigbro>
mivanchev: kewl, look forward to more discussion on the topic, not trying to shut anything down
<mivanchev>
yes, I am also happy, we reach good insights
<craigbro>
yah, I agree, but my take is just about who is repsonsible for that and should anyone internalize that
dinomug has quit [Remote host closed the connection]
<mrcom>
Over at the corner table, Cobol and Fortran start a loud drunken argument about who gets less respect from clueless hipster languages. Assembler yells at them to SHUT UP.
<bjorkintosh>
mivanchev, programming is ultimately fad oriented.
<bjorkintosh>
it cannot be helped. even what you're suggesting is (should it come to pass), a fad.
<dlowe>
well, the programming industry
manwithluck has quit [Read error: Connection reset by peer]
<mivanchev>
a fad that survived 50 years and gurantees the washing machine doesn't explode. there's a lot more to software than what we perceive. I can do very well without apps counting the apples in the fridge but society is of course budgeting carefully regarding long-term mission critical projects
<dlowe>
you can go against the grain and wind up on IRC channels
<dlowe>
and live a perfectly happy niche existence as a programmer
yitzi has joined #commonlisp
<bjorkintosh>
well, plug boards used to be all the rage before that new fangled machine language took over.
<bjorkintosh>
programming will not be going away any time soon, yes. fads within it will definitely come and go.
manwithluck has joined #commonlisp
wacki has joined #commonlisp
mivanchev has quit [Ping timeout: 268 seconds]
pfdietz has joined #commonlisp
mgl has quit [Ping timeout: 255 seconds]
<craigbro>
dlowe: that's my plan, did the industry, and am done with it and don't think anyone should be obliged to take on their values or goals.
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
<green_>
mivanchev: packaging libraries with linux distros sets an expectation that their "support" lifecycle is aligned to the lifecycle of the distro. Are the distro package maintainers committed to do this? Great. Otherwise, it seems disingenuous to package them up and make them available for end users. It also creates unwanted grief for upstream maintainers.
NotThatRPG has joined #commonlisp
yottabyte has joined #commonlisp
wacki has quit [Read error: Connection reset by peer]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
earl-ducaine_ has joined #commonlisp
wacki has joined #commonlisp
msavoritias has quit [Remote host closed the connection]