Yes, but what I propose above is the inverse: Listing the protocols that are implemented for a datatype on the datatype's documentation page, rather than listing the implementations for a protocol on the protocol's documentation page.
This proposal follows this logical reasoning:
To implement a protocol, both the datatype and the protocol need to be in scope.
A protocol is only useful if there exists at least one (but preferably many) implementations of it.
On the other hand, a dataype is already useful even if it does not implement any protocols.
Therefore, it follows that:
There are many libraries containing a new datatype that implements a prior-existing protocol.
And there are fewer libraries containing a protocol and implementing it for a prior-existing datatype.
(This can also be considered the Dependency Inversion Principle in practice)
The exception to this rule are protocols for which Elixir's built-in datatypes receive implementations.
However, whilst it is rare, it does happen that the original protocol, the original datatype and the implementation of the protocol for that datatype live in separate libraries.
An example would be {Ecto (datatype), PhoenixHTML (protocol), PhoenixEcto (implementation)}. This example is similar to, but different from, the example José gave.
(Side note: PhoenixEcto does not host any documentation at all right now, because it only contains protocol implementations(?))
My proposal as stated above works for the majority of cases (in which above reasoning works), but it does not work for all of them, so maybe we need something better.
Maybe we could add a 'Protocol Implementations' tab to the menu in ExDoc (Below 'Pages', 'Modules', 'Exceptions', 'Protocols'), and list the implementations that are written out in the current library there.
Their pages would be presented just like normal module pages, with the addition of a reference to both the implemented protocol and the implementing data type's module page at the top.
This would work for nearly all cases.
Only the cases in which code conditionally implements protocols based on today's horoscope will ExDoc be unable to extract the implementation documentation properly. But in that case I'm sure the developer has more dire problems to solve ;-p .
On top of adding a 'Protocol Implementations'-tab to ExDoc, we could also refer to that page from the Protocol or data type if they happen to be in the same library. (With a disclaimer stating that only implementations made in this library are shown here)
~Wiebe-Marten/Qqwy