2019
DOI: 10.1007/978-3-030-17184-1_14
|View full text |Cite
|
Sign up to set email alerts
|

Distributive Disjoint Polymorphism for Compositional Programming

Abstract: Popular programming techniques such as shallow embeddings of Domain Specific Languages (DSLs), finally tagless or object algebras are built on the principle of compositionality. However, existing programming languages only support simple compositional designs well, and have limited support for more sophisticated ones.This paper presents the F + i calculus, which supports highly modular and compositional designs that improve on existing techniques. These improvements are due to the combination of three features… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
24
0

Year Published

2019
2019
2022
2022

Publication Types

Select...
4
1

Relationship

3
2

Authors

Journals

citations
Cited by 9 publications
(24 citation statements)
references
References 47 publications
0
24
0
Order By: Relevance
“…The details of the elaboration of SEDEL's source language constructs into F i are outside of the scope of this paper, and are given in work by . A more recent version of SEDEL, employing the same encoding, but targeting the F + i calculus instead and enabling distributive subtyping and nested composition, was used by Bi et al (2019). We have used such a version to present the examples in Section 2.2.…”
Section: The Expression Problemmentioning
confidence: 99%
See 3 more Smart Citations
“…The details of the elaboration of SEDEL's source language constructs into F i are outside of the scope of this paper, and are given in work by . A more recent version of SEDEL, employing the same encoding, but targeting the F + i calculus instead and enabling distributive subtyping and nested composition, was used by Bi et al (2019). We have used such a version to present the examples in Section 2.2.…”
Section: The Expression Problemmentioning
confidence: 99%
“…However, in coercive subtyping (Luo, 1999), subtyping triggers coercions, and such coercions can have an operational effect and change the underlying value. Previous work on intersection types with the merge operator (Dunfield, 2014;Oliveira et al, 2016;Alpuim et al, 2017;Bi et al, , 2019 employ an elaboration semantics with coercive subtyping: the elaboration introduces coercions that transform values. For example, a merge is translated into a pair, and the coercion from Int & Char to Int is a projection on the pair which takes the first component.…”
Section: A Type-driven Semantics For Type Preservationmentioning
confidence: 99%
See 2 more Smart Citations
“…Implicits. Cochis [Schrijvers et al 2019] is a calculus with highly expressive implicit resolution, including local instances. It achieves coherence by imposing restrictions on the implicit context and enforcing a deterministic resolution process.…”
Section: Related Workmentioning
confidence: 99%