News for hackers. Stuff that matters.
Re:Examples of Incorrect Abstractions in Other Languages by anentropic on Wednesday May 20, 2020 @05:44AM (#23244981)
Actually, I believe this is expressible in Python's type system:

    # Python 3.8
    from typing import Protocol, TypeVar

    T = TypeVar('T')

    class Summable(Protocol[T]):
        def __add__(self, other: T) -> T: ...

In Python 3.4-3.7 you'd need to install typing-extensions library:

    from typing_extensions import Protocol
Re:Examples of Incorrect Abstractions in Other Languages by still_grokking on Wednesday May 20, 2020 @09:28AM (#23246551)
Interesting. It seems that "every second language" gets "type-classes" these days…

C++ added such feature, this above looks like a Python version, Rust has it, Scala had them as one of the first "OOP" languages.

It's nice to see that Haskell pioneered a very useful and now spreading language feature!

Re:Examples of Incorrect Abstractions in Other Languages by sacado2 on Wednesday May 20, 2020 @06:05PM (#23252504)
Ada had them before Haskell, and I'm not even sure it was the first language with them.