The question of identifying distinct functions of the language is an old and hot debated one in philosophy, linguistics and translation theory. Depending on the authors, the number varies from 3 to 6.
Karl Bühler offered (1918) the shortest list, which Karl Popper later (1953) accepted as a basis, saying that it was hierarchical:
Elsewhere, Bühler's split has been attributed to Eugene Nida and Charles Taber (1969). See also e.g. Jakobson.
Often, one stops at the stage of using language as a means of expression, i.e. below the stage of using it as a means of communications. This happens when one doesn't consider the reception, the effort related to it.