Introductory note

In the first phase of this project (integrated in the laboratory work for the Métodos Formais de Programação II course), I made a reengennering of the PUReCamila interpreter, described here.

In the second of this project (integrated in Laboratório de Métodos Formais), I am working on the implementation of VDM and VDM++ features in Haskell to integrate in Camila.

VDM++ features

VDM++, in comparison with VDM has the following extra features:
  • Allows the definition of classes and objects
  • Inheritance (specialization and generalization)
  • Operations and functions to describe functional behaviour of the objects
  • Threads and synchronisation constraints

I have a report (pdf) explaining how to mimic VDM++ features (parallelism not included) in Haskell.


Monads ans State in Haskell

  • Philip Wadler, Monads for functional programming (ps)
  • Philip Wadler and Peter Thiemann, The marriage of effects and monads (pdf)
  • John Hughes, Generalising Monads to Arrows (pdf)
  • Martin Erwig and Deling Ren, Monadification of functional programs (pdf)
  • John Launchbury and Simon L. Peyton Jones, State in Haskell (ps.gz)
  • Mark P. Jones, Functional Programming with Overloading and Higher-Order Polymorphism (pdf)

Object Oriented Functional Programming

  • Mark Shields and Simon Peyton Jones, Object-Oriented Style Overloading for Haskell (pdf)
  • John Hughes and Jan Sparud, Haskell++: An Object-Oriented Extension of Haskell (ps.gz)
  • Oleg Kiselyov and Ralf Lammel, Haskell's overlooked object system (pdf)

VDM and VDM++

r10 - 12 Feb 2007 - 19:58:09 - JoseBacelarAlmeida
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM