Advertisement

Expert F# 3.0 pp 537-563 | Cite as

Packaging, Debugging and Testing F# Code

  • Don Syme
  • Adam Granicz
  • Antonio Cisternino

Abstract

Successful programming must involve a healthy marriage of good code with good software engineering techniques and practice. Sometimes these overlap: functional programming is a good software-engineering technique: among other benefits, anecdotal evidence indicates that functional programming frequently leads to a substantially reduced bug rate for good programmers. This is primarily because programs built using functional techniques tend to be highly compositional, building correct programs out of correct building blocks. The functional-programming style avoids or substantially reduces the use of side effects in the program, one property that makes programs more compositional. Debugging and testing are still essential activities to ensure that a program is as close as possible to its specifications, however. Bugs and misbehaviors are facts of life, and F# programmers must learn techniques to find and remove them. Often, these techniques are not inherently “functional”or even particularly “code” related, but they are still critical to the process of writing robust, maintainable, and successful software components.

Keywords

Data Resource Functional Programming Custom Attribute Code Fragment Visual Studio 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Don Syme, Adam Granicz, and Antonio Cisternino 2012

Authors and Affiliations

  • Don Syme
  • Adam Granicz
  • Antonio Cisternino

There are no affiliations available

Personalised recommendations