Nix Language Quirks: Difference between revisions
imported>Milahu add section: Integer precision |
imported>Milahu add section: No negative number literals |
||
| Line 157: | Line 157: | ||
nix-repl> 9223372036854775808 | nix-repl> 9223372036854775808 | ||
error: invalid integer '9223372036854775808' | error: invalid integer '9223372036854775808' | ||
</syntaxHighlight> | |||
<!-- TODO Float Precision --> | |||
== No negative number literals == | |||
Negative numbers are parsed as "zero minus positive" | |||
<pre> | |||
nix-instantiate --parse --expr '(-1)' | |||
(__sub 0 1) | |||
</pre> | |||
So this throws, because the positive number is out of range | |||
<syntaxHighlight lang=nix> | |||
nix-repl> -9223372036854775808 | |||
error: invalid integer '9223372036854775808' | |||
</syntaxHighlight> | |||
but this works | |||
<syntaxHighlight lang=nix> | |||
nix-repl> -9223372036854775807 - 1 | |||
-9223372036854775808 | |||
</syntaxHighlight> | </syntaxHighlight> | ||