Re: Re: I am close to using a behaviour as a pure interface and I feel dirty...

Fernando Benavides <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CA+yhPj6=G3x8EdGZrM=oxJt+F1R3zacr=BMc37z53cAE8a9C-Q@mail.gmail.com>
I'm not entirely sure if this will help but a while back I wrote two
articles and gave a talk about this subject. But I might have faced it from
a different angle.

These are the links:
- https://youtu.be/OWCYD1Q0COQ
- https://medium.com/erlang-battleground/erlang-behaviors-4348e89351ff
- https://medium.com/erlang-battleground/erlang-behaviors-d5bb30d5412b

On Tue, 24 Aug 2021 at 23:47 Brett Hemes <[email protected]> wrote:

> > Erlang's behaviour is NOT an interface!
>
> > If you are looking for some analogy from other languages the closest one
> is abstract classes in C#.
>
>
>
> This isn’t very helpful...  it is the exact same response I find in the
> forums with no reasoning behind it.  I don’t need analogies either; I
> understand what behaviours are “supposed” to be from the documentation and
> comments (perhaps this wasn’t made clear by my post).  Where I fall short
> is “why” are behaviours limited to such and why aren’t more people asking
> the same questions I am stuck on (regarding polymorphism)?  My logic was:
> yes, this has been asked and discussed some in the past with no real
> resolution that I could find... therefore, users must be content/accepting
> of the tools provided.  I am not so naive to think I am the first to
> need/want such, so there must be a disconnect.
>
>
>
> I posted my example to motivate my questioning hoping for some insight
> and/or comfort.  As of now, I have proceeded with storing “meta refs” to my
> child servers that are module/reference tuples (along with some dangerous
> and future-maintenance-issue-causing assumptions regarding their
> “interface”)... and it’s works... it just smells, and I am always eager to
> learn and find the right/better/best way.
>
>
>
> Aside: a colleague came across this repo (
> https://github.com/eldarko/epolymorph) while digging and the readme seems
> to capture my use case almost exactly...
>
>
>
> Brett
>
-- 
Sent from Gmail Mobile by Brujo Benavides
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.