3 ms·
> I'm pretty sure that numerous Quicklisp users can't program either, but Quicklisp is manually curated while NPM (AFAIK?) isn't so their code won't end up in Q
by ashtonkem 5y ago
> I'm pretty sure that numerous Quicklisp users can't program either, but Quicklisp is manually curated while NPM (AFAIK?) isn't so their code won't end up in Quicklisp.
This interpretation of GP’s comments strains credulity.
As for the rest, I edited and expanded my unnecessarily glib response. The technical ability you mentioned is nice, but I will remain unimpressed until it sees wider use. This is a shortcoming in the CL community, not a shortcoming in the CL language.
I’ll change my opinion once I see evidence of the CL community coming together to value shared, reusable code to accomplish common tasks.
- jhgb 5y agoI guess I'm just a very credulous person, then. Regarding asdf-system-connections, it would probably help if this were core functionality of ASDF. I don't get why it isn't yet, since it perfectly fits Lisp's overarching concept of independently defined things cooperating (cf. classes and generic functions, or multimethods). I might want to ask some people about that.
- ashtonkem 5y agoIt might, but I doubt it will. “Roll your own libraries” is so core to the CL community’s self identity, that I doubt it will ever change within my lifetime. Honestly, if you want a modern Lisp experience, I’d recommend Clojure. Clojure doesn’t philosophically align with my own preferences, but that community is very active and very invested in solving common problems as a community.
- jhgb 5y agoI find Clojure awful both conceptually and implementation-wise (the imposition of lowest common denominators by JVM dependency really sucks here, starting with lack of tail calls, but not ending there), so that's most likely not going to happen. I don't see why the good things in Clojure should be impossible to achieve in CL as libraries. You might argue that CL community should be working on those, and you'd be completely right.
- ashtonkem 5y ago> I find Clojure awful both conceptually and implementation-wise (the imposition of lowest common denominators by JVM dependency really sucks here, starting with lack of tail calls, but not ending there), so that's most likely not going to happen. You do you, but I personally would do some thinking on why Clojure has eaten CL’s lunch, despite your belief in its inferior design and implementation. (Edit: for the record I’ve worked professionally in CL, Clojure, Java, and some others. I think Java is best, but I think that your argument about Clojure being inferior to CL is incorrect). Also, tail calls? Really? Genuinely can’t remember the last time that mattered to me. > I don't see why the good things in Clojure should be impossible to achieve in CL as libraries. I don’t see why “impossible” would be a factor here. It’s not technology that’s holding CL back here, but rather what the community values and spends its collective time on.
- jhgb 5y ago> but I personally would do some thinking on why Clojure has eaten CL’s lunch, despite your belief in its inferior design and implementation. It's largely a similar reason why Java has eaten Smalltalk's lunch (upfront environment costs have been disastrous in the past for both Smalltalk and CL, and in many ways they continue to be - Allegro, LispWorks, VisualWorks are still expensive), plus the fact how Clojure latched itself onto Java's large ecosystem. For a large user base, inferior design and implementation don't matter as much, as PHP has demonstrated amply, so why should they matter here for a similarly large number of people? They won't mind, although some other might. > Also, tail calls? Really? Genuinely can’t remember the last time that mattered to me. It's not the only thing deficient in Clojure, but I've noticed that many fairly common patterns get significantly more convoluted without them. If there's no drawback to having them, why not have them? Oh, wait, I forgot, JVM does not support them...
- pjmlp 5y agoNeither does Lisp in general actually, only Scheme requires tails calls as per language standard. You cannot rely on them if you want to write portable Lisp code.