Skip to main content

VMλ: A Functional Calculus for Scientific Discovery

  • Conference paper
  • First Online:
Book cover Functional and Logic Programming (FLOPS 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2441))

Included in the following conference series:

  • 253 Accesses

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 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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Setsuo Arikawa and Koichi Furukawa, editors. Proceedings of the Second International Conference on Discovery Science, volume 1721 of Lecture Notes in Artificial Intelligence. Springer-Verlag, 1999. 290, 304

    Google Scholar 

  2. Setsuo Arikawa and Shinichi Morishita, editors. Proceedings of the Third International Conference on Discovery Science, volume 1967 of Lecture Notes in Artificial Intelligence. Springer-Verlag, 2000. 290

    Google Scholar 

  3. Setsuo Arikawa and Hiroshi Motoda, editors. Proceedings of the First International Conference on Discovery Science, volume 1532 of Lecture Notes in Artificial Intelligence. Springer-Verlag, 1998. 290, 304

    Google Scholar 

  4. Hideo Bannai, Yoshinori Tamada, Osamu Maruyama, and Satoru Miyano. VML: A view modeling language for computational knowledge discovery. In Proceedings of the Fourth International Conference on Discovery Science, volume 2226 of Lecture Notes in Artificial Intelligence, pages 30–44, 2001. 292, 293, 297, 303

    Google Scholar 

  5. Hideo Bannai, Yoshinori Tamada, Osamu Maruyama, Kenta Nakai, and Satoru Miyano. Views: Fundamental building blocks in the process of knowledge discovery. In Proceedings of the 14th International FLAIRS Conference, pages 233–238. AAAI Press, 2001. 293, 299, 303

    Google Scholar 

  6. Olivier Danvy. Type-directed partial evaluation. In Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 242–257, 1996. 292

    Google Scholar 

  7. Olivier Danvy. Type-directed partial evaluation. In Partial Evaluation — Practice and Theory, volume 1706 of Lecture Notes in Computer Science, pages 367–411. Springer-Verlag, 1999. 292

    Google Scholar 

  8. Daniel de Rauglaudre. Camlp4. http://caml.inria.fr/camlp4/. 293, 299

  9. Jacques Garrigue. OLabl. http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/. 299

  10. Jacques Garrigue. Programming with polymorphic variants. In Proceedings of the 1998 ACM SIGPLAN Workshop on ML, 1998. 299

    Google Scholar 

  11. Jacques Garrigue and Hassan Aït-Kaci. The typed polymorphic label-selective lambda-calculus. In Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 35–47, 1994. 296, 297

    Google Scholar 

  12. Haskell in practice (applications written in Haskell). http://www.haskell.org/practice.html. 290

  13. John Hughes. Why functional programming matters. Computer Journal, 32(2):98–107, 1989. 290

    Article  Google Scholar 

  14. Xavier Leroy. Applicative functors and fully transparent higher-order modules. In Proceedings of the 22th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1995. 300

    Google Scholar 

  15. Xavier Leroy and Francois Pessaux. Type-based analysis of uncaught exceptions. ACM Transactions on Programming Languages and Systems, 22(2):340–377, 2000. An extended abstract appeared in Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1999, pages 276–290. 300

    Article  Google Scholar 

  16. Xavier Leroy et al. Objective Caml. http://caml.inria.fr/ocaml/. 291, 299

  17. Osamu Maruyama and Satoru Miyano. Design aspects of discovery systems. IEICE Transactions in Information and Systems, E83-D(1):61–70, 2000. 293, 299, 303

    Google Scholar 

  18. Osamu Maruyama, Tomoyuki Uchida, Takayoshi Shoudai, and Satoru Miyano. Toward genomic hypothesis creator: View designer for discovery. In Hiroshi Motoda, editors. Proceedings of the First International Conference on Discovery Science, volume 1532 of Lecture Notes in Artificial Intelligence. Springer-Verlag, 1998 Arikawa and Motoda [3], pages 105–116. 293, 299, 303

    Google Scholar 

  19. Osamu Maruyama, Tomoyuki Uchida, Kim Lan Sim, and Satoru Miyano. Designing views in hypothesiscreator: System for assisting in discovery. In Koichi Furukawa, editors. Proceedings of the Second International Conference on Discovery Science, volume 1721 of Lecture Notes in Artificial Intelligence. Springer-Verlag, 1999 Arikawa and Furukawa [1], pages 115–127. 293, 299, 303

    Google Scholar 

  20. Atsushi Ohori and Nobuaki Yoshida. Type inference with rank 1 polymorphism for type-directed compilation of ML. In Proceedings of the Fourth ACM SIGPLAN International Conference on Functional Programming, pages 160–171, 1999. 300

    Google Scholar 

  21. Claudio V. Russo. Types For Modules. PhD thesis, University of Edinburgh, 1998. http://www.dcs.ed.ac.uk/home/cvr/ECS-LFCS-98-389.html. 302

  22. Ian Stark. Names and Higher-Order Functions. PhD thesis, University of Cambridge, 1994. http://www.dcs.ed.ac.uk/home/stark/publications/thesis.html. 302

  23. Basile Starynkevitch et al. Our users’ achievements (significant applications written in Caml). http://caml.inria.fr/users programs-eng.html. 290

  24. Gerd Stolpmann. The O’Caml link database. http://www.npc.de/ocaml/linkdb. 290

  25. Eijiro Sumii and Hideo Bannai. VMλ: A functional calculus for scientific discovery. http://www.yl.is.s.u-tokyo.ac.jp/sumii/pub/vml.ps.gz, 2001. 296

  26. Eijiro Sumii and Benjamin Pierce. Logical relations for encryption. In 14th IEEE Computer Security Foundations Workshop, pages 256–269, 2001. 302

    Google Scholar 

  27. Philip Wadler. Functional programming in the real world. http://cm.bell-labs.com/cm/cs/who/wadler/realworld/. 290

  28. Philip Wadler. Views: a way for pattern matching to cohabit with data abstraction. In Proceedings of the 14th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 307–313, 1987. 292, 302

    Google Scholar 

  29. Philip Wadler. Functional programming: An angry half-dozen. SIGPLAN Notices, 33(2):25–30, 1998. 290

    Article  Google Scholar 

  30. Kwangkeun Yi. An abstract interpretation for estimating uncaught exceptions in Standard ML programs. Science of Computer Programming, 31(1):147–173, 1998. 300

    Article  MATH  MathSciNet  Google Scholar 

  31. Kwangkeun Yi and Sukyoung Ryu. A cost-effective estimation of uncaught exceptions in SML programs. Theoretical Computer Science. To appear. 300

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sumii, E., Bannai, H. (2002). VMλ: A Functional Calculus for Scientific Discovery. In: Hu, Z., Rodríguez-Artalejo, M. (eds) Functional and Logic Programming. FLOPS 2002. Lecture Notes in Computer Science, vol 2441. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45788-7_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-45788-7_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44233-2

  • Online ISBN: 978-3-540-45788-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics