Meta-programming with Typed Object-Language Representations
Identifieur interne : 006B70 ( Main/Exploration ); précédent : 006B69; suivant : 006B71Meta-programming with Typed Object-Language Representations
Auteurs : Emir Pašali [États-Unis] ; Nathan Linger [États-Unis]Source :
- Lecture Notes in Computer Science [ 0302-9743 ]
Abstract
Abstract: We present two case studies demonstrating the use of type-equality constraints in a meta-language to enforce semantic invariants of object-language programs such as scoping and typing rules. We apply this technique to several interesting problems, including (1) the construction of tagless interpreters; (2) statically checking de Bruijn indices involving pattern-based binding constructs; and (3) evolving embedded DSL implementations to include domain-specific types and optimizations that respect those types.
Url:
DOI: 10.1007/978-3-540-30175-2_8
Affiliations:
Links toward previous steps (curation, corpus...)
- to stream Istex, to step Corpus: 003B45
- to stream Istex, to step Curation: 003B01
- to stream Istex, to step Checkpoint: 001779
- to stream Main, to step Merge: 006E74
- to stream Main, to step Curation: 006B70
Le document en format XML
<record><TEI wicri:istexFullTextTei="biblStruct"><teiHeader><fileDesc><titleStmt><title xml:lang="en">Meta-programming with Typed Object-Language Representations</title>
<author><name sortKey="Pasali, Emir" sort="Pasali, Emir" uniqKey="Pasali E" first="Emir" last="Pašali">Emir Pašali</name>
</author>
<author><name sortKey="Linger, Nathan" sort="Linger, Nathan" uniqKey="Linger N" first="Nathan" last="Linger">Nathan Linger</name>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:F83F62C26F53068830882F4E69D22A78C4D71908</idno>
<date when="2004" year="2004">2004</date>
<idno type="doi">10.1007/978-3-540-30175-2_8</idno>
<idno type="url">https://api.istex.fr/ark:/67375/HCB-BPPJHTD1-R/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">003B45</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">003B45</idno>
<idno type="wicri:Area/Istex/Curation">003B01</idno>
<idno type="wicri:Area/Istex/Checkpoint">001779</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">001779</idno>
<idno type="wicri:doubleKey">0302-9743:2004:Pasali E:meta:programming:with</idno>
<idno type="wicri:Area/Main/Merge">006E74</idno>
<idno type="wicri:Area/Main/Curation">006B70</idno>
<idno type="wicri:Area/Main/Exploration">006B70</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title level="a" type="main" xml:lang="en">Meta-programming with Typed Object-Language Representations</title>
<author><name sortKey="Pasali, Emir" sort="Pasali, Emir" uniqKey="Pasali E" first="Emir" last="Pašali">Emir Pašali</name>
<affiliation></affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">États-Unis</country>
</affiliation>
</author>
<author><name sortKey="Linger, Nathan" sort="Linger, Nathan" uniqKey="Linger N" first="Nathan" last="Linger">Nathan Linger</name>
<affiliation></affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">États-Unis</country>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series><title level="s" type="main" xml:lang="en">Lecture Notes in Computer Science</title>
<idno type="ISSN">0302-9743</idno>
<idno type="eISSN">1611-3349</idno>
<idno type="ISSN">0302-9743</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt><idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass></textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">Abstract: We present two case studies demonstrating the use of type-equality constraints in a meta-language to enforce semantic invariants of object-language programs such as scoping and typing rules. We apply this technique to several interesting problems, including (1) the construction of tagless interpreters; (2) statically checking de Bruijn indices involving pattern-based binding constructs; and (3) evolving embedded DSL implementations to include domain-specific types and optimizations that respect those types.</div>
</front>
</TEI>
<affiliations><list><country><li>États-Unis</li>
</country>
</list>
<tree><country name="États-Unis"><noRegion><name sortKey="Pasali, Emir" sort="Pasali, Emir" uniqKey="Pasali E" first="Emir" last="Pašali">Emir Pašali</name>
</noRegion>
<name sortKey="Linger, Nathan" sort="Linger, Nathan" uniqKey="Linger N" first="Nathan" last="Linger">Nathan Linger</name>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 006B70 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 006B70 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Lorraine |area= InforLorV4 |flux= Main |étape= Exploration |type= RBID |clé= ISTEX:F83F62C26F53068830882F4E69D22A78C4D71908 |texte= Meta-programming with Typed Object-Language Representations }}
This area was generated with Dilib version V0.6.33. |