000204855 001__ 204855
000204855 005__ 20190317000103.0
000204855 037__ $$aREP_WORK
000204855 245__ $$aMacros in sbt: Problem Solved!
000204855 269__ $$a2015
000204855 260__ $$c2015
000204855 300__ $$a19
000204855 336__ $$aReports
000204855 520__ $$aIn the previous report, we described how incremental compilation was made more complicated when macro-enabled programs are involved, and we implemented the foundations of the support for metaprograms in sbt, a build tool and incremental compiler for Scala. Since then, we worked on improving the internal representation of dependency relationships between files in sbt, to make it easier to extend sbt and to define new relationships. This crucial development allowed us to fix all the remaining problems that sbt had with macros: how should we handle their transitive dependencies? How can we know what they inspect during their expansion? Are there other means by which macros could introduce dependencies? How should we use these informations? In this report, we will expose the new techniques that have been proposed and implemented to offer a complete support for metaprograms along with all their dependencies in sbt, and explain the most relevant parts of their implementation.
000204855 6531_ $$aScala
000204855 6531_ $$amacros
000204855 6531_ $$aincremental compilation
000204855 6531_ $$asbt
000204855 700__ $$0(EPFLAUTH)214632$$g214632$$aDuhem, Martin Nicolas
000204855 700__ $$aBurmako, Eugene$$g214505$$0246182
000204855 8564_ $$uhttps://infoscience.epfl.ch/record/204855/files/MacrosInSbtProblemSolved.pdf$$zn/a$$s231117$$yn/a
000204855 909C0 $$xU10409$$0252187$$pLAMP
000204855 909CO $$qGLOBAL_SET$$pIC$$ooai:infoscience.tind.io:204855$$preport
000204855 917Z8 $$x214505
000204855 917Z8 $$x214505
000204855 937__ $$aEPFL-REPORT-204855
000204855 973__ $$aEPFL
000204855 980__ $$aREPORT