A Type-preserving Interpreter for Simply Typed Lambda-Calculus
Dependent ML (DML) is an extension of ML with a restricted form of dependent types where type index objects are drawn from some given constraint domain. In this paper, we present an implementation in DML which implements a type-preserving interpreter for the simply typed lambda-calculus. The most si...
Main Author: | |
---|---|
Other Authors: | |
Format: | Text |
Language: | English |
Subjects: | |
Online Access: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.2708 http://www.ececs.uc.edu/~hwxi/academic/papers/TPINT.ps |
id |
ftciteseerx:oai:CiteSeerX.psu:10.1.1.42.2708 |
---|---|
record_format |
openpolar |
spelling |
ftciteseerx:oai:CiteSeerX.psu:10.1.1.42.2708 2023-05-15T16:01:24+02:00 A Type-preserving Interpreter for Simply Typed Lambda-Calculus Hongwei Xi The Pennsylvania State University CiteSeerX Archives application/postscript http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.2708 http://www.ececs.uc.edu/~hwxi/academic/papers/TPINT.ps en eng http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.2708 http://www.ececs.uc.edu/~hwxi/academic/papers/TPINT.ps Metadata may be used without restrictions as long as the oai identifier remains attached to it. http://www.ececs.uc.edu/~hwxi/academic/papers/TPINT.ps text ftciteseerx 2016-01-08T03:55:39Z Dependent ML (DML) is an extension of ML with a restricted form of dependent types where type index objects are drawn from some given constraint domain. In this paper, we present an implementation in DML which implements a type-preserving interpreter for the simply typed lambda-calculus. The most significant feature of this implementation is that we can establish in the type system of DML that the implementation is type-preserving. 1 Introduction Pattern matching is an important feature in many functional programming languages such as Standard ML (Milner, Tofte, Harper, and MacQueen 1997) and Haskell (Hudak, Peyton Jones, and Wadler 1992). The mechanism that supports pattern matching is based on userdeclared datatypes, which can be model with free algebra. In practice, we often encounter situations where the declared datatypes cannot accurately capture what we really need. For instance, if what we need is a data structure for the pairs of integer lists of the same length, the best app. Text DML Unknown Harper ENVELOPE(-57.050,-57.050,-84.050,-84.050) Haskell ENVELOPE(-64.279,-64.279,-66.749,-66.749) Lambda ENVELOPE(-62.983,-62.983,-64.300,-64.300) Tofte ENVELOPE(-90.733,-90.733,-68.850,-68.850) |
institution |
Open Polar |
collection |
Unknown |
op_collection_id |
ftciteseerx |
language |
English |
description |
Dependent ML (DML) is an extension of ML with a restricted form of dependent types where type index objects are drawn from some given constraint domain. In this paper, we present an implementation in DML which implements a type-preserving interpreter for the simply typed lambda-calculus. The most significant feature of this implementation is that we can establish in the type system of DML that the implementation is type-preserving. 1 Introduction Pattern matching is an important feature in many functional programming languages such as Standard ML (Milner, Tofte, Harper, and MacQueen 1997) and Haskell (Hudak, Peyton Jones, and Wadler 1992). The mechanism that supports pattern matching is based on userdeclared datatypes, which can be model with free algebra. In practice, we often encounter situations where the declared datatypes cannot accurately capture what we really need. For instance, if what we need is a data structure for the pairs of integer lists of the same length, the best app. |
author2 |
The Pennsylvania State University CiteSeerX Archives |
format |
Text |
author |
Hongwei Xi |
spellingShingle |
Hongwei Xi A Type-preserving Interpreter for Simply Typed Lambda-Calculus |
author_facet |
Hongwei Xi |
author_sort |
Hongwei Xi |
title |
A Type-preserving Interpreter for Simply Typed Lambda-Calculus |
title_short |
A Type-preserving Interpreter for Simply Typed Lambda-Calculus |
title_full |
A Type-preserving Interpreter for Simply Typed Lambda-Calculus |
title_fullStr |
A Type-preserving Interpreter for Simply Typed Lambda-Calculus |
title_full_unstemmed |
A Type-preserving Interpreter for Simply Typed Lambda-Calculus |
title_sort |
type-preserving interpreter for simply typed lambda-calculus |
url |
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.2708 http://www.ececs.uc.edu/~hwxi/academic/papers/TPINT.ps |
long_lat |
ENVELOPE(-57.050,-57.050,-84.050,-84.050) ENVELOPE(-64.279,-64.279,-66.749,-66.749) ENVELOPE(-62.983,-62.983,-64.300,-64.300) ENVELOPE(-90.733,-90.733,-68.850,-68.850) |
geographic |
Harper Haskell Lambda Tofte |
geographic_facet |
Harper Haskell Lambda Tofte |
genre |
DML |
genre_facet |
DML |
op_source |
http://www.ececs.uc.edu/~hwxi/academic/papers/TPINT.ps |
op_relation |
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.2708 http://www.ececs.uc.edu/~hwxi/academic/papers/TPINT.ps |
op_rights |
Metadata may be used without restrictions as long as the oai identifier remains attached to it. |
_version_ |
1766397277342007296 |