Skip to content

proposal: isolate g14 and inf/nan numeric text policy - #384

Closed
akeit0 wants to merge 1 commit into
mainfrom
codex/proposal-lua52-numeric-text
Closed

akeit0 wants to merge 1 commit into
mainfrom
codex/proposal-lua52-numeric-text

Conversation

@akeit0

@akeit0 akeit0 commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

A separate proposal for the decision in #378: use 14 significant digits, lowercase exponents and signed inf/nan in Lua-facing numeric text, while retaining public C# LuaValue.ToString(). This affects tostring, numeric __tostring, %s/%q, concatenation, table.concat, gsub replacements, numeric inputs to explicit-base tonumber, and explicit printf special values.

For example, tostring(1/3) changes from 0.3333333333333333 to 0.33333333333333. tonumber(1e14,10) changes from 1e14 to nil because its intermediate text becomes scientific notation. Persisted text and round-trip precision can change.

Recommendation: keep the existing invariant managed default until that decision is made. Lua's default %.14g is configurable; MoonSharp 2.0.0 on .NET 10 also uses managed precision and Infinity/NaN words.

Tests check the conversion paths under another culture and preserve host formatting. The full test suite passes on .NET 8/10; all library targets build; CSharpier passes. Of 14,128 native comparisons, only the five deferred frexp/deg differences remain.

@akeit0
akeit0 force-pushed the codex/pr-lua52-printf branch from 40527c1 to 8f5f178 Compare October 27, 2026 02:56
@akeit0
akeit0 force-pushed the codex/proposal-lua52-numeric-text branch from 51ea84d to 7eb0faa Compare October 27, 2026 02:56
@akeit0
akeit0 force-pushed the codex/proposal-lua52-numeric-text branch from 7eb0faa to da3e47e Compare October 27, 2026 03:11
@akeit0
akeit0 force-pushed the codex/pr-lua52-printf branch 2 times, most recently from 1c99995 to d2d1fe5 Compare October 27, 2026 03:28
@akeit0
akeit0 changed the base branch from codex/pr-lua52-printf to main October 27, 2026 03:33
@akeit0
akeit0 force-pushed the codex/proposal-lua52-numeric-text branch from da3e47e to 6c8678e Compare October 27, 2026 03:33
@akeit0 akeit0 closed this Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant