Is it possible to implement the ceylon typechecker in such a way, that a class, that satisfies an interface directly (types in members signatures are the same as in the interface being satisfied), can omit types in its own members signatures?
This would help to reduce visual clutter at implementation site by moving all meta information (types, annotations) to the interface. And it helps to focus on implementation details.
This would be close to a signature file in ocaml.
And it could help to say more, more clearly.
Edited after the answer was given by Lukas Werkmeister:
What I'd like to have is a shortcut syntax that works not only for attributes but also for methods.
Look at "name(x)" in class 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);