COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE - EPFL
COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE - EPFL
COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE - EPFL
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CONTENTS III<br />
5.5 Type accessor methods ...................... 73<br />
5.6 Type reflection method ...................... 74<br />
5.7 Membership tests ......................... 75<br />
5.8 Type casts ............................. 77<br />
5.9 Default values ........................... 78<br />
5.10 Array creation ........................... 78<br />
5.11 Possible improvements ...................... 79<br />
6 Performance impact of run time types 81<br />
6.1 Micro benchmark ......................... 81<br />
6.2 Large benchmarks ......................... 84<br />
6.2.1 Benchmark programs .................. 84<br />
6.2.2 Execution statistics .................... 86<br />
6.2.3 Execution time ...................... 88<br />
6.2.4 Code size ......................... 89<br />
6.2.5 Memory consumption .................. 89<br />
7 Related Work 91<br />
7.1 Mixins ............................... 91<br />
7.1.1 Jam ............................. 91<br />
7.1.2 MIXED<strong>JAVA</strong> ........................ 92<br />
7.1.3 MIXGEN .......................... 93<br />
7.1.4 Animorphic Smalltalk .................. 93<br />
7.2 Run time types .......................... 94<br />
7.2.1 Heterogeneous translations ............... 94<br />
7.2.2 Homogeneous translations ............... 96<br />
8 Conclusion and Future Work 101<br />
A Scala’s type language 103<br />
A.1 Singleton types ..........................103<br />
A.2 Class types .............................104<br />
A.3 Compound types .........................105