Thorium/Linq.Expression.Optimizer
55.4
Adequate · 2 October 2026
1.4k
lines of production code
F#
primary language
2
measurements over time
What this system is
Linq.Expression.Optimizer is a .NET library that simplifies and optimizes System.Linq.Expressions trees through techniques like constant folding and boolean algebra reduction. The project has been modernized to support multiple .NET versions, including .NET 8 and .NET 10, and utilizes a robust test suite with xUnit and property-based testing to ensure correctness across complex query patterns.
Features
Linq.Expression.Optimizer v1.0.6 introduces expression tree optimization
This release adds the core optimization engine for System.Linq.Expressions, enabling users to simplify and optimize LINQ expression trees. The new \OptimizeExtension\ API allows calling \.Optimize()\ on expressions to apply reductions such as constant folding (e.g., simplifying \7 \> 8\ to \False\), boolean algebra simplifications, and the elimination of unused anonymous type members and empty code blocks. The optimizer also handles structural comparisons of member accesses and parameters to ensure correctness across different expression instances.
src/Code · high confidence
Test coverage
Migrated test suite to xUnit and FsUnit with expanded query coverage; Updated test project dependencies and removed legacy configuration.
Dependencies
Linq.Expression.Optimizer version bump to 1.0.34 and multi-targeting expansion
The Linq.Expression.Optimizer library has been updated to version 1.0.34. The project now targets .NET Framework 4.8.1, .NET Standard 2.0, .NET Standard 2.1, .NET 8, and .NET 10, requiring FSharp.Core version 8.0.301 or higher. The assembly metadata and build configuration have been updated to reflect these changes, including the removal of legacy binding redirects in favor of the new framework-specific dependencies.
src/Linq.Expression.Optimizer · high confidence
Migrated build system from Paket/FAKE 5 to .NET SDK/FAKE 6
The project's build infrastructure has been upgraded from the legacy Paket bootstrapper and FAKE 5 to the modern .NET SDK tooling and FAKE 6. This change replaces the manual Paket restore and FAKE execution steps in \build.cmd\ and \build.sh\ with \dotnet tool restore\ and \dotnet fake run\. The \build.fsx\ script has been rewritten to use FAKE 6's functional API (e.g., \Target.create\, \DotNet.build\) and references FAKE 6.1.4 packages, while the solution file has been updated to target Visual Studio 17. This migration simplifies the build process by leveraging the .NET CLI and removes the dependency on the Paket bootstrapper.
(repo-wide) · high confidence
Updated .NET targets and F\# dependencies
The Linq.Expression.Optimizer project now targets netstandard2.0, netstandard2.1, net8.0, and net10.0, replacing older frameworks. FSharp.Core has been upgraded to version 8.0.301, and the build system now includes FSharp.NET.Sdk and FSharp.Compiler.Tools. The test suite has migrated from NUnit to xUnit, adding FsCheck.Xunit, FsUnit.xUnit, and BenchmarkDotNet for performance testing.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 56 → 55 (-0.9)
- Rubric changed (rubric-2026.09.13 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 51 → 51 (-0.0)
- Architecture 99 → 96 (-3.5)
- Maturity 50 → 49 (-1.4)
- Readiness 52 → 49 (-2.4)
- Security 98 → 98 (+0.0)
- Performance 90 (new)
Resolved (2)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
Changes since last survey
- 1 commits — 1 feature/other, 0 fixes
By area
- docs/content — 1 commit
Notable commits
- change: fsharp-refactor code clean-up.
Architecture
- Containers 0 added · 0 removed · contexts 1 added · 0 removed · edges 0 added · 0 removed
Added bounded contexts (1)
- Linq.Expression.Optimizer.Tests
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Thorium/Linq.Expression.Optimizer was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 772cb5ff3d26bf4a59165d2716bd9abcfc97afd5 — the exact code this score is about.
- Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-351388015767.