000219173 001__ 219173
000219173 005__ 20180913063741.0
000219173 037__ $$aSTUDENT
000219173 245__ $$aA Study of Capability-Based Effect Systems
000219173 269__ $$a2016
000219173 260__ $$c2016
000219173 336__ $$aStudent Projects
000219173 500__ $$aupdated at 2017 Jan 16 of chapter F-Impure, as polymorphism over S => T and E are supported.
000219173 520__ $$aThe problem of effect polymorphism is a major obstacle to wide adoption of effect systems in the programming community. The absence of effect systems reduces compiler optimization opportunities and disables effect constraints on APIs in parallel and distributed computations.  This study shows that capability-based effect systems, equipped with stoic functions and free functions, can easily solve the problem of effect polymorphism without incurring notational burden on programmers. With this advantage, capability-based effect systems stand a better chance to be adopted by the programming community.  The central idea of capability-based effect system is that a capability is required in order to produce side effects. If capabilities are passed as function parameters, by tracking capabilities in the type system we can track effects in the program.  To ensure that capabilities are passed through function parameters, instead of being captured from the environment, we need to impose a variable-capturing discipline, stipulating that capa- bility variables cannot be captured. Functions observing the discipline are called stoic functions, while functions not observing the discipline are called free functions.
000219173 6531_ $$aeffect systems
000219173 6531_ $$acapabilities
000219173 6531_ $$atype systems
000219173 700__ $$0249854$$aLiu, Fengyun$$g244269
000219173 720_2 $$0246677$$aStucki, Sandro$$edir.$$g152185
000219173 720_2 $$0246589$$aAmin, Nada$$edir.$$g164625
000219173 8564_ $$s300298$$uhttps://infoscience.epfl.ch/record/219173/files/thesis-2017-1-update_1.pdf$$yn/a$$zn/a
000219173 8564_ $$s301260$$uhttps://infoscience.epfl.ch/record/219173/files/thesis-jan-15.pdf$$yn/a$$zn/a
000219173 909C0 $$0252187$$pLAMP$$xU10409
000219173 909CO $$ooai:infoscience.tind.io:219173$$pIC
000219173 917Z8 $$x244269
000219173 917Z8 $$x244269
000219173 917Z8 $$x244269
000219173 937__ $$aEPFL-STUDENT-219173
000219173 973__ $$aEPFL
000219173 980__ $$aSTUDENT$$bMASTERS