Language

  • def: defines an immutable label for the right side content which is lazily evaluated - evaluate by name.

  • val: defines an immutable label for the right side content which is eagerly/immediately evaluated - evaluated by value.

  • var: defines a mutable variable, initially set to the evaluated right side content.

https://stackoverflow.com/a/33066906/1589512

Execution

left to right call-by-value call-by-name call-by-need