On Thu, Dec 4, 2014 at 2:04 PM, Nick Wellnhofer <[email protected]> wrote:

>> I guess you need need a separate Transformer class because you want to
>> exclude concrete methods on Analyzer like Transform_Text()?
>
> Yes.

Why is this a requirement?

Why can't the Clownfish version of "interface" allow both abstract and
concrete methods?

Java 8 allows such methods, called "virtual extension methods", "default
methods" or "defender methods".

http://viralpatel.net/blogs/java-8-default-methods-tutorial/

Scala also allows such methods in its traits.  (Scala traits may also have
member variables but that would be much harder to implement and I don't
want to go there with Clownfish.)

Marvin Humphrey

Reply via email to