2012
DOI: 10.1016/j.ipl.2011.10.008
|View full text |Cite
|
Sign up to set email alerts
|

A correspondence between type checking via reduction and type checking via evaluation

Abstract: We describe a derivational approach to proving the equivalence of different representations of a type system. Different ways of representing type assignments are convenient for particular applications such as reasoning or implementation, but some kind of correspondence between them should be proven. In this paper we address two such semantics for type checking: one, due to Kuan et al., in the form of a term rewriting system and the other in the form of a traditional set of derivation rules. By employing a set … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Year Published

2013
2013
2015
2015

Publication Types

Select...
5
1

Relationship

1
5

Authors

Journals

citations
Cited by 6 publications
(6 citation statements)
references
References 15 publications
0
6
0
Order By: Relevance
“…For this purpose, appropriate completeness and soundness theorems need to be proven. As it was shown recently by Sergey and Clarke [25], a correspondence between a traditional type system and a corresponding reduction-based semantics for type inference can be provided by the construction and inter-derivation of their computational counterparts in the spirit of the current work and recently described systematic functional transformations [6].…”
Section: Related Workmentioning
confidence: 81%
See 1 more Smart Citation
“…For this purpose, appropriate completeness and soundness theorems need to be proven. As it was shown recently by Sergey and Clarke [25], a correspondence between a traditional type system and a corresponding reduction-based semantics for type inference can be provided by the construction and inter-derivation of their computational counterparts in the spirit of the current work and recently described systematic functional transformations [6].…”
Section: Related Workmentioning
confidence: 81%
“…extend (x , arg_type , gamma ))) in T_ARR ( arg_type , body_type ) end | check0 ( APP (e1 , e2 ), gamma ) = let val T_ARR (t1 , t2 ) = check0 (e1 , gamma ) val arg_type = check0 (e2 , gamma ) in if arg_type = t1 then t2 else raise ( TYPING_ERROR " type mismatch ") end ( * type_check : term -> typ * ) fun type_check t = check0 (t , TEnv . empty ) 2 In order to keep to the uniform approach for different semantics for type inference [17,25], we leave environments parametrized by the type parameter 'a, which is instantiated with typ in this case.…”
Section: Type Checking Proceduresmentioning
confidence: 99%
“…In particular, it always works for innermost reduction, and has given rise to a 'syntactic correspondence' between reduction semantics and abstract machines [2,3]. This syntactic correspondence has proved successful to reconstruct many preexisting abstract machines as well as to construct new ones [1,7,17,30], even in the presence of control operators [3,8]. For a class of examples, it applies to all the reduction semantics of Felleisen et al's latest textbook [15].…”
Section: Reduction-based Vs Reduction-free Evaluationmentioning
confidence: 99%
“…These relations are stated using a diversity of methods and methodologies. To the best of the authors' knowledge, only one, the Reynolds functional correspondence [1], [2] has seen repeated use outside the work of its inventors [3], [4]. Our goal [5], [6] is to develop a logical counterpart.…”
Section: Introductionmentioning
confidence: 99%