... for the Trait-based Language International Workshop

Philip reports on his work on introducing traits in miniJava

  • Introduces ThisClass in Trait
  • How to express requires? Compiler inferred requirements and optionally you make them explicit
  • Requirements are best expressed structurally
  • Traits are not types

Martin presented Scala

  • Object-oriented and functional programming
  • Static type system
  • Uniform object model
  • Single Inheritance
  • External, retroactive extensibility vai views (classboxes)
  • Symmetric mixins (S mix A mix B = S mix B mix A)
    • S superclass of A and B
    • Concrete overrides abstract
    • Concrete in A overrides in S
    • Concrete in A and B is a conflict
    • super[Traitable] to invoke overriden method
    • controls the overriden of method using "override" keywords in traits to specify when the method is overriden

Oscar presented Featherweight Traits

  • currently no super
  • traits as types
  • exclusion of used method -> requirements
  • exclusion of unused method

Jacques presented Traits as Components?

  • Components as templates
  • Components as black-box
Last changed by admin on 21 April 2009