On 04/11/2017 2:14 PM, jmh530 wrote:
On Saturday, 4 November 2017 at 12:20:37 UTC, rikki cattermole wrote:

Like signatures which I'm working on!

https://github.com/rikkimax/DIPs/blob/master/DIPs/DIP1xxx-RC.md

The first example kind of reminds me of what I was trying to do with isSubTypeOf [1]. If you know that any function you can call on T can also be called on U, then it has the same effect. That being said, I'm not sure I really understand what you mean in the whole "Why not extend interfaces" part.


[1] https://github.com/dlang/phobos/pull/5700

Okay so:

A signature when it is initiated is aware of the implementation it is referencing. Allowing it to change how it behaves for compatibility reasons.

An interface is designed so that a class/interface must know of the interface to inherit from.

While signatures can and probably will inherit from others, this is not how it is used unlike with interfaces. Because this is a massive change in how we view them and their usage, extending interfaces is not appropriate. Luckily an already existing concept exists in the literature which does solve most of the goals and that is signatures from the ML family.

I will make a mental note to rewrite that section.

Reply via email to