Type checking records and variants in a natural extension of ML
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Type reconstruction in the presence of polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type inference with polymorphic recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Refinement types for ML
Type extension through polymorphism
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type-based analysis of uncaught exceptions
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Calling hell from heaven and heaven from hell
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Domain specific embedded compilers
Proceedings of the 2nd conference on Domain-specific languages
The Definition of Standard ML
TCS '02 Proceedings of the IFIP 17th World Computer Congress - TC1 Stream / 2nd IFIP International Conference on Theoretical Computer Science: Foundations of Information Technology in the Era of Networking and Mobile Computing
An expressive language of signatures
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Practical refinement-type checking
Practical refinement-type checking
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Confessions of a used programming language salesman
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Hi-index | 0.00 |
Datatype specialization is a form of subtyping that captures program invariants on data structures that are expressed using the convenient and intuitive datatype notation. Of particular interest are structural invariants such as well-formedness. We investigate the use of phantom types for describing datatype specializations. We show that it is possible to express statically-checked specializations within the type system of Standard ML. We also show that this can be done in a way that does not lose useful programming facilities such as pattern matching in case expressions.