We compare Haskell with Standard ML as programming languages for verification tools based on our experience developing the verification platform Truth in Haskell and the Edinburgh Concurrency Workbench (CWB) in Standard ML. We review not only technical language features but also the "worlds" of the languages, for example, the availability of compilers, tools, and libraries. We also discuss the merits and difficulties of comparing programming languages in this wide sense and support our view that Truth and the CWB are similar enough to justify the conclusions drawn in this paper.
['Martin Leucker', 'Thomas Noll', 'Perdita Stevens', 'Michael Weber']
Functional programming languages for verification tools: a comparison of Standard ML and Haskell