github abs-lang/abs 2.2.2
v2.2.2

latest releases: 2.6.0, 2.5.2, 2.5.1...
3 years ago

This release fixes a bug with parsing negative numbers (#385): before, -10 would be parsed as (minus, number) whereas
right now it's going to be parsed as (number) only.

This fixes a bug with precedences, where -1.str() would be parsed as (-, (1, str)), leading to first calling the str method on the positive number, then applying the minus.

Before:

⧐  -1.234.str()
ERROR: unknown operator: -STRING
	[1:1]	-1.234.str()

After:

⧐  -1.234.str()
-1.234

If a space is found between the minus and the number, the old parsing mechanism still applies.

It's inspired by Ruby, where:

$ - 1.to_s()
-@: undefined method `-@' for "1":String

$-1.to_s()
-1

$ -10.3.floor()
-11

$ - 10.3.floor()
-10

In addition, the documentation for strings has been improved (#384).

Thanks to @gromgit both for finding the bug as well as improving the documentation ❤️

Don't miss a new abs release

NewReleases is sending notifications on new releases.