Views: a way for pattern matching to cohabit with data abstraction
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Why functional programming matters
The Computer Journal - Special issue on Lazy functional programming
The typed polymorphic label-selective λ-calculus
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Applicative functors and fully transparent higher-order modules
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-directed partial evaluation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM SIGPLAN Notices
Type-based analysis of uncaught exceptions
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An abstract interpretation for estimating uncaught exceptions in standard ML programs
Science of Computer Programming
Type inference with rank 1 polymorphism for type-directed compilation of ML
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
A cost-effective estimation of uncaught exceptions in standard ML programs
Theoretical Computer Science
Proceedings of the First International Conference on Discovery Science
DS '98 Proceedings of the First International Conference on Discovery Science
Proceedings of the Second International Conference on Discovery Science
DS '99 Proceedings of the Second International Conference on Discovery Science
Proceedings of the Third International Conference on Discovery Science
DS '00 Proceedings of the Third International Conference on Discovery Science
Type-Directed Partial Evaluation
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
Views: Fundamental Building Blocks in the Process of Knowledge Discovery
Proceedings of the Fourteenth International Florida Artificial Intelligence Research Society Conference
Toward Genomic Hypothesis Creator: View Designer for Discovery
DS '98 Proceedings of the First International Conference on Discovery Science
Designing Views in HypothesisCreator: System for Assisting in Discovery
DS '99 Proceedings of the Second International Conference on Discovery Science
VML: A View Modeling Language for Computational Knowledge Discovery
DS '01 Proceedings of the 4th International Conference on Discovery Science
Foundations of Designing Computational Knowledge Discovery Processes
Progress in Discovery Science, Final Report of the Japanese Discovery Science Project
VML: A View Modeling Language for Computational Knowledge Discovery
DS '01 Proceedings of the 4th International Conference on Discovery Science
Functional programs that explain their work
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
We present VM驴, a formalization and implementation of the functional language VML.VML is a programming language proposed by discovery scientists for the purpose of assisting the process of knowledge discovery. It is a non-trivial extension of ML with hypothetical views. Operationally, a hypothetical view is a value with a representation that indicates how the value was created. The notion of hypothetical views has already been successful in the domain of genome analysis, and known to be useful in the process of knowledge discovery. However, VML as a programming language was only informally defined in English prose, and indeed found problematic both in theory and in practice. Thus, a proper definition and implementation of VML with formal foundations would be of great help to discovery science and hence corresponding domain sciences.This paper gives a solid foundation of VML by extending the standard simply typed call-by-value 驴-calculus. Although this extension, VM驴, is simple and clear, its design required much care to find and fix problems of the original VML. We also present a real implementation of VM驴, written in Camlp4 as a conservative translator into OCaml. This implementation makes extensive use of labeled arguments and polymorphic variants - two advanced features of OCaml that originate in OLabl.