Erlang (programming language)/Tutorials/Advanced syntax: Difference between revisions
imported>Eric Evers No edit summary |
imported>Chris Day (becuase to because) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
There are some | {{subpages}} | ||
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. | Each 'if' structure must have a true conditional branch. | ||
Line 8: | Line 9: | ||
Guard expressions are restricted to only builtin functions. This is | Guard expressions are restricted to only builtin functions. This is | ||
generally not a problem | generally not a problem because one can precalculate values from non-builtin functions | ||
before the guard and then use the value in the guard expression. | before the guard and then use the value in the guard expression. | ||
Restricting functions in guards protects from side effects and may increase | Restricting functions in guards protects from side effects and may increase | ||
speed. | speed. |
Latest revision as of 23:58, 5 February 2010
The metadata subpage is missing. You can start it via filling in this form or by following the instructions that come up after clicking on the [show] link to the right. | |||
---|---|---|---|
|
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 because 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.