Erlang is a general-purpose, concurrent, functional programming language. Erlang is a general-purpose, concurrent, functional programming language. Messages can be sent to and received from ports, but these messages must obey the so-called "port protocol." Atoms can contain any character if they are enclosed within single quotes and an escape convention exists which allows any character to be used within an atom. Tuples are containers for a fixed number of Erlang data types.