■Fan vs Scala: Different Trade-offs ( fantom.org/sidewalk/topic/675 ) > 『Slot Reflection』 > One of major design decisions Fan made a long time ago was to disallow method overloading. > Method overloading is the kiss of death for easy reflection and meta-programming. In Fan any > slot can be identified with the qualified name pod::Type.slot. Slot literals are built into the language:
> m := List#join // same as Slot.findMethod("sys::List.join")
> Languages like Java or Scala which support method overloading require the parameter types in > order to perform method reflection. Identifying methods strictly by name is also a key enabler > for efficient dynamic dispatch. This is a trade-off Fan and Scala have made differently - Fan > took away a Java feature in order to simplify reflection and dynamic dispatch.