by Lutz Schröder and Till Mossakowski
Abstract:
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.
Reference:
Lutz Schröder and Till Mossakowski: HasCASL: Integrated Higher-Order Specification and Program Development, In Theoretical Computer Science, 410(12-13), pp. 1217–1260, 2009. [preprint]
Bibtex Entry:
@Article{SchroderMossakowski08,
author = {Lutz Schr{\"o}der and Till Mossakowski},
title = {HasCASL: Integrated Higher-Order Specification and Program Development},
year = {2009},
journal = {Theoretical Computer Science},
volume = {410},
pages = {1217-1260},
number = {12-13},
keywords = {Algebraic specification higher order logic functional programming type classes polymorphism CASL monads Hoare logic},
url = {http://dx.doi.org/10.1016/j.tcs.2008.11.020},
comment = { <a href = "http://www8.informatik.uni-erlangen.de/~schroeder/papers/HasCASL.pdf"> [preprint] </a>},
abstract = { 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.
},
}