Ports are used to communicate with the external world. I don't even care. Ports are created with the built-in function open_port. Erlang is a general-purpose, concurrent, functional programming language. Haskell features a type system with type inference and lazy evaluation.