SML# Document

Chapter 14. Introduction

This part defines the specification of SML# system, including the language, the library, the smlsharp command, and its external interfaces. As we stated in Part I, SML# maintain the backward compatibility to Standard ML. In addition to the definitions of the language syntax, the Definition of Standard ML [4] defines the static and dynamic semantics of the language as formal derivation systems of semantic judgments. Different from Standard ML as stated in the Definition, which is a self-contained “closed system”, SML# is an open system that include direct C language interfaces and seamless integration of SQL. At this moment, we do not have an appropriate means to formally define the semantics of such an open system. So in this reference manual, we do not provide a formal definition of the static and dynamic semantics; instead, we explain, in English, typing properties and the meanings of language constructs whenever appropriate.