[erlang-questions] Literal support for unary (1#XXXXXX...)

Masklinn <>
Sun Jun 2 21:26:37 CEST 2013


On 2013-06-02, at 21:22 , Andrew Pennebaker wrote:
> Could we extend the # integer syntax to support base 1? It would be cool if
> 1#11111111 worked, instead of doing this:
> 
> $ erl
> Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:2:2] [async-threads:0]
> [hipe] [kernel-poll:false] [dtrace]
> 
> Eshell V5.9.3.1  (abort with ^G)
> 1> 2#1000.
> 8
> 2> 1#11111111.
> * 1: illegal base '1'
> 2> #11111111.
> * 1: syntax error before: 11111111
> 
> To be sure, base 1 isn't used that often in practice. But neither is base
> 3, 13, or 37, so it seems a little strange why the range of base literals
> is [2, 36]. If we apply the principle of "least surprise", I think it would
> be a good idea to also accept base 1.

Why would base1 be limited to the tally mark "1" though? Technically any
symbol can be used as the tally mark.


More information about the erlang-questions mailing list