Skip to content

[Repo Assist] Add TypeInference documentation page for type inference and missing values#1669

Merged
dsyme merged 2 commits intomainfrom
repo-assist/improve-347-type-inference-docs-613af2a4316f9502
Feb 26, 2026
Merged

[Repo Assist] Add TypeInference documentation page for type inference and missing values#1669
dsyme merged 2 commits intomainfrom
repo-assist/improve-347-type-inference-docs-613af2a4316f9502

Conversation

@github-actions
Copy link
Contributor

🤖 This is an automated PR from Repo Assist, created in response to the request on issue #347.

Closes #347

What this PR does

Adds a new documentation page docs/library/TypeInference.fsx that comprehensively explains type inference rules and missing-value handling across all FSharp.Data type providers. The page is linked from docs/index.md.

Content

The new page covers:

  • Numeric type hierarchy — how int, int64, decimal, and float are chosen and how types are promoted when samples mix values
  • Boolean inference in CSV — which string values produce bool
  • Date and time inferenceDateTime, DateTimeOffset, DateOnly, TimeOnly, and the role of PreferDateOnly
  • Missing values in JSON — how absent properties and null values both become option(T), with a note on design-time vs runtime risks
  • Missing values in CSV — the default missing-value strings (NaN, NA, etc.), and a comparison table showing the default type vs. PreferOptionals=true for each base type
  • Missing values in XML — how absent attributes and elements become option(T)
  • Heterogeneous types — how JSON values that can be multiple types are exposed via multiple optional accessors
  • Design-time vs runtime behaviour — key caveats about what happens when runtime data differs from the sample
  • Summary table of all inference-control parameters (PreferOptionals, AssumeMissingValues, MissingValues, InferRows, SampleIsList, PreferDateOnly, InferenceMode, Schema) with the providers each applies to

Test Status

Build: ✅ passed (dotnet run --project build/build.fsproj -t Build)
Fantomas format check: ✅ passed (dotnet fantomas --check docs/library/TypeInference.fsx)
No executable code was changed; this is a documentation-only addition.

Generated by Repo Assist for issue #347

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@afb00b92a9514fee9a14c583f059a03d05738f70

…ng values

- Add comprehensive docs/library/TypeInference.fsx covering:
  - Numeric type hierarchy (int -> int64 -> decimal -> float)
  - Boolean inference in CSV
  - Date/time type inference rules
  - Missing values in CSV (NaN, Nullable, option) with comparison table
  - null/missing properties in JSON -> option<T>
  - Missing attributes/elements in XML -> option<T>
  - Heterogeneous types
  - Design-time vs runtime behaviour
  - Summary table of inference-control parameters
- Add link from docs/index.md to new TypeInference page

Closes #347

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dsyme dsyme marked this pull request as ready for review February 26, 2026 15:08
@dsyme dsyme merged commit e9bc521 into main Feb 26, 2026
2 checks passed
@dsyme dsyme deleted the repo-assist/improve-347-type-inference-docs-613af2a4316f9502 branch February 26, 2026 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve documentation of type inference rules and how things work at runtime regardind missing values / optionals / etc...

1 participant