Post AX9GPtk6Ig2pg5tYci by louis@emacs.ch
(DIR) More posts by louis@emacs.ch
(DIR) Post #AX98wkslSq1a7a6VzE by louis@emacs.ch
2023-06-28T09:54:41Z
0 likes, 1 repeats
I have a feeling that Quicklisp slowly fades away into an unmaintained state. While still being the CL library manager & the CL online package library.I believe there is an incredible amount of manual work invovled to keep it barely going.Should we try to reform and renove Quicklisp and move it to a point where it appears to be a modern package manager & repository like any other language offers?I probably sound heretic. I just feel that Quicklisp is an unopened treasure trove and vital to #CommonLisp 's adoption.What do you think?
(DIR) Post #AX9AiakkWlzoYmjGxU by amszmidt@mastodon.social
2023-06-28T10:14:33Z
0 likes, 0 repeats
@louis Not sure I agree. How is it fading away?
(DIR) Post #AX9B8TSUGs3DSvWqp6 by gothnbass@linuxrocks.online
2023-06-28T10:19:13Z
0 likes, 0 repeats
@louis I think you're right.Zach's done Herculean work in getting it to where it is, but it feels like the workload-to-Hercules ratio has exceeded 1:1.It's possible that I have federation and distributed workloads on the brain, but at the least I think a multi-moderator system is called for.Personally, I've wanted to be able to specify versions of packages for a long time. I *really* like the way Python's pip system does this.It'd also help if we had some way of keeping track of versions of each system, and whether each version a)builds, b)has a test suite and c)passes that test suite, preferably for each permutation of OS, hardware architecture and CL implementation (and version).For bonus points, keep track of compatibility from this version of a system to those versions of its dependencies.As I type this, I can see how to track all this in Syscat, even if the permissions system is rudimentary at the moment. So I can provide that end.1/?
(DIR) Post #AX9C8tKqA7Q7ftiOC8 by veer66@mstdn.io
2023-06-28T10:30:28Z
0 likes, 0 repeats
@louis I guess you are probably interested in joining Ultralisp maintance. cc @svetlyak40wt
(DIR) Post #AX9DUpWp618CC3LRMu by galdor@emacs.ch
2023-06-28T10:45:41Z
0 likes, 0 repeats
@louis The fundamental issue with QuickLisp is that it is the private collection of packages by a single person, instead of being a normal package manager like any other language package manager (think PyPI, RubyGem, Hex.pm, etc.)So any change, even the simplest update, must be validated by the author. He can accept or reject anything for any reason at all, and that is how it is. And no one will get access to the changes until the next QuickLisp dist update. Need different package versions? Too bad, you don't get to control it.Oh and I hope you don't care about security, because packages are downloaded over HTTP without any signature system whatsoever.Ultimately it's not even clear that QuickLisp is solving a real problem. Sure it's nice to help auto-downloading dependencies, but if you work with various package versions or forks (which is really common due to the number of unmaintened libraries), you'll end up downloading and vendoring them anyway.
(DIR) Post #AX9F0QBAykrAnMqamm by louis@emacs.ch
2023-06-28T11:02:35Z
0 likes, 0 repeats
@amszmidt the Quicklisp.org package directory. It's useless at this state, still links to a domain "quickdocs.org" for search which doesn't exists since like 2020 any more. I think Fukamachi accounced its revival but that never happened. It should support discoverability of packages. At least:provide link to the Git repository of the packageperhaps even show the README (like Melpa)provide a searchprovide sorting and filtering (i.e. show new or updated packages)Release cycles. Until 2021 it had around 10+ releases per year. In 22 there were only 4 and this year there were only 2 so far. I'm not a fan of "faster is better" but nowadays, especially when so many updated and new packages are released, a stable once-a-month release should be possible. The slow down is an indicator to me that all the manual work required by Zach is just too much.Package updates/adds are "requested" via GitHub issues. It is a fully manual process on both ends. There could be some automation to make that process less manual. I.e. have an account on quicklisp, register and manage your packages. For all these points Ultralisp is a proof of concept. Even our good old MELPA is light years ahead in user friendlyness. As @gothnbass mentioned, versioning is a big pain point generally in the Common Lisp area. I'm not sure right know about the right approach how to solve that but I assume that Quicklisp would play a crucial role in it. And if it is only by organizing a community discussion around it.I'm super grateful for Quicklisp. Not criticiting anyone's work. Just get the feeling that we (as in the more active CL community) should care more about the maintainership of Quicklisp.@dekkzz76 @gothnbass @veer66
(DIR) Post #AX9FvxBWw9aZfPRk3s by amszmidt@mastodon.social
2023-06-28T11:13:00Z
0 likes, 0 repeats
@louis @gothnbass @dekkzz76 @veer66 @galdor Seems that many of those points are not really related to Quicklisp per see. The first, seems like a trivial bug report. Cycles, I haven't updated mine for 2-3 years. And you can always use Ultralisp, or create another Hyperlisp or something. Adding packages on request isn't inherently bad, ensures that they are useful, or working.The last point of versioning is not something Quicklisp (or any such thing ...) can really solve.
(DIR) Post #AX9GMe7VvYkSMDIP4a by louis@emacs.ch
2023-06-28T11:17:49Z
0 likes, 0 repeats
@amszmidt Re: bug reports: there are multiple GH issues but nobody seems to care to fix themYou may not need packages more recent than 2020+ but other mightHow could a single maintainer even remotely ensure that 1'800+ packages are "useful" and "working"?Agree about versioning. But given how fast platforms and CL implementations are moving now, managing versions is getting cruicial. Running systems that are deliberately stuck in 1980, 1990, 2000 might be of interest to some but surely don't add to CLs rate of adoption in 2023@gothnbass @dekkzz76 @veer66 @galdor
(DIR) Post #AX9GPsJ7dUs1E8GUvw by amszmidt@mastodon.social
2023-06-28T11:16:41Z
0 likes, 0 repeats
@louis @gothnbass @dekkzz76 @veer66 @galdor This is not to say that Zach couldn't need a hand or that he should/could pass the torch. Quicklisp has a very low bus factor -- like many things.
(DIR) Post #AX9GPszJ6ec9Ky0Bge by veer66@mstdn.io
2023-06-28T11:18:06Z
0 likes, 0 repeats
@amszmidt The bus factor of most Common Lisp projects I checked is equal to 1.
(DIR) Post #AX9GPtk6Ig2pg5tYci by louis@emacs.ch
2023-06-28T11:18:24Z
0 likes, 0 repeats
@veer66 Or even less than that.@amszmidt
(DIR) Post #AX9GUJ0sHqfrDAqJAe by veer66@mstdn.io
2023-06-28T11:19:13Z
0 likes, 0 repeats
@louis For example, the bus factor of my projects is 0 now. @amszmidt
(DIR) Post #AX9GZxE6CbDTNXioNM by amszmidt@mastodon.social
2023-06-28T11:20:14Z
0 likes, 0 repeats
@louis @gothnbass @dekkzz76 @veer66 @galdor 1) Do they have patches? Did you send a patch?2) You have other repositories, like Ultralisp. And nothing stops anyone making more.3) By having to add them manually! Both verifying that it works (loads, compiles); but also throwing an eye on what it does. It is a relatively simple process, and not much work. Automating it wouldn't help, I think.
(DIR) Post #AX9GohvdMT7gHF7U80 by louis@emacs.ch
2023-06-28T11:22:53Z
0 likes, 0 repeats
@amszmidt Look at how many additions, updates and removals are in the latest release alone:http://blog.quicklisp.org/2023/06/june-2023-quicklisp-dist-update-now.htmlHearing you say that "it is not much work" to manually compile, test and "make sure they are useful" sounds disconnected to reality. Or at least my version of it.@gothnbass @dekkzz76 @veer66 @galdor
(DIR) Post #AX9H9f09RJZzHQDw12 by amszmidt@mastodon.social
2023-06-28T11:26:41Z
0 likes, 0 repeats
@louis @gothnbass @dekkzz76 @veer66 @galdor your assuming Zach is sitting there manually doing every single step. So I’ll call it nonsense. It is beyond trivial to compile that whole list without any manual intervention.
(DIR) Post #AX9HCp5wMwfbS8RKFc by gothnbass@linuxrocks.online
2023-06-28T11:27:14Z
0 likes, 0 repeats
@louis @amszmidt @dekkzz76 @veer66 @galdor The Github bug reports situation is even worse than it looks at first glance.neo4cl has been de-listed because I haven't resolved the Github issue about its tests failing.I haven't resolved it because I can't replicate the problem, nor can the one other person who actually uses that library.Dealing with one of these isn't *that* much work, for sure.Dealing with hundreds of them becomes a whole other problem in itself.
(DIR) Post #AX9HHFpSuhtLWfqYFc by louis@emacs.ch
2023-06-28T11:28:02Z
0 likes, 0 repeats
@amszmidt Re 1) reading the comments on these GH issues clearly indicate: not interested. Re 2) True. But why is it that in the CL everyone re-invents the wheel more than once instead of even trying to work together to build something bigger?Re 3) Already answered that.Just because you are not interested in change, which is perfectly valid, doesn't mean that the rest of the world is not interested in improvement either. In the public percetion, for newcomers specifically, Quicklisp is the equivalient to NPM, Pypi, RubyGems et al. But in fact it is A) a CL script that helps in autoloading dependencies and B) a manually crafted list of packages. They are independent, yet that is not immedately clear to everyone.@gothnbass @dekkzz76 @veer66 @galdor
(DIR) Post #AX9HNmnLGDpxVMy4fY by amszmidt@mastodon.social
2023-06-28T11:29:15Z
0 likes, 0 repeats
@louis @gothnbass @dekkzz76 @veer66 @galdor 1) It means _YOU_ are not interested in fixing it. You're expecting Zach to do your bidding.2) Hehehe.I never said I wasn't interested in change, don't put words into my mouth.
(DIR) Post #AX9HanIkgjsCqBrXWq by louis@emacs.ch
2023-06-28T11:31:33Z
0 likes, 0 repeats
@amszmidt ams literally:I haven't updated mine for 2-3 years@gothnbass @dekkzz76 @veer66 @galdor
(DIR) Post #AX9HhJxUBQVRrW1m6q by amszmidt@mastodon.social
2023-06-28T11:32:46Z
0 likes, 0 repeats
@louis @gothnbass @dekkzz76 @veer66 @galdor Yes, and? My use case isn't your use case, doesn't mean that I don't want change. Your trolling right now.
(DIR) Post #AX9HpVPhTfKFhq7xya by louis@emacs.ch
2023-06-28T11:34:15Z
0 likes, 0 repeats
@amszmidt You are trying to sell the approach "Quicklisp is fine as it is and if you want it different in any way, just run your own"sound to me like you are not interested in change. However, I did not want to put words in your mouth. I just trying to decipher the core of your message, which is not always an easy task for the non-elightened of us. @gothnbass @dekkzz76 @veer66 @galdor
(DIR) Post #AX9HtL2C0bwAfqxYNU by amszmidt@mastodon.social
2023-06-28T11:34:57Z
0 likes, 0 repeats
@louis @gothnbass @dekkzz76 @veer66 @galdor I never said anything of the sort. How about you shut up and hack instead of inventing stories.
(DIR) Post #AX9HuW84FD0nNDGmAa by louis@emacs.ch
2023-06-28T11:35:09Z
0 likes, 0 repeats
@amszmidt "I'm not trolling you" - bite me@gothnbass @dekkzz76 @veer66 @galdor
(DIR) Post #AX9Hz9QQ5JDqPF3z7Y by amszmidt@mastodon.social
2023-06-28T11:35:53Z
0 likes, 0 repeats
@louis @gothnbass @dekkzz76 @veer66 @galdor Dude, your bitching about mainly trivial issues that someone could just start working on. As if they are insurmountable. Whine whine whine, it is a common theme with you.
(DIR) Post #AX9I7JClbixR3QZE5g by louis@emacs.ch
2023-06-28T11:37:25Z
0 likes, 0 repeats
@amszmidt Dude, in this way, you stifle any constructive discussion at its core. But I'm not surprised. Let's leave it at that.@gothnbass @dekkzz76 @veer66 @galdor
(DIR) Post #AX9IcmWOeuuSxHkx3Q by josemanuel@qoto.org
2023-06-28T11:43:11Z
0 likes, 0 repeats
@louis @amszmidt @gothnbass @dekkzz76 @veer66 @galdor But why is it that in the CL everyone re-invents the wheel more than once instead of even trying to work together to build something bigger?I’d be happy to collaborate with anyone on creating (based on QL, UL, something else or from scratch) a Common Lisp equivalent of Packagist/Composer or PyPI/pip.I believe that would encourage lispers to not only write new packages, but also maintain them for the long term (as opposed to releasing one more-or-less working version and then abandon it completely due to a perceived lack of community interest).
(DIR) Post #AX9IomIzHyFtl9CkRk by gothnbass@linuxrocks.online
2023-06-28T11:45:17Z
0 likes, 0 repeats
@galdor @louis I think it's solving a real problem, just incompletely, as you've pointed out.I was just sketching out a data model for this, and now you throw in a perfectly reasonable issue with forks. Dammit.
(DIR) Post #AX9JDnghHnnXHpE5Ee by amszmidt@mastodon.social
2023-06-28T11:49:50Z
0 likes, 0 repeats
@louis @gothnbass@linuxrocks.online @dekkzz76 @veer66 @galdor If you think Quicklisp has issues, step up. These type of complaints (which are arch typical for CL) is what is not constructive.
(DIR) Post #AX9JEAaS9BTAJ7TvCC by gothnbass@linuxrocks.online
2023-06-28T11:49:52Z
0 likes, 0 repeats
@josemanuel @louis @dekkzz76 @veer66 @galdor You make an excellent point about perceived lack of interest.If we had a system that showed which systems depend on which other ones, you could _also_ see which ones depend on yours... even if the maintainers never directly tell you about them.I've done a terrible job of communicating what Syscat can do, but I really think it can fill this role.
(DIR) Post #AX9Jbml2OZorLth2wq by louis@emacs.ch
2023-06-28T11:54:10Z
0 likes, 0 repeats
@amszmidt This is exactly what I did. Please re-read my original post.I did neither bitch nor did I want anyone else to do the work. I also did not criticize the current maintainer - the opposite.IMO It is valid to collect opinions before making any decisions. I won't apologize for that to you. I'm not the "I do everything by myself, for myself and don't care about the rest of the world" type of person.There is no point in furthering this discussion when some engage in blocking. As veer66 said: it is ended.@veer66 @galdor @josemanuel
(DIR) Post #AX9Jp7jXid0qAkM1w0 by amszmidt@mastodon.social
2023-06-28T11:56:35Z
0 likes, 0 repeats
@louis @veer66 @galdor @josemanuel *plonk* More whining.
(DIR) Post #AX9NDgGtG8966OLzGK by carcosa@emacs.ch
2023-06-28T12:34:38Z
0 likes, 0 repeats
@louis @amszmidt @gothnbass @dekkzz76 @veer66 @galdor That escalated quickly. This all looks like an honest disagreement to me.
(DIR) Post #AX9U5HGZ2lZvuc8ogi by gothnbass@linuxrocks.online
2023-06-28T10:29:48Z
0 likes, 0 repeats
@louis The harder part is doing all that testing. That needs to be done either centrally, as Zach has been doing, or at the client side.If we had a client agent that automatically uploaded the build-and-test-per-platform results, where the test results are uploaded iff there _is_ a test and the user is willing to run them, we could distribute the workload.The trade-off would be comprehensiveness: when the client queried the database for a given package, there's a reasonable chance of getting a null answer, meaning "untested."It's then up to the user to decide whether they're willing to be the guinea-pig, or whether they'll insist on only fetching known-good versions.I guess the underlying trade-off here is eager vs lazy evaluation.From an eco-friendliness perspective, lazy evaluation means we don't collectively waste resources testing versions that nobody ever uses.Of course, I'm also glossing right over the question of how we manage version specifications.2/2
(DIR) Post #AX9U5I3q5YzgNRCAUa by gothnbass@linuxrocks.online
2023-06-28T13:02:40Z
0 likes, 0 repeats
@louis Question for the room, while I'm fleshing out this data model: would it be sufficient to have a record that "this version of this system" builds and/or tests successfully on "that OS/platform combination"?Or do you see value in having individual, date-stamped reports of success/failure?
(DIR) Post #AX9U5Ik1YijoUGvrFI by louis@emacs.ch
2023-06-28T13:51:32Z
0 likes, 0 repeats
@gothnbass The first option (showing a status quo) would be reasonable enough I think. Have a build log could just be embarassing for the developer of the package when they fail to get everything right at the first shot.So you are actually working on what? A package repository?
(DIR) Post #AX9UFojBUNTOaTYOSO by louis@emacs.ch
2023-06-28T13:53:26Z
0 likes, 0 repeats
@carcosa The disagreement was deleted now by ams - so it never happened 😎
(DIR) Post #AX9UwjNZFcIkS0uChc by gothnbass@linuxrocks.online
2023-06-28T14:01:09Z
0 likes, 0 repeats
@louis Fair point - a swarm of failed-build objects isn't great for one's self-esteem.I'm working on a database, rather than a repo.A quick summary would be a database you can query via an HTTP API, to find out- what ASDF systems are available- what source repo(s) they're available from (Github, Codeberg, et al)- what tags/commits have been known to build on which platform permutations*- what specific tags/commits of one project are known to build on which versions of their dependencies.By "platform permutation" I mean combinations of OS, OS/kernel version, CL implementation and version thereof.It's a subset of a larger web of connections, and one I've poked at in the past.
(DIR) Post #AX9nXE42RMzTDcK4Ce by louis@emacs.ch
2023-06-28T17:29:28Z
0 likes, 0 repeats
Accidentiallyl, found this just now:Question:"Can you please provide an argument as to why I should choose Racket over Common Lisp (sbcl)?"First Answer:Package management; specifically publishing yours. These days Common Lisp implementations mostly support QuickLisp, but you have to rely on someone else to update the package information, and that was last done in February as of this writing in June. Racket you just fill out a form on the web page and within a day it shows up in the official package list. [...]https://racket.discourse.group/t/can-you-please-provide-an-argument-as-to-why-i-should-choose-racket-over-common-lisp-sbcl/1991@gothnbass #CommonLisp #Racket
(DIR) Post #AX9pH2AX6BhXbKldIW by aziz@functional.cafe
2023-06-28T17:48:58Z
0 likes, 0 repeats
@josemanuel @louis @amszmidt @gothnbass @dekkzz76 @veer66 @galdor sadly the lack of positive feedback is very undermining for me too
(DIR) Post #AXA1EHAu37qIirOLo0 by glitzersachen@hachyderm.io
2023-06-28T20:02:56Z
0 likes, 0 repeats
@louis @amszmidt @gothnbass @dekkzz76 @veer66 @galdorDefinitely +1 for "bite me "
(DIR) Post #AXA1rC8AjkQ8N9fk3c by glitzersachen@hachyderm.io
2023-06-28T20:09:58Z
0 likes, 0 repeats
@louis @carcosa May I also borrow the time machine? I have use for it at work...
(DIR) Post #AXBZcbHsVx3JeMNuPg by jaredj@emacs.ch
2023-06-29T14:03:00Z
0 likes, 0 repeats
@louis @gothnbass Mmm, that could cut both ways. PyPI and npm have rampant typosquatting. Does Racket? Does Quicklisp?
(DIR) Post #AXFt3iqBDOKgejumZs by PuercoPop@mastodon.social
2023-07-01T15:59:39Z
0 likes, 0 repeats
@louis @amszmidt @gothnbass @dekkzz76 @veer66 @galdor quickdocs certainly exists. Its revival happened. The code for it is all in GitHub and the process to update quickdocs is also in a GitHub repo and automate the update process to make it more collaborative.
(DIR) Post #AXG00agbm9fSAytLUW by PuercoPop@mastodon.social
2023-07-01T17:17:32Z
0 likes, 0 repeats
@louis @amszmidt @gothnbass @dekkzz76 @veer66 @galdor > How could a single maintainer even remotely ensure that 1'800+ packages are "useful" and "working"?By building them and making sure across multiple implementations. This is done using cl-testgrid (https://github.com/cl-test-grid/cl-test-grid). Teamwork!
(DIR) Post #AXOLiigf2gnW2ATmU4 by vindarel@framapiaf.org
2023-07-05T17:58:30Z
0 likes, 0 repeats
@louis Quickdocs is available: https://quickdocs.org/ but yes, it would need more love to be as useful as one could expect.