Skip to content
CAI
Software that uses CAICheck a score

AlexeyRaga/fsharp-foldl

62.7

Adequate · 3 October 2026

315

lines of production code

F#

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

FSharp.Foldl is an F\# library that enables computing multiple folds over a collection in a single pass. It provides combinators for summing, averaging, and zipping results, supporting composition via applicative syntax or computation expressions. The system leverages .NET generic math interfaces and includes a benchmark suite to measure performance.

Features

Initial release of FSharp.Foldl with .NET 10 support

This release introduces the FSharp.Foldl library, an F\# port of the foldl combinator library that allows computing multiple folds over a collection in a single pass. The project targets .NET 10.0 and includes a new Benchmarks project alongside the core library and tests. The public API uses \Fold.zip\ to combine folds (replacing the previously documented \Fold.tuple\), and supports composition via Applicative syntax or computation expressions.

(repo-wide) · high confidence

Behavioural changes

Refactored Fold implementation to use a Folder-based interface with generic math support

The internal implementation of the Fold module has been rewritten to replace the previous object-oriented interface (Accept/Extract) with a new Folder-based execution model using existential quantification. This change simplifies the core types and enables the use of .NET generic math interfaces (such as IAdditionOperators and IAdditiveIdentity) for operations like sum and product, replacing the older INumber constraint. Additionally, new combinators have been added to allow users to filter elements based on predicates (takeWhile, dropWhile) and limits (take, drop), providing more control over how sequences are processed.

FSharp.Foldl · high confidence

Test coverage

Added benchmark suite for F\# Foldl library; Added tests for new Fold operations and syntax.

Dependencies

Upgrade test dependencies and add benchmark project

The test suite dependencies have been updated, including FsUnit.xUnit (5.1.0 to 5.4.0), Hedgehog.Xunit (0.5.1 to 0.6.0), Microsoft.NET.Test.Sdk (17.3.2 to 17.6.3), xunit (2.4.2 to 2.5.0), and coverlet.collector (3.1.2 to 6.0.0). A new benchmark project (FSharp.Foldl.Benchmarks) has been added using BenchmarkDotNet 0.13.6 to measure performance, and the main library project has been updated with version 1.1.1 and metadata.

(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 64 → 63 (-1.0)
  • Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 94 → 94 (+0.0)
  • Architecture 99 → 95 (-3.8)
  • Maturity 54 → 54 (+0.0)
  • Readiness 60 → 60 (+0.0)
  • Security 76 → 70 (-6.0)
  • Performance 85 (new)

Resolved (2)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)

New (3)

  • Documentation: no contributor guidance (Readme.md)
  • Documentation: no installation or build instructions (Readme.md)
  • Documentation: no usage examples (Readme.md)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

AlexeyRaga/fsharp-foldl 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 3 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 2fa89c8757de3db5bd99450c99f6280d611eceeb — 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-4f4226d619ea.