4 ms·
I invite you to read https://www.dreamsongs.com/Files/Hopl2.pdf https://www.dreamsongs.com/Files/Hopl2.pdf which was submitted for the History of Programming La
by Jach 5y ago
I invite you to read https://www.dreamsongs.com/Files/Hopl2.pdf https://www.dreamsongs.com/Files/Hopl2.pdf which was submitted for the History of Programming Languages conference in 1993. I don't see how you can say with a straight face that no one rallied around Common Lisp given knowledge of Lisp history. (Edit: Uncut version: https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf or you can just read this from 2008 which is the main thrust of the uncut content, mainly that there's a cycle of diversification and consolidation with CL consolidating a lot https://www.dreamsongs.com/Files/PatternOfLanguageEvolution.pdf https://www.dreamsongs.com/Files/PatternOfLanguageEvolution....)
I'm not sure what you mean by "no canonical implementation" -- there's the ANSI Common Lisp standard, of which there are multiple implementations. Is this somehow a bad thing to you?
> Lispers love to say "Lisp is a family of related languages"
Not really. I think it's slightly more common for Scheme or Clojure programmers to claim Lisp relations, but it's just advertising. If having s-expression-ish syntax (with nothing being compatible to CL like a real Lisp dialect would be, and was given how much code in pre-CL Lisps could be run in CL unmodified) makes it part of the "Lisp family", then why not speak of the ALGOL family? It's tiresome semantics and from what I've read Common Lispers at least don't tend to do it.
> There's just no ecosystem of reliable, standard-ish packages.
Here's everything on Quicklisp: https://sabracrolleton.github.io/short-descriptions https://sabracrolleton.github.io/short-descriptions and a curated list: https://github.com/CodyReichert/awesome-cl https://github.com/CodyReichert/awesome-cl
Yes, it's not as impressive as Maven. Yes, not everything is as well-documented as, say, PyGame (http://www.pygame.org/docs/ http://www.pygame.org/docs/ -- though not every Python library you'll find with pip is, either) or even the Common Lisp Hyperspec (http://www.lispworks.com/documentation/HyperSpec/Front/Contents.htm http://www.lispworks.com/documentation/HyperSpec/Front/Conte...). Yes, some things are broken, or even abandoned, though in the latter case it may just be that they're "done" pending anyone coming up with a new issue or feature request. I've happily used web scraping libs to save my HN comments with their context, there's a good Twitter API lib I moved to when something broke the Python one I was previously using, I've orchestrated Selenium, I generated some FFI bindings to FMOD and had it working within a few minutes... My point here is just that there is an ecosystem for CL, and many things are reliable, when something works it's rare to stop working. Sorry about your GPIO experience, it happens, I had a bad experience trying to quickload a library that depended on iolib which opaquely depends on a custom C library the author also made and is not in my distro's package manager.
I'm not sure what you mean by "standard-ish" -- is Python's urllib3 "standard-ish"? What about urllib and urllib2? Do they qualify merely by being part of the standard library, or is it something else? My other guess is you mean something like "X is a common area of development in the current year, are there any packages dedicated to that area, what are they, and are they any good?" But this is a shaky categorization and in other languages changes all the time, not worthy of the attribute "standard" or even "standard-ish".
You're right though that what does exist is small and limited, and that's a natural limiting factor to growth, far more I think that what editors are available or easy to use. Quicklisp came about way too late. Yet the ecosystem continues to grow, so maybe you'll be willing to give it another chance in another 10 years.
- robertlagrant 5y ago> My other guess is you mean something like "X is a common area of development in the current year, are there any packages dedicated to that area, what are they, and are they any good?" I think perhaps what Lisp lacks (or appears to lack) is tentpole developers such as - from the Python world - Mike Bayer (SQLAlchemy) or David Lord (Flask/Pallets), or the Django community, or Kenneth Reitz (Requests) who keep high quality 3rd party libraries going for a long period of time.
- sitkack 5y agoThis is where Lisp should be able to kick ss. You can do literally anything you want semantically. I mean looking at the Stallman circuit Lisp [1] from 1975 should show the power language construction inside of Lisp. Most of the APIs I use don't have that expressive power. Another one that blows people's mind is the amb operator [2], and that you can construct new novel control flow directly in the language itself, including in libraries. I frankly don't understand why the programmers of the world aren't demanding Lisp. [1] https://electronics.stackexchange.com/questions/462215/representation-of-electrical-circuits-paper https://electronics.stackexchange.com/questions/462215/repre... [2] http://community.schemewiki.org/?amb http://community.schemewiki.org/?amb
- Jach 5y agoEh, it's debatable. CL has got (github usernames) Shinmera, Fukamachi, ruricolist, edicl, among many others (I have to stop my list somewhere). There are some collectives that work on a handful of projects together too. What would help is more word about contributions that already exist -- blog posts (or if possible additions to the Lisp Cookbook (https://lispcookbook.github.io/cl-cookbook/ https://lispcookbook.github.io/cl-cookbook/)) and StackOverflow and so on. sabracrolleton has some amazing work for instance cataloging and comparing e.g. the various logging frameworks, test frameworks, json parsers, and more. (Example: https://sabracrolleton.github.io/logging-comparison.html https://sabracrolleton.github.io/logging-comparison.html) More of that I think will be more helpful than more tentpole devs, and more ways for Common Lispers to communicate what's out there even to themselves. A lot of unmentioned people are doing heroic work on those fronts already. Another thing that would help is just a critical mass of devs working in a similar area at the same time, but getting such critical masses is its own problem.