HASCASL: Integrated higher-order specification and program development
We lay out the design of HASCASL, a higher order extension of the algebraic specification language CASL that serves both as a wide-spectrum language for the rigorous specification and development of software, in particular but not exclusively in modern functional programming languages, and as an expressive standard language for higher-order logic. Distinctive features of HASCASL include partial higher order functions, higher order subtyping, shallow polymorphism, and an extensive type-class mechanism. Moreover, HASCASL provides dedicated specification support for monad-based functional-imperative programming with generic side effects, including a monad-based generic Hoare logic. (C) 2008 Elsevier B.V. All rights reserved.
casl algebraic specification functional programming higher-order logic polymorphism hoare logic type classes monads