02.07.2013 Views

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE - EPFL

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE - EPFL

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE - EPFL

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!