Elements of functional languages
Elements of functional languages
Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
The C programming language
Prospects for functional programming in software engineering
Prospects for functional programming in software engineering
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
Functional programming and input/output
Functional programming and input/output
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Algebra of programming
Introduction to Functional Programming
Introduction to Functional Programming
Theorem Proving for Functional Programmers
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Modelling deterministic concurrent I/O
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Proving Properties of Lazy Functional Programs with Sparkle
Central European Functional Programming School
A Single-Step Term-Graph Reduction System for Proof Assistants
Applications of Graph Transformations with Industrial Relevance
Proving make correct: I/O proofs in Haskell and clean
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
Reasoning about deterministic concurrent functional i/o
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Reasoning about i/o in functional programs
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
Hi-index | 0.00 |
This paper discusses reasoning about IO operations in Haskell, Clean and C and compares the effect on ease of reasoning of the different approaches taken to IO in these languages. An IO system model is built using VDM驴 and is used to prove a basic property of a program written in each of the three languages. We tentatively draw the conclusions that functional languages are easier to reason about and that Monads can make the reasoning process slightly more difficult, but note that much future work is needed.