Functional programming languages for verification tools: a comparison of Standard ML and Haskell
- 90 Downloads
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.
KeywordsLanguage adequacy Functional programming languages ML Haskell Verification tools
Unable to display preview. Download preview PDF.
- 2.Gansner ER, Reppy JH (2002) The Standard ML Basis Library. Cambridge University Press, Cambridge, UKGoogle Scholar
- 3.Hartel PH, Feeley M, Alt M, Augustsson L, Baumann P, Beemster M, Chailloux E, Flood CH, Grieskamp W, van Groningen JHG, Hammond K, Hausman B, Ivory MY, Jones RE, Kamperman J, Lee P, Leroy X, Lins RD, Loosemore S, Röjemo N, Serrano M, Talpin JP, Thackray J, Thomas S, Walters P, Weis P, Wentworth P (1996) Benchmarking implementations of functional languages with ‘Pseudoknot’, a float-intensive benchmark. J Function Programm 6(4):621–655CrossRefGoogle Scholar
- 4.McAdam B (2002) Repairing type errors in functional programs. PhD thesis, Division of Informatics, University of EdinburghGoogle Scholar
- 5.Milner R (1989) Communication and concurrency. International Series in Computer Science. Prentice-Hall, Upper Saddle River, NJGoogle Scholar
- 6.Milner R, Tofte M, Harper R, MacQueen D (1997) The definition of Standard ML (revised). MIT Press, Cambridge, MAGoogle Scholar
- 7.Nicklisch J, Peyton Jones SL (1996) An exploration of modular programs. In: Glasgow workshop on functional programming, July 1996Google Scholar
- 8.Peterson J, Hammond K (eds) Augustsson L, Boutel B, Burton W, Fasel J, Gordon AD, Hughes J, Hudak P, Johnsson T, Jones MP, Peyton Jones SL, Reid A, Wadler P (1996) Report on the programming language Haskell, a non-strict purely-functional programming language, version 1.3. Technical report, Yale University, New Yaven, CT, May 1996Google Scholar