File Download
Links for fulltext
(May Require Subscription)
- Publisher Website: 10.1145/3428274
- Scopus: eid_2-s2.0-85097579578
- WOS: WOS:000685203900083
- Find via
Supplementary
- Citations:
- Appears in Collections:
Article: Resolution as intersection subtyping via Modus Ponens
Title | Resolution as intersection subtyping via Modus Ponens |
---|---|
Authors | |
Keywords | coherence family polymorphism intersection types modus ponens nested composition |
Issue Date | 2020 |
Publisher | Association for Computing Machinery: Open Access Journals. The Journal's web site is located at https://dl.acm.org/journal/pacmpl |
Citation | Proceedings of the ACM on Programming Languages, 2020, v. 4 n. OOPSLA, p. article no. 206 How to Cite? |
Abstract | Resolution and subtyping are two common mechanisms in programming languages. Resolution is used by features such as type classes or Scala-style implicits to synthesize values automatically from contextual type information. Subtyping is commonly used to automatically convert the type of a value into another compatible type. So far the two mechanisms have been considered independently of each other. This paper shows that, with a small extension, subtyping with intersection types can subsume resolution. This has three main consequences. Firstly, resolution does not need to be implemented as a separate mechanism. Secondly, the interaction between resolution and subtyping becomes apparent. Finally, the integration of resolution into subtyping enables first-class (implicit) environments. The extension that recovers the power of resolution via subtyping is the modus ponens rule of propositional logic. While it is easily added to declarative subtyping, significant care needs to be taken to retain desirable properties, such as transitivity and decidability of algorithmic subtyping, and coherence. To materialize these ideas we develop λiMP, a calculus that extends a iprevious calculus with disjoint intersection types, and develop its metatheory in the Coq theorem prover. |
Persistent Identifier | http://hdl.handle.net/10722/301343 |
ISSN | 2023 Impact Factor: 2.2 2023 SCImago Journal Rankings: 1.242 |
ISI Accession Number ID |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Marntirosian, K | - |
dc.contributor.author | Schrijvers, T | - |
dc.contributor.author | Dos Santos Oliveira, BCDS | - |
dc.contributor.author | Karachalias, G | - |
dc.date.accessioned | 2021-07-27T08:09:41Z | - |
dc.date.available | 2021-07-27T08:09:41Z | - |
dc.date.issued | 2020 | - |
dc.identifier.citation | Proceedings of the ACM on Programming Languages, 2020, v. 4 n. OOPSLA, p. article no. 206 | - |
dc.identifier.issn | 2475-1421 | - |
dc.identifier.uri | http://hdl.handle.net/10722/301343 | - |
dc.description.abstract | Resolution and subtyping are two common mechanisms in programming languages. Resolution is used by features such as type classes or Scala-style implicits to synthesize values automatically from contextual type information. Subtyping is commonly used to automatically convert the type of a value into another compatible type. So far the two mechanisms have been considered independently of each other. This paper shows that, with a small extension, subtyping with intersection types can subsume resolution. This has three main consequences. Firstly, resolution does not need to be implemented as a separate mechanism. Secondly, the interaction between resolution and subtyping becomes apparent. Finally, the integration of resolution into subtyping enables first-class (implicit) environments. The extension that recovers the power of resolution via subtyping is the modus ponens rule of propositional logic. While it is easily added to declarative subtyping, significant care needs to be taken to retain desirable properties, such as transitivity and decidability of algorithmic subtyping, and coherence. To materialize these ideas we develop λiMP, a calculus that extends a iprevious calculus with disjoint intersection types, and develop its metatheory in the Coq theorem prover. | - |
dc.language | eng | - |
dc.publisher | Association for Computing Machinery: Open Access Journals. The Journal's web site is located at https://dl.acm.org/journal/pacmpl | - |
dc.relation.ispartof | Proceedings of the ACM on Programming Languages | - |
dc.rights | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. | - |
dc.subject | coherence | - |
dc.subject | family polymorphism | - |
dc.subject | intersection types | - |
dc.subject | modus ponens | - |
dc.subject | nested composition | - |
dc.title | Resolution as intersection subtyping via Modus Ponens | - |
dc.type | Article | - |
dc.identifier.email | Dos Santos Oliveira, BCDS: bruno@cs.hku.hk | - |
dc.identifier.authority | Dos Santos Oliveira, BCDS=rp01786 | - |
dc.description.nature | published_or_final_version | - |
dc.identifier.doi | 10.1145/3428274 | - |
dc.identifier.scopus | eid_2-s2.0-85097579578 | - |
dc.identifier.hkuros | 323741 | - |
dc.identifier.volume | 4 | - |
dc.identifier.issue | OOPSLA | - |
dc.identifier.spage | article no. 206 | - |
dc.identifier.epage | article no. 206 | - |
dc.identifier.isi | WOS:000685203900083 | - |
dc.publisher.place | United States | - |