Components Are Classes
Martin Odersky ´ Ecole Polytechnique F´ ed´ erale de Lausanne (EPFL)
1
Components Are Classes Martin Odersky Ecole Polytechnique F ed - - PowerPoint PPT Presentation
Components Are Classes Martin Odersky Ecole Polytechnique F ed erale de Lausanne (EPFL) 1 Component Software State of the Art As software grows more complex and mature, components become more important. But programming languages
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Types
Type Name Symbol
definitions
Symbols
Symbol Name Type
Definitions
Name Symbol
definitions
Names
Name
SymbolTable
Type Symbol
definitions
Name Inheritance Mixin composition
Class
Required Provided Selftype annotation Nested class
17
18
19
20
21
22
23
24
[1] Matthias Zenger and Martin Odersky. Independently Extensible Solutions to the Expression Problem. EPFL Technical Report IC/2004/33
25
26
27
28
29
30
31
32
33
34
35
scala.Any scala.AnyRef
(java.lang.Object)
scala.AnyVal scala.ScalaObject scala.Double scala.Float scala.Long scala.Int scala.Short scala.Byte scala.Char scala.Unit scala.Boolean scala.Iterable scala.Symbol scala.Ordered
… (other Scala classes)…
java.lang.String
… (other Java classes)…
scala.AllRef scala.All
Subtype View
scala.Seq scala.List
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Thanks to the (past and present) members of the Scala team: Philippe Altherr, Vincent Cremet, Julian Dragos, Burak Emir, Sebastian Maneth, St´ ephane Micheloud, Nikolay Mihaylov, Michel Schinz, Erik Stenman, Matthias Zenger.
50
51
Types
Type Name Symbol
definitions
Symbols
Symbol Name Type
Definitions
Name Symbol
definitions
Names
Name
SymbolTable
Type Symbol
definitions
Name Inheritance Mixin composition
Class
Required Provided Selftype annotation Nested class
52
53
54