estdlib: add string:to_integer/1#2368
Open
pguyot wants to merge 1 commit into
Open
Conversation
Contributor
|
AMP found so many OTP behavior discrepancies/gaps that I asked it to implement one with better parity: of course more code, your call.. btw notice how test_string seems to be missing from tests/libs/estdlib/tests.erl |
Parse a leading optionally signed ASCII integer from unicode:chardata(),
returning {Int, Rest} or {error, no_integer | badarg}. Accept flat lists,
binaries, and mixed/deep chardata; keep binary remainders for pure binary
input; validate the maximal leading +-/digit run (OTP take semantics);
and reject malformed UTF-8 and improper list spines encountered while
parsing.
Register test_string in the estdlib suite and cover binary/mixed input,
grammar boundaries, badarg cases, and AtomVM bigint limits.
Co-authored-by: Paul Guyot <pguyot@kallisys.net>
Signed-off-by: Peter M <petermm@gmail.com>
pguyot
force-pushed
the
w29/string-to-integer
branch
from
July 20, 2026 19:44
a178782 to
f01ee59
Compare
Collaborator
Author
We can do chardata indeed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Parse a leading (optionally signed) integer from a string, returning {Int, Rest} or {error, no_integer}, matching the OTP string:to_integer/1 semantics. Add a test_to_integer/0 case in test_string.
These changes are made under both the "Apache 2.0" and the "GNU Lesser General
Public License 2.1 or later" license terms (dual license).
SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later