000140630 001__ 140630
000140630 005__ 20190619003254.0
000140630 0247_ $$2doi$$a10.5075/epfl-thesis-4515
000140630 02470 $$2urn$$aurn:nbn:ch:bel-epfl-thesis4515-2
000140630 02471 $$2nebis$$a5865173
000140630 037__ $$aTHESIS
000140630 041__ $$aeng
000140630 088__ $$a4515
000140630 245__ $$aProgramming language abstractions for mobile code
000140630 269__ $$a2009
000140630 260__ $$bEPFL$$c2009$$aLausanne
000140630 300__ $$a231
000140630 336__ $$aTheses
000140630 520__ $$aScala is a general-purpose programming language developed at EPFL. It combines the most important concepts found in object-oriented and functional languages. Scala is a statically typed language; in particular it features an advanced type system and supports local type inference. Furthermore it integrates well with the Java and .net platforms: their libraries are accessible without glue code and the Scala compiler generates code for both execution environments. The Scala programming language has several features that make it desirable as a language for distributed application programming. In particular, it supports first-class functions which are useful in relation with the notions of distributed scope and code mobility. In that context, the missing support for run-time types is one important drawback of the Java run-time environment as a target platform. This thesis focuses on the realisation of a new concept combining essential notions from the functional and distributed programming and implying the extension of the notion of lexical scoping to the distributed context. In short, we claim that the notion of lambda abstraction provides an elegant way for dealing with the dynamic rebinding of local references in a distributed execution environment. The key ideas exposed in this research work have been implemented in our Scala compiler. This helped us to evaluate the used techniques, in particular their impact on the reliability and the performance of distributed programs. So far, most research works related to the present subject have focused on functional programming languages, in particular on the ML language family.
000140630 6531_ $$aprogramming language
000140630 6531_ $$adistributed programming
000140630 6531_ $$amobile code
000140630 6531_ $$aremote evaluation
000140630 6531_ $$aremote method invocation
000140630 6531_ $$adynamic binding
000140630 6531_ $$adistributed scope
000140630 6531_ $$acompilation
000140630 6531_ $$aScala
000140630 6531_ $$alangage de programmation
000140630 6531_ $$aprogrammation distribuée
000140630 6531_ $$acode mobile
000140630 6531_ $$aévaluation distante
000140630 6531_ $$aappel de méthode distante
000140630 6531_ $$aliaison dynamique
000140630 6531_ $$aportée distribuée
000140630 6531_ $$acompilation
000140630 6531_ $$aScala
000140630 700__ $$aMicheloud, Stéphane
000140630 720_2 $$aOdersky, Martin$$edir.$$g126003$$0241835
000140630 8564_ $$uhttps://infoscience.epfl.ch/record/140630/files/EPFL_TH4515.pdf$$zTexte intégral / Full text$$s2915796$$yTexte intégral / Full text
000140630 909C0 $$xU10409$$0252187$$pLAMP
000140630 909CO $$pthesis-public$$pDOI$$pIC$$ooai:infoscience.tind.io:140630$$qGLOBAL_SET$$pthesis$$qDOI2$$pthesis-bn2018
000140630 918__ $$bIC-SIN$$cIIF$$aIC
000140630 919__ $$aLAMP1
000140630 920__ $$b2009
000140630 970__ $$a4515/THESES
000140630 973__ $$sPUBLISHED$$aEPFL
000140630 980__ $$aTHESIS