Skip to content
CAI
Software that uses CAICheck a score

mikpe/erlscheme

54.9

Weak · 2 October 2026

4.1k

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

ErlScheme is a Scheme-to-Erlang compiler that translates Scheme source code into BEAM modules for static compilation and improved performance. The system includes a build pipeline that generates Unicode character classification tables and supports initialization logic. It is built using rebar3 with strict static analysis checks to ensure code quality.

Features

Added ErlScheme initialization file

A new initialization file (es-init.scm) has been added to the priv/scm directory. Currently, this file is empty and serves as a placeholder for future ErlScheme initialization logic.

priv · high confidence

Introduce compiler from ErlScheme source to Core Erlang

ErlScheme now supports compiling Scheme source files directly to BEAM modules. The new \es\_compile\ module orchestrates the pipeline: it loads the source via \es\_load\, translates the resulting Abstract Syntax Tree (AST) into Core Erlang using the new \es\_ast\_to\_core\ module, and invokes the Erlang compiler to produce the final \.beam\ file. This adds a static compilation path alongside the existing interpreted execution, allowing users to compile \.scm\ files for better performance or distribution.

src · high confidence

New build-time script to generate Unicode character classification tables

A new escript, gen\_es\_uc\_ctype.escript, has been added to the make directory to generate the es\_uc\_ctype.erl module from UnicodeData.txt. This script automates the creation of lookup tables that classify Unicode characters (initial, subsequent, whitespace) beyond ASCII, replacing manual maintenance of these character type definitions.

make · high confidence

Behavioural changes

Build system migration to rebar3 with enhanced static analysis

The project has switched its build system to rebar3 (version 3.27.0), replacing the previous setup. This change introduces stricter code quality checks by enabling dialyzer (with missing\_return and unknown warnings) and xref checks (including deprecated function calls and undefined functions) during compilation. The build process now automatically derives the version number from git describe and generates the es\_uc\_ctype module from Unicode data, while the erlscheme executable is installed via a template-based script.

(repo-wide) · 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 55 → 55 (+0.0)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 91 → 91 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 40 → 40 (+0.0)
  • Readiness 43 → 43 (+0.0)
  • Security 92 → 92 (+0.0)

Resolved (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

mikpe/erlscheme 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 e857f8acd01aa7d0f95740a9c03c859620db93a9 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.