? and |= s : S and e/s a; k ? r ,
? and S |= k :: ? and |= s : S and s v k ? r ,
The proof is a simple, but tedious induction on the height of the evaluation derivation (the derivation of e/s a; k ? r for (1); the derivation of s v k ? r for (2)), and case analysis on a and k, respectively. We give the main cases; the remaining cases are similar ,
By hypothesis S |= v : ? , the value v is a closure (x, a 0 , e 0 ), and (3) E 0 ?x. a 0 : ? 1 ? ? 2 and (4) S e 0 : E 0 for some E 0 . Since v is a closure, the elimination rule for apply1 closures matches. From (3) and (4), we get S |= apply2(x, a 0 , e 0 , k) :: ? 1 . The expected result follows from induction hypothesis ,
E and, given the typing rule for References [1] A. W. Appel. Compiling with continuations, 1992. ,
Typeful programming, Formal Description of Programming Concepts, pp.431-507 ,
Type assignment in programming languages, 1985. ,
Typing first-class continuations in ML, Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '91, pp.163-173, 1991. ,
DOI : 10.1145/99583.99608
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.1725
Control operators , the SECD machine and the ?-calculus, Formal Description of Programming Concepts III, pp.131-141, 1986. ,
Integrating functional and imperative programming, Proceedings of the 1986 ACM conference on LISP and functional programming , LFP '86, pp.28-38, 1986. ,
DOI : 10.1145/319838.319848
ML with callcc is unsound. Message sent to the sml mailing list, 1991. ,
Polymorphic type assignment and CPS conversion Explicit polymorphism and CPS conversion, SIGPLAN Continuations Workshop 20th symposium Principles of Programming Languages, 1992. ,
DOI : 10.1007/bf01019463
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.6828
The ZINC experiment: an economical implementation of the ML language, 1990. ,
URL : https://hal.archives-ouvertes.fr/inria-00070049
Typage polymorphe d'un langage algorithmique Doctoral dissertation, 1992. ,
Polymorphic type inference and assignment, Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '91, pp.291-302 ,
DOI : 10.1145/99583.99622
URL : https://hal.archives-ouvertes.fr/hal-01499974
Co-induction in relational semantics, Theoretical Computer Science, vol.87, issue.1, pp.209-220, 1991. ,
DOI : 10.1016/0304-3975(91)90033-X
URL : http://doi.org/10.1016/0304-3975(91)90033-x
The definition of Standard ML, 1990. ,
Type Systems for Programming Languages, pp.367-458, 1990. ,
DOI : 10.1016/B978-0-444-88074-1.50013-5
Definitional interpreters for higherorder programming languages, Proceedings of the 25th ACM National Conference, pp.717-740 ,
DOI : 10.1145/800194.805852
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.110.5892
The type and effect discipline, Logic in Computer Science, 1992. ,
DOI : 10.1109/lics.1992.185530
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.5309
Type inference for polymorphic references . Information and Computation, 1990. ,
DOI : 10.1016/0890-5401(90)90018-d
URL : http://doi.org/10.1016/0890-5401(90)90018-d
Typing references by effect inference, European Symposium on Programming, 1992. ,
DOI : 10.1007/3-540-55253-7_28
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.15.9668
A Syntactic Approach to Type Soundness, Information and Computation, vol.115, issue.1, 1991. ,
DOI : 10.1006/inco.1994.1093
URL : http://doi.org/10.1006/inco.1994.1093