Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Skip header Section
Commentary on standard MLApril 1991
Publisher:
  • MIT Press
  • 55 Hayward St.
  • Cambridge
  • MA
  • United States
ISBN:978-0-262-63137-2
Published:17 April 1991
Pages:
160
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. Miller D (2019). Mechanized Metatheory Revisited, Journal of Automated Reasoning, 63:3, (625-665), Online publication date: 1-Oct-2019.
  2. Jones N On Modeling and Programming Leveraging Applications of Formal Methods, Verification and Validation. Modeling, (22-34)
  3. Guagliardo P and Libkin L (2017). A formal semantics of SQL queries, its validation, and applications, Proceedings of the VLDB Endowment, 11:1, (27-39), Online publication date: 1-Sep-2017.
  4. ACM
    Cousot P Verification by abstract interpretation, soundness and abstract induction Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming, (1-4)
  5. ACM
    Glesner S and Zimmermann W (2004). Natural semantics as a static program analysis framework, ACM Transactions on Programming Languages and Systems (TOPLAS), 26:3, (510-577), Online publication date: 1-May-2004.
  6. ACM
    Duggan D Type-based hot swapping of running modules (extended abstract) Proceedings of the sixth ACM SIGPLAN international conference on Functional programming, (62-73)
  7. ACM
    Duggan D (2019). Type-based hot swapping of running modules (extended abstract), ACM SIGPLAN Notices, 36:10, (62-73), Online publication date: 1-Oct-2001.
  8. Jay C Distinguishing data structures and functions Proceedings of the 5th international conference on Typed lambda calculi and applications, (217-239)
  9. Schmidt D (2000). Induction, Domains, Calculi, Higher-Order and Symbolic Computation, 13:1-2, (89-101), Online publication date: 1-Apr-2000.
  10. Buhr P and Mok W (2000). Advanced Exception Handling Mechanisms, IEEE Transactions on Software Engineering, 26:9, (820-836), Online publication date: 1-Sep-2000.
  11. Thielecke H (1999). Using a Continuation Twice and Its Implications for the Expressive Power of call/cc, Higher-Order and Symbolic Computation, 12:1, (47-73), Online publication date: 1-Apr-1999.
  12. ACM
    Blume M (1999). Dependency analysis for Standard ML, ACM Transactions on Programming Languages and Systems (TOPLAS), 21:4, (790-812), Online publication date: 1-Jul-1999.
  13. ACM
    Wallach D, Balfanz D, Dean D and Felten E (1997). Extensible security architectures for Java, ACM SIGOPS Operating Systems Review, 31:5, (116-128), Online publication date: 1-Dec-1997.
  14. ACM
    Wallach D, Balfanz D, Dean D and Felten E Extensible security architectures for Java Proceedings of the sixteenth ACM symposium on Operating systems principles, (116-128)
  15. Ishino A and Yamamoto A (1997). Generalizations in type equational programming and their application to learning functions, New Generation Computing, 15:1, (85-103), Online publication date: 1-Mar-1997.
  16. ACM
    Biswas S Higher-order functors with transparent signatures Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (154-163)
  17. ACM
    Shao Z and Appel A A type-based compiler for standard ML Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation, (116-129)
  18. ACM
    Ballarin C, Homann K and Calmet J Theorems and algorithms Proceedings of the 1995 international symposium on Symbolic and algebraic computation, (150-157)
  19. ACM
    Shao Z and Appel A (2019). A type-based compiler for standard ML, ACM SIGPLAN Notices, 30:6, (116-129), Online publication date: 1-Jun-1995.
  20. ACM
    Leroy X Manifest types, modules, and separate compilation Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (109-122)
  21. ACM
    Harper R and Lillibridge M A type-theoretic approach to higher-order modules with sharing Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (123-137)
  22. ACM
    Katiyar D, Luckham D and Mitchell J A type system for prototyping languages Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (138-150)
  23. ACM
    Kahrs S, Sannella D and Tarlecki A Interfaces and extended ML Proceedings of the Workshop on Interface Definition Languages, (111-118)
  24. ACM
    Kahrs S, Sannella D and Tarlecki A (1994). Interfaces and extended ML, ACM SIGPLAN Notices, 29:8, (111-118), Online publication date: 1-Aug-1994.
  25. ACM
    Biagioni E A structured TCP in standard ML. Proceedings of the conference on Communications architectures, protocols and applications, (36-45)
  26. ACM
    Biagioni E (1994). A structured TCP in standard ML., ACM SIGCOMM Computer Communication Review, 24:4, (36-45), Online publication date: 1-Oct-1994.
  27. ACM
    Shao Z and Appel A Smartest recompilation Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (439-450)
  28. ACM
    Aponte M Extending record typing to type parametric modules with sharing Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (465-478)
  29. ACM
    Tofte M Principal signatures for higher-order program modules Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (189-199)
Contributors
  • University of Cambridge
  • IT University of Copenhagen

Reviews

Michel Mauny

The definition of standard ML [1] contains the complete formal definition of the standard ML (SML) language, including syntax as well as static and dynamic semantics for both the core language and the module system. It serves as an SML reference for programmers, teachers, and implementors. This volume is intended as a companion to it. One motivation for writing this commentary was to provide insight into the theory underlying the definition. This theory relates the various semantic objects introduced in the definition. In the commentary, important properties of the language are expressed by theorems about these objects. Another motivation was to provide explanations and discussions about design choices of the language. The audience for the commentary includes SML implementors as well as SML programmers, teachers of courses on programming languages, and researchers. The commentary is divided into 11 chapters and includes four appendices. Chapter 1 describes in detail the execution of a simple program. This chapter explains the tools used in the definition (inference rules) and exemplifies some of the semantic aspects of SML addressed in the rest of the book. Chapter 2 comments on the dynamic semantics of the core language, and chapter 3 covers the dynamic semantics of modules; analogies between the core language and the module language are underlined, and alternative semantics for signature ascriptions are discussed. Chapter 4 comments on the static semantics of the core and discusses the interaction between polymorphism and aspects of the core language that are not purely functional (exceptions and references). Chapter 5 is still concerned with the static semantics of the core; it discusses type declarations and equality properties of types and the notion of type principality. The remaining chapters are concerned with the static semantics of modules. Chapter 6 introduces structures and signatures using examples and explains the related semantic objects. The definition of signature matching is commented on in chapter 7, and functors are discussed in chapter 8. The notion of admissibility is discussed in chapter 9. Chapter 10 deals with signature expressions and specifications. The theory of principal signatures is explained in chapter 11. Appendix A gives the full proof of existence of principal signatures, and Appendix B discusses identifier status. Appendix C gives solutions to the numerous exercises of the book. Appendix D corrects some mistakes and ambiguities of the definition. The book ends with a detailed index. The Definition and Commentary form the reference to the mathematical definition of Standard ML. Since the Definition is a rather technical book, the Commentary is intended to be read first; it directs the reader to the crucial parts of the definition. These two books represent the result of several years of research in the design of the SML language, and the Commentary contains strong arguments in favor of the methodology followed by the authors and, more generally, by the SML committee. Although some familiarity with SML is recommended, the book is written in a tutorial style and contains numerous examples and exercises. As a result of the accessibility and the high quality of writing of the commentary, together with the technical precision of the definition, these two books represent an important reference of great interest to computer scientists interested in functional programming and language design.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Recommendations