Здравствуйте, vsb, Вы писали:
vsb>Я всё равно считаю, что ООП не нужно.
Совершенно согласен. Нужен не OOP, а хороший adhoc polymorphism, желательно с multiple dispatch. Решения в Хаскеле и Julia на эту тему есть, те же type classes.
К сожалению нет удовлетворительного решения по auto-complete UI на первый параметр. Тут подумалось, а может просто сделать "сахар"(ака lowering):
x.f(y, z) => f(x, y, z)
Возможно такое даже есть где-нибудь в Хаскел пространстве.