DOI: 10.1007/978-3-540-74591-4_27
|View full text |Cite
|
Sign up to set email alerts
|

Simple Types in Type Theory: Deep and Shallow Encodings

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Publication Types

Select...
5

Relationship

1
4

Authors

Journals

citations
Cited by 12 publications
(6 citation statements)
references
References 13 publications
0
6
0
Order By: Relevance
“…Our concrete syntax is similar to that of Garillot and Werner [9], though their work does not suggest any methods for achieving semantic reasoning, which is essential to reasoning about actual terms. Delaware et al [8] recently proposed another solution to this problem using Church encodings.…”
Section: Related Workmentioning
confidence: 99%
“…Our concrete syntax is similar to that of Garillot and Werner [9], though their work does not suggest any methods for achieving semantic reasoning, which is essential to reasoning about actual terms. Delaware et al [8] recently proposed another solution to this problem using Church encodings.…”
Section: Related Workmentioning
confidence: 99%
“…This operation is called reflection from a proof theoretic point of view; through a proofs-as-programs perspective it can be understood as a compilation operation and corresponds to one of the two steps of normalization by evaluation (NbE) [7]. In this work we adapt a previous formalization of NbE in Coq [12].…”
Section: Deep and Shallow Embeddingsmentioning
confidence: 99%
“…We group them together under the type cst, and obtain for terms this definition: Typing This is our first use of computational reflection. Rather than defining typing judgments as an inductive relation, we directly define [12] a typing algorithm. Given a De Bruijn context (a list of types) g and a term t, the function infer returns the type of t under the context g if it exists, and fails otherwise.…”
Section: Types and Termsmentioning
confidence: 99%
See 1 more Smart Citation
“…This is in contrast to a deep embedding, as in [16], where a separate internal representation is made of the DSL (an abstract syntax), which is then interpreted or compiled as in the case of an external DSL. See [11] for a recent discussion of shallow vs. deep embeddings. Generally, the arguments for a shallow internal DSL are: limited implementation effort (leading to adaptability), feature richness through the host language, and tool inheritance.…”
Section: Introductionmentioning
confidence: 99%