Tridirectional typechecking

In prior work we introduced a pure type assignment system that encompasses a rich set of property types, including intersections, unions, and universally and existentially quantified dependent types. This system was shown sound with respect to a call-by-value operational semantics with effects, yet...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2004-01, Vol.39 (1), p.281-292
Hauptverfasser: Dunfield, Jana, Pfenning, Frank
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 292
container_issue 1
container_start_page 281
container_title Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
container_volume 39
creator Dunfield, Jana
Pfenning, Frank
description In prior work we introduced a pure type assignment system that encompasses a rich set of property types, including intersections, unions, and universally and existentially quantified dependent types. This system was shown sound with respect to a call-by-value operational semantics with effects, yet is inherently undecidable.In this paper we provide a decidable formulation for this system based on bidirectional checking, combining type synthesis and analysis following logical principles. The presence of unions and existential quantification requires the additional ability to visit subterms in evaluation position before the context in which they occur, leading to a tridirectional type system. While soundness with respect to the type assignment system is immediate, completeness requires the novel concept of contextual type annotations , introducing a notion from the study of principal typings into the source program.
doi_str_mv 10.1145/982962.964025
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1145_982962_964025</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>29509113</sourcerecordid><originalsourceid>FETCH-LOGICAL-c305t-e7d464dbac009520a4a8addc37236d9e10a4d55fe4fefc3d481b1f0c3279246e3</originalsourceid><addsrcrecordid>eNotkLtPwzAYxC0eEqF0ZGJhYkv5Pr9ij6jiJVViKbPl2l8gkCbBTof-9wSF6aTT6U73Y-waYYUo1b013Gq-sloCVyesQKVMiajhlC1tZVAZRFFxK85YAULzEoWEC3aZ8xcACOCmYDfb1MQmURibvvPt7XgcKHxS-G66jyt2Xvs20_JfF-z96XG7fik3b8-v64dNGQSosaQqSi3jzgcAqzh46Y2PMUzTQkdLODlRqZpkTXUQURrcYQ1B8MpyqUks2N3cO6T-50B5dPsmB2pb31F_yI5bBXa6MgXLORhSn3Oi2g2p2ft0dAjuD4mbkbgZifgF_J5P1g</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>29509113</pqid></control><display><type>article</type><title>Tridirectional typechecking</title><source>ACM Digital Library</source><creator>Dunfield, Jana ; Pfenning, Frank</creator><creatorcontrib>Dunfield, Jana ; Pfenning, Frank</creatorcontrib><description>In prior work we introduced a pure type assignment system that encompasses a rich set of property types, including intersections, unions, and universally and existentially quantified dependent types. This system was shown sound with respect to a call-by-value operational semantics with effects, yet is inherently undecidable.In this paper we provide a decidable formulation for this system based on bidirectional checking, combining type synthesis and analysis following logical principles. The presence of unions and existential quantification requires the additional ability to visit subterms in evaluation position before the context in which they occur, leading to a tridirectional type system. While soundness with respect to the type assignment system is immediate, completeness requires the novel concept of contextual type annotations , introducing a notion from the study of principal typings into the source program.</description><identifier>ISSN: 0362-1340</identifier><identifier>ISBN: 9781581137293</identifier><identifier>ISBN: 158113729X</identifier><identifier>EISSN: 1558-1160</identifier><identifier>DOI: 10.1145/982962.964025</identifier><language>eng</language><ispartof>Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2004-01, Vol.39 (1), p.281-292</ispartof><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c305t-e7d464dbac009520a4a8addc37236d9e10a4d55fe4fefc3d481b1f0c3279246e3</citedby><cites>FETCH-LOGICAL-c305t-e7d464dbac009520a4a8addc37236d9e10a4d55fe4fefc3d481b1f0c3279246e3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,27901,27902</link.rule.ids></links><search><creatorcontrib>Dunfield, Jana</creatorcontrib><creatorcontrib>Pfenning, Frank</creatorcontrib><title>Tridirectional typechecking</title><title>Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages</title><description>In prior work we introduced a pure type assignment system that encompasses a rich set of property types, including intersections, unions, and universally and existentially quantified dependent types. This system was shown sound with respect to a call-by-value operational semantics with effects, yet is inherently undecidable.In this paper we provide a decidable formulation for this system based on bidirectional checking, combining type synthesis and analysis following logical principles. The presence of unions and existential quantification requires the additional ability to visit subterms in evaluation position before the context in which they occur, leading to a tridirectional type system. While soundness with respect to the type assignment system is immediate, completeness requires the novel concept of contextual type annotations , introducing a notion from the study of principal typings into the source program.</description><issn>0362-1340</issn><issn>1558-1160</issn><isbn>9781581137293</isbn><isbn>158113729X</isbn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2004</creationdate><recordtype>article</recordtype><recordid>eNotkLtPwzAYxC0eEqF0ZGJhYkv5Pr9ij6jiJVViKbPl2l8gkCbBTof-9wSF6aTT6U73Y-waYYUo1b013Gq-sloCVyesQKVMiajhlC1tZVAZRFFxK85YAULzEoWEC3aZ8xcACOCmYDfb1MQmURibvvPt7XgcKHxS-G66jyt2Xvs20_JfF-z96XG7fik3b8-v64dNGQSosaQqSi3jzgcAqzh46Y2PMUzTQkdLODlRqZpkTXUQURrcYQ1B8MpyqUks2N3cO6T-50B5dPsmB2pb31F_yI5bBXa6MgXLORhSn3Oi2g2p2ft0dAjuD4mbkbgZifgF_J5P1g</recordid><startdate>200401</startdate><enddate>200401</enddate><creator>Dunfield, Jana</creator><creator>Pfenning, Frank</creator><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>200401</creationdate><title>Tridirectional typechecking</title><author>Dunfield, Jana ; Pfenning, Frank</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c305t-e7d464dbac009520a4a8addc37236d9e10a4d55fe4fefc3d481b1f0c3279246e3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2004</creationdate><toplevel>online_resources</toplevel><creatorcontrib>Dunfield, Jana</creatorcontrib><creatorcontrib>Pfenning, Frank</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Dunfield, Jana</au><au>Pfenning, Frank</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Tridirectional typechecking</atitle><jtitle>Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages</jtitle><date>2004-01</date><risdate>2004</risdate><volume>39</volume><issue>1</issue><spage>281</spage><epage>292</epage><pages>281-292</pages><issn>0362-1340</issn><eissn>1558-1160</eissn><isbn>9781581137293</isbn><isbn>158113729X</isbn><abstract>In prior work we introduced a pure type assignment system that encompasses a rich set of property types, including intersections, unions, and universally and existentially quantified dependent types. This system was shown sound with respect to a call-by-value operational semantics with effects, yet is inherently undecidable.In this paper we provide a decidable formulation for this system based on bidirectional checking, combining type synthesis and analysis following logical principles. The presence of unions and existential quantification requires the additional ability to visit subterms in evaluation position before the context in which they occur, leading to a tridirectional type system. While soundness with respect to the type assignment system is immediate, completeness requires the novel concept of contextual type annotations , introducing a notion from the study of principal typings into the source program.</abstract><doi>10.1145/982962.964025</doi><tpages>12</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0362-1340
ispartof Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2004-01, Vol.39 (1), p.281-292
issn 0362-1340
1558-1160
language eng
recordid cdi_crossref_primary_10_1145_982962_964025
source ACM Digital Library
title Tridirectional typechecking
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-02T06%3A47%3A27IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Tridirectional%20typechecking&rft.jtitle=Proceedings%20of%20the%2031st%20ACM%20SIGPLAN-SIGACT%20Symposium%20on%20Principles%20of%20Programming%20Languages&rft.au=Dunfield,%20Jana&rft.date=2004-01&rft.volume=39&rft.issue=1&rft.spage=281&rft.epage=292&rft.pages=281-292&rft.issn=0362-1340&rft.eissn=1558-1160&rft.isbn=9781581137293&rft.isbn_list=158113729X&rft_id=info:doi/10.1145/982962.964025&rft_dat=%3Cproquest_cross%3E29509113%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=29509113&rft_id=info:pmid/&rfr_iscdi=true