Docs > Blocks

All blocks are literals. For example, the following code is valid: ``` a = { 5 + 5 } ``` Blocks function like anonymous functions, and can be called. They must be passed one argument, which will be bound to `_` in the body. For example, in the following code: ``` inc = { _ + 1 } ``` `inc(1)` would be `2`, `inc(3)` `4`, etc. Blocks are first class, like all values, and can be passed around. Like functions, they cannot modify scope, and evaluate to the last expression in them. ## Technical Details - Like functions, blocks run in their own VM.