Someone just told me that implementing an interface in F# is less vebose than in Ceylon. Let's see if that's true. Pick an example given on MSDN. (Yes, I know it's silly to make such trivial comparisons.)
type IPrintable =
abstract member Print : unit -> unit
type SomeClass1(x: int, y: float) =
interface IPrintable with
member this.Print() = printfn "%d %f" x y
let x2 = new SomeClass2(1, 2.0)
x2.Print()
Total: 10+26+15 = 51 tokens.
interface IPrintable {
shared formal void doprint();
}
class SomeClass1(Integer x, Float y)
satisfies IPrintable {
doprint() => print("``x`` ``y``");
}
value x3 = SomeClass1(1, 2.0);
x3.doprint();
Total: 11+24+16 = 51 tokens.
@renatoathaydes ah yes, oops.