Click here to Skip to main content
15,891,529 members
Articles / Programming Languages / F#

Tracking Dependencies and Side-Effects Using Immutability

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
7 Jul 2009CPOL7 min read 29.5K   50   7  
The Functional Programming for the Real World book explains essential concepts of the functional programming paradigm using examples in C# 3.0 and F#. In this article we look at one very important advantage of using one of the core functional concepts - immutability.

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chapter11_CSharp", "Chapter11_CSharp\Chapter11_CSharp.csproj", "{2799E2B5-5881-4E93-9283-5741F0BC276A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FunctionalCSharp", "FunctionalCSharp\FunctionalCSharp.csproj", "{902F511B-C571-49B0-9893-0BDEC61665BD}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Release|Any CPU = Release|Any CPU
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{2799E2B5-5881-4E93-9283-5741F0BC276A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{2799E2B5-5881-4E93-9283-5741F0BC276A}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{2799E2B5-5881-4E93-9283-5741F0BC276A}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{2799E2B5-5881-4E93-9283-5741F0BC276A}.Release|Any CPU.Build.0 = Release|Any CPU
		{902F511B-C571-49B0-9893-0BDEC61665BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{902F511B-C571-49B0-9893-0BDEC61665BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{902F511B-C571-49B0-9893-0BDEC61665BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{902F511B-C571-49B0-9893-0BDEC61665BD}.Release|Any CPU.Build.0 = Release|Any CPU
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Czech Republic Czech Republic
I live in Prague, the capital city of Czech republic (most of the time Smile | :) ). I've been very interested in functional programming recently and I have a passion for the new Microsoft F# language. I'm writing a book about Functional Programming in the Real World that shows the ideas using examples in C# 3.0 and F#.

I've been Microsoft MVP (for C#) since 2004 and I'm one of the most active members of the F# community. I'm a computer science student at Charles University of Prague. My hobbies include photography, fractals and of course many things related to computers (except fixing them). My favorite book writers are Terry Pratchett and Philip K Dick and I like paintings by M. C. Escher.

PS: My favorite codeproject icon is Sheep | [baah] .

Comments and Discussions