Abstract
We describe here HOL-ML, an encoding of a subset of SML and its dynamic semantics (as described by The Definition of Standard ML) in HOL. This encoding, which is the first stage in a project that will include typechecking and SML Modules, allows the formal study of the evaluation of a real programming language including state and control constructs (exceptions). In this paper we describe the subset of SML that we encoded and the semantic objects needed for its evaluation. We explain how we defined the evaluation rules and how we proved that evaluation is deterministic. We describe briefly the next step, which is to define a larger language that includes type declarations and to define the typechecking rules on it. Finally, we give a short description of the mutually recursive type definition package that we wrote to enable us to define the types we needed to create the HOL-ML grammar.
Partially supported by AT&T
Preview
Unable to display preview. Download preview PDF.
References
Stefan Kahrs. Mistakes and Ambiguities in the Definition of Standard ML, unpublished manuscript.
Robin Milner, Mads Tofte. Commentary on Standard ML, The MIT Press, Cambridge, Mass, 1991.
Robin Milner, Mads Tofte, Robert Harper. The Definition of Standard ML, The MIT Press, Cambridge, Mass, 1990.
Konrad Slind, Adding new rules to an LCF-style logic implementation. In L. J. M. Claesen and M. J. C. Gordon, editors, Higher Order Logic Theorem Proving and its Applications, pages 549–559. North-Holland, 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vanlnwegen, M., Gunter, E. (1994). HOL-ML. In: Joyce, J.J., Seger, CJ.H. (eds) Higher Order Logic Theorem Proving and Its Applications. HUG 1993. Lecture Notes in Computer Science, vol 780. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57826-9_125
Download citation
DOI: https://doi.org/10.1007/3-540-57826-9_125
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57826-0
Online ISBN: 978-3-540-48346-5
eBook Packages: Springer Book Archive