3 ms·
The contract is functions not members, and Clojure has a way to declare public and private fns, so what's your argument? When I release a new major version of
by jjs 16y ago
The contract is functions not members, and Clojure has a way to declare public and private fns, so what's your argument?
When I release a new major version of Foo Lib, and your program refers to private members, your program will break when I remove or rename them.
Immutability won't protect you from that.
- Raphael_Amiard 16y agoExcept if the public api of foo lib is only functions, which is the case for all clojure libs i've worked with. EDIT: Ha, i just stumbled on this old yegge article, which is quite appropriate i think. With clojure APIs you think in verbs, so nouns are not that important http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom... EDIT2 : perfect quote : "In the remotest regions, beyond the Functional Kingdoms, lies a fabled realm called Lambda the Ultimate. In this place it is said that there are no nouns at all, only verbs!" here you go ;)
- jjs 16y ago"In the remotest regions, beyond the Functional Kingdoms, lies a fabled realm called Lambda the Ultimate. In this place it is said that there are no nouns at all, only verbs!" I already live in that Kingdom, so when I say "members", I mean member variables or member functions.