G-Research/TypeEquality
55.6
Adequate · 3 October 2026
142
lines of production code
F#
primary language
2
measurements over time
What this system is
TypeEquality is an F\# library that provides runtime type-equality proofs and congruence operations for basic types like Set, Map, and Result. It enables safer type-level transformations, particularly in Generalized Algebraic Data Type (GADT) scenarios, by allowing users to derive equalities for container types from their elements. The system includes examples demonstrating its use in expression evaluation and lambda calculus, along with a test suite validating core functionality.
Features
Add examples for GADTs and Simply Typed Lambda Calculus
New example files (Expr.fs and Lambda.fs) demonstrate the library's type-equality features. The first example shows a GADT-based expression evaluator, while the second implements a Simply Typed Lambda Calculus using Higher-Order Abstract Syntax (HOAS) to approximate GADT behavior with Teq objects.
Example · high confidence
TypeEquality library adds congruence support for F\# basic types
The TypeEquality library has been extended to support congruence operations for F\# basic types, including Set, Map, and Result. This allows users to derive type equalities for these container types directly from the type equalities of their constituent elements, facilitating safer and more efficient type-level transformations in GADT scenarios.
TypeEquality · high confidence
Behavioural changes
Repository rebranded to TypeEquality with build infrastructure and documentation updates
The project has been renamed from 'Teq' to 'TypeEquality' to align with its NuGet package identity, including updates to the solution file, project names, and README documentation. The build system now integrates Nerdbank.GitVersioning (v3.8.118) for version management and AppVeyor for continuous integration, while also enabling deterministic builds and embedded debug symbols. The README has been expanded to explain the library's purpose regarding type equalities and GADTs in F\#, and includes NuGet and build status badges.
(repo-wide) · high confidence
Test coverage
Added tests for Teq and Cong functionality
Added a new test file (Test/Teq.fs) that verifies Teq.refl casting is idempotent, ensures Teq.Cong.list and Teq.Cong.set do not throw exceptions, and confirms that Teq.tryRefl correctly returns Some for matching types and None for differing types.
Test · high confidence
Dependencies
Initial project structure and dependency configuration for TypeEquality
This change introduces the foundational project files for the TypeEquality library, establishing the build and dependency configuration for the core library, example, and test projects. The main library (TypeEquality.fsproj) targets netstandard2.0 and references FSharp.Core version 4.5.0, while the example and test projects target net9.0 and utilize NUnit 4.4.0, FsUnit 7.1.1, and related testing SDKs to validate the library's type-equality capabilities.
(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 51 → 56 (+4.6)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 92 → 93 (+0.6)
- Maturity 23 → 34 (+11.1)
- Readiness 67 → 67 (+0.0)
- Security 77 → 72 (-4.6)
New (1)
- 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
G-Research/TypeEquality 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 dbd984a6c981f6d5eb9b006743fd0c6e0c0a1ac8 — 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.