3 ms·
I agree that I'd be far more likely to use these if they were named "conjoin" and "disjoin".
by drcode 7y ago
I agree that I'd be far more likely to use these if they were named "conjoin" and "disjoin".
- TeMPOraL 7y agoThese names are even worse. I know Clojure likes this style, but to me, "conjoin" is just a fancy way of writing "join" if you want another distinct symbol naming the same, very generic concept. "some" and "every" create nicely readable code. "every-pred" and "some-fn" could be called "satisfies-every" and "satisfies-some", respectively.
- fogus 7y agoI wrote both of these functions and conjoin and disjoin were definitely considered but were ultimately dismissed to avoid confusion with `conj` and `disj`. The chosen names were meant to echo `some?` and `every?`.
- thom 7y agoI personally don't find it that hard remembering them. I am sure all of Clojure's names could be more regimented, but I will still never forget how much I laughed when someone tried to tell me how well designed the Haskell lens operators were: https://hackage.haskell.org/package/lens-4.18.1/docs/Control-Lens-Operators.html https://hackage.haskell.org/package/lens-4.18.1/docs/Control...
- tome 7y agoThis article explains the rationale behind the naming scheme. It's quite regular. https://gist.github.com/ChrisPenner/1f7b6923448b3396a45d04a2b6b9d066#optics-by-example-cheat-sheets https://gist.github.com/ChrisPenner/1f7b6923448b3396a45d04a2...
- thom 7y agoYes, I understand it's regular. It doesn't stop it being an absolute abomination. My point is that having regularity in naming doesn't stop an API being horrible, and not having regularity in naming doesn't _make_ an API horrible.