Abstract

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 imple- mentation 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λ ,i s 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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call