{"adoption": {"forks": 101, "observed_at": "2026-09-03T02:15:05.225010+00:00", "stars": 1190}, "canonical_url": "https://ross.abutalabs.com/products/cakeml", "card": {"archived": false, "artifact_type": "cli-tool", "description": "CakeML: A Verified Implementation of ML", "domain": ["programming-languages", "compilers", "parsers"], "enriched": true, "function": ["compiler", "interpreter", "programming-language", "parser", "type-system"], "health_score": 100, "homepage": "https://cakeml.org", "language": "Standard ML", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["CakeML/cakeml"], "name": "CakeML/cakeml", "platform": ["cross-platform"], "pushed_at": "2026-09-02T14:55:47+00:00", "repo": "CakeML/cakeml", "stars": 1190, "tags": ["standard-ml", "formal-verification", "theorem-proving", "hol4", "verified-compiler", "machine-code-generation", "research", "verification", "x86", "arm", "linux", "macos"], "topics": ["programming-language", "formal-verification", "formal-semantics", "compiler", "theorem-proving", "hol", "sml"], "urls": [], "use_cases": ["compile ML programs to verified machine code", "research formally verified compilers", "study formal semantics of a Standard ML subset", "build verified programs with proven-correct tooling", "generate code for embedded targets from a verified compiler", "teach programming language semantics and verification"], "what_it_is": "CakeML is a functional programming language based on a substantial subset of Standard ML, together with a formally verified compiler that is proved correct in the HOL4 theorem prover. The compiler bootstraps itself and generates machine code for multiple target architectures, with formal semantics, type inference, and parser all verified.", "when_to_avoid": ["you need a general-purpose production ML compiler with mature tooling and ecosystem", "you need fast compile times or extensive libraries", "you cannot work with HOL4 theorem proving infrastructure"], "when_to_choose": ["you need a compiler with machine-checked correctness proofs", "you are doing research or teaching in formal verification of languages", "you want verified code generation for x86, ARM, RISC-V, or other supported architectures"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cakeml", "repo": "CakeML/cakeml", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:23:39.680315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5bdec5367199b73ae317f8d8e915341377040169d0992b8be6ad1a19e4d7212c", "fetched_at": "2026-09-03T02:15:05.225010+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CakeML/cakeml"}, {"content_hash": "f1c2f9aadda1796c0345f81e803d64ab32ccdc74f2cbe8a649d3063432dae79d", "fetched_at": "2026-08-29T12:30:34.461854+00:00", "kind": "homepage", "missing": false, "url": "https://cakeml.org"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:23:39.680315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5bdec5367199b73ae317f8d8e915341377040169d0992b8be6ad1a19e4d7212c", "fetched_at": "2026-09-03T02:15:05.225010+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CakeML/cakeml"}, {"content_hash": "f1c2f9aadda1796c0345f81e803d64ab32ccdc74f2cbe8a649d3063432dae79d", "fetched_at": "2026-08-29T12:30:34.461854+00:00", "kind": "homepage", "missing": false, "url": "https://cakeml.org"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:23:39.680315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5bdec5367199b73ae317f8d8e915341377040169d0992b8be6ad1a19e4d7212c", "fetched_at": "2026-09-03T02:15:05.225010+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CakeML/cakeml"}, {"content_hash": "f1c2f9aadda1796c0345f81e803d64ab32ccdc74f2cbe8a649d3063432dae79d", "fetched_at": "2026-08-29T12:30:34.461854+00:00", "kind": "homepage", "missing": false, "url": "https://cakeml.org"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:23:39.680315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5bdec5367199b73ae317f8d8e915341377040169d0992b8be6ad1a19e4d7212c", "fetched_at": "2026-09-03T02:15:05.225010+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CakeML/cakeml"}, {"content_hash": "f1c2f9aadda1796c0345f81e803d64ab32ccdc74f2cbe8a649d3063432dae79d", "fetched_at": "2026-08-29T12:30:34.461854+00:00", "kind": "homepage", "missing": false, "url": "https://cakeml.org"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:23:39.680315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5bdec5367199b73ae317f8d8e915341377040169d0992b8be6ad1a19e4d7212c", "fetched_at": "2026-09-03T02:15:05.225010+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CakeML/cakeml"}, {"content_hash": "f1c2f9aadda1796c0345f81e803d64ab32ccdc74f2cbe8a649d3063432dae79d", "fetched_at": "2026-08-29T12:30:34.461854+00:00", "kind": "homepage", "missing": false, "url": "https://cakeml.org"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:23:39.680315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5bdec5367199b73ae317f8d8e915341377040169d0992b8be6ad1a19e4d7212c", "fetched_at": "2026-09-03T02:15:05.225010+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CakeML/cakeml"}, {"content_hash": "f1c2f9aadda1796c0345f81e803d64ab32ccdc74f2cbe8a649d3063432dae79d", "fetched_at": "2026-08-29T12:30:34.461854+00:00", "kind": "homepage", "missing": false, "url": "https://cakeml.org"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:05.225010+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:23:39.680315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5bdec5367199b73ae317f8d8e915341377040169d0992b8be6ad1a19e4d7212c", "fetched_at": "2026-09-03T02:15:05.225010+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CakeML/cakeml"}, {"content_hash": "f1c2f9aadda1796c0345f81e803d64ab32ccdc74f2cbe8a649d3063432dae79d", "fetched_at": "2026-08-29T12:30:34.461854+00:00", "kind": "homepage", "missing": false, "url": "https://cakeml.org"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:23:39.680315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5bdec5367199b73ae317f8d8e915341377040169d0992b8be6ad1a19e4d7212c", "fetched_at": "2026-09-03T02:15:05.225010+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CakeML/cakeml"}, {"content_hash": "f1c2f9aadda1796c0345f81e803d64ab32ccdc74f2cbe8a649d3063432dae79d", "fetched_at": "2026-08-29T12:30:34.461854+00:00", "kind": "homepage", "missing": false, "url": "https://cakeml.org"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:23:39.680315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5bdec5367199b73ae317f8d8e915341377040169d0992b8be6ad1a19e4d7212c", "fetched_at": "2026-09-03T02:15:05.225010+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CakeML/cakeml"}, {"content_hash": "f1c2f9aadda1796c0345f81e803d64ab32ccdc74f2cbe8a649d3063432dae79d", "fetched_at": "2026-08-29T12:30:34.461854+00:00", "kind": "homepage", "missing": false, "url": "https://cakeml.org"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:23:39.680315+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5bdec5367199b73ae317f8d8e915341377040169d0992b8be6ad1a19e4d7212c", "fetched_at": "2026-09-03T02:15:05.225010+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CakeML/cakeml"}, {"content_hash": "f1c2f9aadda1796c0345f81e803d64ab32ccdc74f2cbe8a649d3063432dae79d", "fetched_at": "2026-08-29T12:30:34.461854+00:00", "kind": "homepage", "missing": false, "url": "https://cakeml.org"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 87}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5076, "days_push": 0, "days_rel": 7, "gap_med": 60.5, "n_releases_24m": 11}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}