Whereas most types convey a value, many programming languages include a type that specifies that there is no value. This concept varies slightly between languages, but is conveyed by None in python and NULL in C and SQL, in Lua this value is nil.

We saw earlier that when a variable is defined without a value it is assigned the value of nil, which provides a good example of what nil is - it represents the condition when there is no value.

This might sound a bit abstract, but this is one of those topics that is difficult to comprehend by simply reading about it, but will become clear after "seeing it in action" in the coming sections.