c: ExecutionContext): Future[A] = {
    ...
    // submit action to the thread pool
  }
}


Future { 2 + 2 }
// res: Future[Int] = Future(<not completed>)
```
]

---
# Expressions evaluation
<br>

.twenty-seven-left[
## Val

## Lazy Val

## Def
]

.seventy-two-right[
## → &nbsp;&nbsp;Once when defined

## → &nbsp;&nbsp;Once when first accessed

## → &nbsp;&nbsp;Everytime called
]

---
# Parameters evaluation
<br>

.twenty-seven-left[
## Normal (by-value)

## By-name
]

.seventy-two-right[
## → &nbsp