I love Clojure the language but I’ve never seen a more fragmented ecosystem. There seems to be a pattern in the language of “a problem emerges > a community solution gains traction > Cognitect develops their own solution but its weird and undocumented”, like deps.edn over leiningen, spec over malli, pedestal over ring, etc. Many prominent clojurists recommend deps.edn over leiningen and socket repl over nrepl, but I’…
Clojure Turns 15 panel discussion video
141–150 of 226 posts
Re: Clojure Turns 15 panel discussion video
#142Earlier quoted context omitted.
I think your pattern is right except for "its weird and undocumented" - I have found the maintainers are superb at docs - e.g. deps.edn - there is a "Guide" https://clojure.org/guides/deps_and_cli there is a "Getting Started" https://clojure.org/guides/getting_started (it's branded as an overall Clojure getting started but the core of deps is just the clj/clojure command line tool you would use to install clojure) th…
"Superb" is not the word for deps.edn documentation. It is certainly documented but the gap between most Clojure documentation and the deps.edn documentation page is big. I suspect Rich wrote most of it but left the deps.edn page to someone else.The deps pages have a knack for includng pages of waffle that doesn't help to solve the current problem. If a newbie is trying to debug {:deps {ring/ring-devel {:mvn/version…
That's because they basically don't support monorepo multi-module projects. It's incredibly tedious and makes me long for something like Maven or Gradle (tools that otherwise are often too complicated).
Re: Clojure Turns 15 panel discussion video
#143Clojure fans seem quite taken to hyperbole. If the language is such a "joy", "ultra-productive" etc I would have expected after such a long period of existence some major open source project to be showing off what the language attributes allow you to do. Happy to stand corrected if there is such a slam-dunk showcase that I've missed, I am actually interested to dig into clojure, if nothing else as a way to deepen my…
There is something about the language and/or community that leads folks to build their own X instead of collaborating on a common open-source version of X. Perhaps the lisp learning curve is high enough to dissuade those who want to contribute to a project but don't yet know Clojure?
Re: Clojure Turns 15 panel discussion video
#144Earlier quoted context omitted.
"Superb" is not the word for deps.edn documentation. It is certainly documented but the gap between most Clojure documentation and the deps.edn documentation page is big. I suspect Rich wrote most of it but left the deps.edn page to someone else.The deps pages have a knack for includng pages of waffle that doesn't help to solve the current problem. If a newbie is trying to debug {:deps {ring/ring-devel {:mvn/version…
> a multi-dependency project in the getting started page That's because they basically don't support monorepo multi-module projects. It's incredibly tedious and makes me long for something like Maven or Gradle (tools that otherwise are often too complicated).
(I regularly contribute to a monorepo like this, though admittedly the top-level components are relatively disjoint.)
Re: Clojure Turns 15 panel discussion video
#145Earlier quoted context omitted.
Maybe your comment makes sense to you with all the context and experiences inside your head, but I have no clue what points it is trying to make. Can you maybe use more words to say what you're trying to say here?
Java has more build tools then Clojure, so thus is more “more fragmented” apparently. I replied “wat” as a slang version of “what” and a short version of “what do you mean” because that’s the only reasonable reply to “spec seems kind of weird and not well thought out either”. I’m asking OP to qualify there statement with something that could even start to be a conversation about various tradeoffs. But really, i wish…
I don't see why you're focused on the comparison to Java's also-crappy-and-fragmented ecosystem.
When your parent comment said "it isn't as good as rust, etc.", that gave me a comparison point, because I'm familiar with how those other ones work. When you said "wat" to that, that told me nothing. Are you also familiar with those other ecosystems and find the Clojure one better? Or similar or equivalent? I have no clue whatsoever what you think.
You're right, the parent's comment on spec (which I have no idea what that is) and your rebuttal are equally bereft of content.
Re: Clojure Turns 15 panel discussion video
#146Earlier quoted context omitted.
Thanks. I don't know to what extend its "better-because-of-clojure" but I also found overtone https://github.com/overtone/overtone which should be good fun (though the underlying synthesizer is supercollider/C++).
Overtone is interesting because the guy who really kicked it off went on to make Sonic Pi which is Ruby based[1]. [1] - https://sonic-pi.net/
Re: Clojure Turns 15 panel discussion video
#147Earlier quoted context omitted.
> a multi-dependency project in the getting started page That's because they basically don't support monorepo multi-module projects. It's incredibly tedious and makes me long for something like Maven or Gradle (tools that otherwise are often too complicated).
How do you mean? You can specify local (fs) dependencies fine, which is presumably what you want in that scenario? (I regularly contribute to a monorepo like this, though admittedly the top-level components are relatively disjoint.)
Re: Clojure Turns 15 panel discussion video
#148Earlier quoted context omitted.
I think you might be asking for a type :)
Not really. This is a syntactic error, not a type error. To expand, this is the equivalent of something like {"a": 1, "b":}. The type checker in something like Typescript wouldn't ever come into play, because it's not legal syntax to begin with.
Re: Clojure Turns 15 panel discussion video
#149Earlier quoted context omitted.
Lets say that someone wants to improve on Clojure and make a better functional, immutable LISP! What should they start with ? Some things I miss is type support (for easy refactoring, auto documentation and performance), (small) native compilation, support for mobile platforms and their UI's, first-class web-assembly support, real structs and misc things like performant implementations for `first`, `last` and other c…
If you want an easy win, one thing Rich mentioned in a talk is - if he had to do Clojure all over again today - he would put transducers at the 'bottom'. For data transformation this makes the underlying collection type largely immaterial. > real structs I'm not even sure if value types are conducive towards immutable, persistent data structures. I'm certainly excited for project Valhalla but I'm not sure if Clojure,…
There is a reason why all dynamically typed languages today are scrambling to add some form of static typing to their language, but never the other way around.
Static typing does everything dynamic typing does, but better, faster, allow automatic refactoring, faster programs, better navigation, better documentation, better maintenance.
Re: Clojure Turns 15 panel discussion video
#150Earlier quoted context omitted.
Maybe your comment makes sense to you with all the context and experiences inside your head, but I have no clue what points it is trying to make. Can you maybe use more words to say what you're trying to say here?
Java has more build tools then Clojure, so thus is more “more fragmented” apparently. I replied “wat” as a slang version of “what” and a short version of “what do you mean” because that’s the only reasonable reply to “spec seems kind of weird and not well thought out either”. I’m asking OP to qualify there statement with something that could even start to be a conversation about various tradeoffs. But really, i wish…
First of all, than*, not then.
Second... no, it doesn't. Gradle and Maven are the standards, and they both use the very well documented, incredibly successful, Maven Central repository. They are just two different implementations using the same, reliable, battle proven approach to dependencies. You need a library? Add it to your build file, with its version, and you're done.
And yes, whether you spell it "wat" or "what", both these words are a dumb way of participating into a discussion that do nothing but expose your ignorance of the topic you are trying to debate. Voice your concern, question, challenge, in plain English, or you'll just come out as childish, combative, and not educated enough to take part in the discussion.