000222780 001__ 222780
000222780 005__ 20190317000548.0
000222780 0247_ $$2doi$$a10.1145/2998392.2998400
000222780 02470 $$2ISI$$a000390845300006
000222780 037__ $$aCONF
000222780 245__ $$aImplementing Higher-Kinded Types in Dotty
000222780 269__ $$a2016
000222780 260__ $$bACM$$c2016$$aNew York
000222780 300__ $$a10
000222780 336__ $$aConference Papers
000222780 520__ $$adotty is a new, experimental Scala compiler based on DOT, the calculus of Dependent Object Types. Higher-kinded types are a natural extension of first-order lambda calculus, and have been a core construct of Haskell and Scala. As long as such types are just partial applications of generic classes, they can be given a meaning in DOT relatively straightforwardly. But general lambdas on the type level require extensions of the DOT calculus to be expressible. This paper is an experience report where we describe and discuss four implementation strategies that we have tried out in the last three years. Each strategy was fully implemented in the dotty compiler. We discuss the usability and expressive power of each scheme, and give some indications about the amount of implementation difficulties encountered.
000222780 6531_ $$aScala Type-Systems
000222780 700__ $$0241835$$g126003$$aOdersky, Martin
000222780 700__ $$0249476$$g203085$$aMartres, Guillaume
000222780 700__ $$g233192$$aPetrashko, Dmytro$$0248093
000222780 7112_ $$dOct 30-31, 2016$$cAmsterdam$$aScala Symposium 2016
000222780 773__ $$tProceedings of the Scala Symposium 2016
000222780 8564_ $$uhttps://infoscience.epfl.ch/record/222780/files/p51-odersky.pdf$$zPreprint$$s291667$$yPreprint
000222780 909C0 $$xU10409$$0252187$$pLAMP
000222780 909CO $$qGLOBAL_SET$$pconf$$ooai:infoscience.tind.io:222780$$pIC
000222780 917Z8 $$x126003
000222780 937__ $$aEPFL-CONF-222780
000222780 973__ $$rREVIEWED$$sPUBLISHED$$aEPFL
000222780 980__ $$aCONF