[erlang-questions] atoms in iodata() / iolist()

Fred Hebert <>
Mon May 25 18:43:51 CEST 2015


On 05/25, Antonio SJ Musumeci wrote:
>Does anyone know of any backwards incompatibility which could arise if
>atoms were added to the iodata() and iolist() definitions?
>
>iolist() = maybe_improper_list(byte() | binary() | atom() | iolist(),
>binary() | [])
>iodata() = iolist() | atom() | binary()

Why would you do that?

But yes, there could be incompatibilities. For example, the `iodata()` 
type is defined in terms of `iolist()`, and operations such as 
`erlang:port_control()` return `iodata()` as a type. As such, operations 
to port programs could now technically start returning atoms to code 
that won't expect such things.


More information about the erlang-questions mailing list