[erlang-questions] byte() vs. char() use in documentation

Kostis Sagonas kostis@REDACTED
Thu Apr 28 18:26:02 CEST 2011


In the Erlang documentation, the language of types and specs makes a 
clear distinction between the following two types:

     byte() :: 0..255
     char() :: 0..16#10ffff

See http://erlang.org/doc/reference_manual/typespec.html#id72693

I think that nowadays there are very good reasons to have this distinction.


In trying to fix a bug today, I happened to notice that some key types 
of Erlang are inconsistent with this view in the Erlang/OTP 
documentation (In http://erlang.org/doc/man/erlang.html), most notably:

     iolist() :: [char() | binary() | iolist()]

   binary_to_list(Binary) -> [char()]
   binary_to_list(Binary, Start, Stop) -> [char()]
   bitstring_to_list(Bitstring) -> [char()|bitstring()]

and:

     BitstringList :: [BitstringList | bitstring() | char()]

which actually triggered this mail.

I think all the occurrences of char() above should read byte() instead.
Right?

If yes, could somebody at OTP (or some kind volunteer) please clean up 
this mess?  (I can provide a fix for the documentation of the 'erlang' 
module if you want me to.)

Kostis



More information about the erlang-questions mailing list