Publication:

Macros in sbt: Problem Solved!

cris.legacyId

204855

cris.virtual.parent-organization

IINFCOM

cris.virtual.parent-organization

IC

cris.virtual.parent-organization

EPFL

cris.virtual.sciperId

214505

cris.virtual.sciperId

214632

cris.virtual.unitId

10409

cris.virtual.unitManager

Odersky, Martin

cris.virtualsource.author-scopus

be35df0d-6397-433c-a26f-688d3ab84b79

cris.virtualsource.author-scopus

069c946c-5813-43b1-92c0-595a937c8818

cris.virtualsource.department

be35df0d-6397-433c-a26f-688d3ab84b79

cris.virtualsource.department

069c946c-5813-43b1-92c0-595a937c8818

cris.virtualsource.orcid

be35df0d-6397-433c-a26f-688d3ab84b79

cris.virtualsource.orcid

069c946c-5813-43b1-92c0-595a937c8818

cris.virtualsource.parent-organization

151575a3-f0be-4946-b161-8fcda3f38c6c

cris.virtualsource.parent-organization

151575a3-f0be-4946-b161-8fcda3f38c6c

cris.virtualsource.parent-organization

151575a3-f0be-4946-b161-8fcda3f38c6c

cris.virtualsource.parent-organization

151575a3-f0be-4946-b161-8fcda3f38c6c

cris.virtualsource.rid

be35df0d-6397-433c-a26f-688d3ab84b79

cris.virtualsource.rid

069c946c-5813-43b1-92c0-595a937c8818

cris.virtualsource.sciperId

be35df0d-6397-433c-a26f-688d3ab84b79

cris.virtualsource.sciperId

069c946c-5813-43b1-92c0-595a937c8818

cris.virtualsource.unitId

151575a3-f0be-4946-b161-8fcda3f38c6c

cris.virtualsource.unitManager

151575a3-f0be-4946-b161-8fcda3f38c6c

datacite.rights

openaccess

dc.contributor.author

Duhem, Martin Nicolas

dc.contributor.author

Burmako, Eugene

dc.date.accessioned

2015-01-29T11:24:37

dc.date.available

2015-01-29T11:24:37

dc.date.created

2015-01-29

dc.date.issued

2015

dc.date.modified

2025-05-19T12:35:30.899875Z

dc.description.abstract

In 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.

dc.description.sponsorship

LAMP1

dc.identifier.uri

https://infoscience.epfl.ch/handle/20.500.14299/110650

dc.relation

https://infoscience.epfl.ch/record/204855/files/MacrosInSbtProblemSolved.pdf

dc.size

19

dc.subject

Scala

dc.subject

macros

dc.subject

incremental compilation

dc.subject

sbt

dc.title

Macros in sbt: Problem Solved!

dc.type

text::report

dspace.entity.type

Publication

dspace.legacy.oai-identifier

oai:infoscience.tind.io:204855

epfl.legacy.fileversion

n/a

epfl.legacy.itemtype

Reports

epfl.legacy.submissionform

REP_WORK

epfl.oai.currentset

report

epfl.oai.currentset

OpenAIREv4

epfl.oai.currentset

fulltext

epfl.oai.currentset

IC

epfl.writtenAt

EPFL

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
MacrosInSbtProblemSolved.pdf
Size:
225.7 KB
Format:
Adobe Portable Document Format
Description:
n/a

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed to upon submission
Description: