Можно ли реализовать цейлонскую проверку типов таким образом, чтобы класс, который напрямую удовлетворяет интерфейсу (типы в сигнатурах членов такие же, как и в удовлетворяемом интерфейсе), мог опускать типы в своих собственных подписях членов?
Это помогло бы уменьшить визуальный беспорядок на месте реализации за счет перемещения всей метаинформации (типы, аннотации) в интерфейс. И это помогает сосредоточиться на деталях реализации.
Это было бы близко к файлу подписи в ocaml.
И это могло бы помочь сказать больше, более ясно.
Отредактировано после того, как Лукас Веркмайстер дал ответ:
Я хотел бы иметь сокращенный синтаксис, который работает не только для атрибутов, но и для методов.
Посмотрите на «имя (x)» в классе Person:
interface Named {
shared formal String name(String n);
}
class Person(shared String firstName, shared String lastName) satisfies Named {
name(x) => firstName + x +" " + lastName;
}
Named named = Person("Lucas", "Werkmeister");
print(named.name);