They are written as strings of consecutive alphanumeric characters, the first character being lowercase. Ports are created with the built-in function open_port. I don't even care. Any element of a tuple can be accessed in constant time. Erlang is a general-purpose, concurrent, functional programming language.