4 ms·
Conversely, if I am a fan of static typing and compile time constraints, should I expect a warm welcome pushing those ideas in Clojure and Ruby communities? On
by platz 10y ago
Conversely, if I am a fan of static typing and compile time constraints, should I expect a warm welcome pushing those ideas in Clojure and Ruby communities?
One should not be surprised that actively rejecting/attacking the core values of a community brings ire. Are you sure you weren't the one being confrontational?
- DonbunEf7 10y agoMost communities are trash at accepting people who know, use, and don't mind multiple languages. I singled out Haskell because its community is exceptionally bad, not because all the other communities are good. We could all stand to understand the totemism which pervades our science. Be mathematicians; be swayed by proof and logic. Be scientists; be swayed by empiricism and the scientific method. But stop being cultists already.
- shakna 10y agoClojure has the core.typed [0] optional type system! So yes, though they are dynamic, they embrace that others can differ. > This work adds static type checking (and some of its benefits) to Clojure, a dynamically typed language, while still preserving idioms that characterise the language. It allows static and dynamically typed code to be mixed so the programmer can use whichever is more appropriate. Some communities don't hold the dynamic vs static debate as an issue of such a hard regard that an individual must be rejected, lest they infect others. matz has pretty much said that static type checking will not be part of Ruby, and he won't open up the syntax for it. But bugs like this one [1] aren't filled with hate, telling people to get lost. There's a constructive approach. [0] https://github.com/clojure/core.typed/wiki https://github.com/clojure/core.typed/wiki [1] https://bugs.ruby-lang.org/issues/9999 https://bugs.ruby-lang.org/issues/9999
- platz 10y agoI am aware of those extensions. There is a difference between some features/extensions and core principles. If you want to play that game, Haskell supports ways to "add on" more dynamic behavior as well. One way is via -fdefer-type-errors [1] which allows parts of the program which do not typecheck to not impede the rest of the program. But this is missing the point of core values. I will refrain from listing all the digs that Rich Hickey has taken at static types and their ilk, but he has done so quite a lot.. My point is both sides don't like their core values rejected. I thought this thread is about community and not extensions so much. > bugs like this one aren't filled with hate, telling people to get lost. There's a constructive approach. And there are many examples of haskell folks treating others with a constructive approach too on various topics outside of the "cannon". I'm not sure what you're implying here, or are if you're referring to a specific case (however, tallying up some cherry-picked anecdotes may not be so useful) [1] https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#deferring-type-errors-to-runtime https://downloads.haskell.org/~ghc/latest/docs/html/users_gu...
- shakna 10y ago> I am aware of those extensions. There is a difference between some features/extensions and core principles. Referring to a core library as an extension that isn't in line with core principles just sounds... Wrong. > I thought this thread is about community and not extensions so much. For something to be taken by the community, and willingly added to the core library, suggests a level of embracement within the community. Hickey himself weighed in on typed [0], embracing it with praise, despite the fact it may go against his personal values, he doesn't see it going against Clojure's values. Static typing simply isn't a core value for Clojure. Thus: > Conversely, if I am a fan of static typing and compile time constraints, should I expect a warm welcome pushing those ideas in Clojure and Ruby communities? Absolutely. > And there are many examples of haskell folks treating others with a constructive approach too on various topics outside of the "cannon". I'm not sure what you're implying here, or are if you're referring to a specific case (however, tallying up some cherry-picked anecdotes may not be so useful) I agree, anecdotes here may be entirely unhelpful. Yet, I know I am not alone in saying that some of the haskell community is warm and embracing of newcomers, and yet there are also those that clearly reject newcomers, instructing them instead to learn mathematical concepts or the right words for the right concepts, and not guiding them to do so. [0] https://groups.google.com/forum/#!msg/clojure-dev/ryYzI1Bj0p0/uWdEwO9T6xAJ https://groups.google.com/forum/#!msg/clojure-dev/ryYzI1Bj0p...
- platz 10y agoI did not say core.typed wasn't accepted by the Clojure community. It's great you have many examples of Clojurians extolling core.typed. I said rejecting "core values", outright, would be met with resistance. Since Optional Typing via core.typed is a "core value" as you claim, there is no conflict. I want to be clear about what I'm claiming here. > > Conversely, if I am a fan of static typing and compile time constraints, should I expect a warm welcome pushing those ideas in Clojure and Ruby communities? > Absolutely. Well, I think you're being disingenuous. After saying "Static typing simply isn't a core value for Clojure". If I claim in the Clojurians slack the value of what we agree is not a core value for Clojure, namely, ahead-of-time/compile-time static typing, yes, I think that would be met with some resistance. Also, I hope you're not thinking that in this thread I have some problem with Clojure. I'm talking about sociology, not technology.