Erlang (programming language)/Tutorials/Advanced syntax: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Chris Day
No edit summary
imported>Tom Morris

Revision as of 06:07, 8 August 2009


There are some strange elements of erlang syntax, some of which are caused by the needs of parallel programming and functional programming.

Each 'if' structure must have a true conditional branch. If a variable is assigned(matched) in one branch of an 'if' or 'case' sturcture and used after that structure then the variable must be assigned(matched) in all the branches.

Guard expressions are restricted to only builtin functions. This is generally not a problem becuase one can precalculate values from non-builtin functions before the guard and then use the value in the guard expression. Restricting functions in guards protects from side effects and may increase speed.