I tend to agree.

However it is worth noting that there are some libraries in the Clojure 
ecosystem e.g. Om and stuartsierra/component that do expect users to 
interact directly with protocols as part of the public API. So this doesn't 
seem to be yet adopted as a universal rule.

On Sunday, 28 December 2014 15:50:06 UTC+8, Jozef Wagner wrote:
>
> Protocols should never ever be part of public API. Protocols can be part 
> of the SPI, if custom extensions are to be supported. Otherwise they are an 
> implementation detail. See Rich's talk at 4:30 http://vimeo.com/100518968
>
> Jozef
>
> On Sun, Dec 28, 2014 at 8:11 AM, Mikera <mike.r.an...@gmail.com 
> <javascript:>> wrote:
>
>> That depends if the protocols are part of your user-facing API or not - a 
>> lot of the time I find that protocols are best hidden as implementation 
>> details rather than exposed to users.
>>
>> In core.matrix, for example, users never see the protocols directly: only 
>> implementers of new matrix libraries need to care
>>
>> On Sunday, 28 December 2014 02:32:44 UTC+8, Ashton Kemerling wrote:
>>>
>>> Changing old protocol names should trigger a major revision change in 
>>> the minimum because it breaks backwards compatibility. 
>>>
>>> --Ashton 
>>>
>>> Sent from my iPhone 
>>>
>>> > On Dec 27, 2014, at 11:18 AM, Michael Klishin <michael....@gmail.com> 
>>> wrote: 
>>> > 
>>> >> On 27 December 2014 at 19:10:38, Jozef Wagner (jozef....@gmail.com) 
>>> wrote: 
>>> >> clj-time seems to be naming protocols inconsistently. It uses   
>>> >> ISomething, Something and SomethingProtocol naming. 
>>> > 
>>> > I suspect it is because it has 60 contributors and most users never 
>>> have to 
>>> > extend the protocols. 
>>> > 
>>> > Feel free to submit a PR that standardises all names on Something. 
>>> > --   
>>> > @michaelklishin, github.com/michaelklishin 
>>> > 
>>> > -- 
>>> > You received this message because you are subscribed to the Google 
>>> > Groups "Clojure" group. 
>>> > To post to this group, send email to clo...@googlegroups.com 
>>> > Note that posts from new members are moderated - please be patient 
>>> with your first post. 
>>> > To unsubscribe from this group, send email to 
>>> > clojure+u...@googlegroups.com 
>>> > For more options, visit this group at 
>>> > http://groups.google.com/group/clojure?hl=en 
>>> > --- 
>>> > You received this message because you are subscribed to the Google 
>>> Groups "Clojure" group. 
>>> > To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to clojure+u...@googlegroups.com. 
>>> > For more options, visit https://groups.google.com/d/optout. 
>>>
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to