Views for Standard ML (1998) [17 citations — 0 self]
Abstract:
In Standard ML, as in many other languages, programmers are often confronted with an unpleasant choice between pattern matching and abstraction. Because pattern matching can only be performed on concrete datatypes, programmers must often sacrifice either the convenience of pattern matching or the engineering benefits of abstraction. Views relieve this tension by allowing pattern matching on abstract datatypes. We propose a modest extension of Standard ML with views and define its semantics via a source-to-source translation back into Standard ML without views. We claim no particular technical innovation; rather, we have attempted to engineer a solution that blends as seamlessly as possible with the rest of the language, including the module system and the stateful features of the language. 1 Introduction The convenience of pattern matching is one of the most seductive aspects of languages like Standard ML [6]. Not until the newcomer tries to write large programs does she encounter the...
Citations
| 505 | D.: The Definition of Standard ML (Revised – Milner, Tofte, et al. - 1997 |
| 114 | Report on the Functional Programming Language Haskell: a non{strict, purely functional language. Sigplan Notices – Hudak, Peyton-Jones, et al. - 1992 |
| 104 | Views: A way for pattern matching to cohabit with data abstraction – WADLER - 1987 |
| 25 | Pattern Matching with Abstract Data Types – Burton, Cameron - 1993 |
| 14 | Abstract value constructors – Aitken, Reppy - 1992 |
| 13 | A New Look at Pattern Matching in Abstract Data Types – Gostanza, Pena, et al. - 1996 |
| 10 | Active Patterns – Erwig - 1996 |
| 1 | A (sic) extension to haskell 1.3 for views. Distributed on the Haskell mailing list – Burton, Meijer, et al. - 1996 |
| 1 | A new view of guards. Distributed on the Haskell mailing list – Jones, S - 1997 |

