Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I agree that I'd be far more likely to use these if they were named "conjoin" and "disjoin".


These 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.


I 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?`.


I 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...


This article explains the rationale behind the naming scheme. It's quite regular.

https://gist.github.com/ChrisPenner/1f7b6923448b3396a45d04a2...


Yes, 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: