000138931 001__ 138931
000138931 005__ 20190316234558.0
000138931 0247_ $$2doi$$a10.1145/1565824.1565829
000138931 037__ $$aCONF
000138931 245__ $$aCompiling structural types on the JVM: a comparison of reflective and generative techniques from Scala's perspective
000138931 260__ $$c2009
000138931 269__ $$a2009
000138931 336__ $$aConference Papers
000138931 520__ $$aThis article describes Scala's compilation technique of structural types for the JVM. The technique uses Java reflection and polymorphic inline caches. Performance measurements of this technique are presented and analysed. Further measurements compare Scala's reflective technique with the "generative" technique used by Whiteoak to compile structural types. The article ends with a comparison of reflective and generative techniques for compiling structural types. It concludes that generative techniques may, in specific cases, exhibit higher performances than reflective approaches, but that reflective techniques are easier to implement and have fewer restrictions.
000138931 6531_ $$aScala
000138931 6531_ $$aPerformance
000138931 6531_ $$aCompiler
000138931 6531_ $$aStructural Type
000138931 6531_ $$aStructural Refinement
000138931 700__ $$0241948$$aDubochet, Gilles$$g139175
000138931 700__ $$0241835$$aOdersky, Martin$$g126003
000138931 7112_ $$a4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems$$cGenova, Italy$$dJuly 6, 2009
000138931 720_1 $$aRogers, Ian$$eed.
000138931 773__ $$q34-41$$tProceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems
000138931 8564_ $$uhttp://www.icooolps.info/$$zURL
000138931 8564_ $$s189021$$uhttps://infoscience.epfl.ch/record/138931/files/2009_structural.pdf$$yn/a$$zn/a
000138931 909C0 $$0252187$$pLAMP$$xU10409
000138931 909CO $$ooai:infoscience.tind.io:138931$$pconf$$pIC$$qGLOBAL_SET
000138931 917Z8 $$x139175
000138931 937__ $$aLAMP-CONF-2009-002
000138931 973__ $$aEPFL$$rREVIEWED$$sPUBLISHED
000138931 980__ $$aCONF