{"adoption": {"forks": 105, "observed_at": "2026-08-28T04:05:08.815413+00:00", "stars": 1592}, "canonical_url": "https://ross.abutalabs.com/products/plzoo", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Programming Languages Zoo", "domain": ["programming-languages", "parsers", "education", "tutorials"], "enriched": true, "function": ["interpreter", "parser", "compiler", "programming-language"], "health_score": 20, "homepage": null, "language": "OCaml", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["andrejbauer/plzoo"], "name": "andrejbauer/plzoo", "platform": ["cross-platform"], "pushed_at": "2024-06-18T14:08:36+00:00", "repo": "andrejbauer/plzoo", "stars": 1592, "tags": ["miniature-languages", "language-implementation", "ocaml", "type-checking", "lexing", "parsing"], "topics": [], "urls": [], "use_cases": ["learn how to implement a programming language", "study interpreter design techniques", "see examples of lexing and parsing in OCaml", "understand type checking implementations", "find a starting point for building my own language", "learn compiler fundamentals with small codebases"], "what_it_is": "The Programming Languages Zoo is a collection of miniature programming language implementations in OCaml demonstrating techniques for building interpreters, parsers, and type checkers. It serves as an educational starting point for people who want to implement their own programming language.", "when_to_avoid": ["you need a production-ready language or toolchain", "you want a general-purpose parser generator or compiler framework", "you need a tutorial in a language other than OCaml"], "when_to_choose": ["you want to learn programming language implementation from small, readable examples", "you prefer OCaml as an implementation language", "you want reference implementations of classic language features like type inference or evaluation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/plzoo", "repo": "andrejbauer/plzoo", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:54:39.997571+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1431abe9830ddb174d5d37c3899d5de76d20300c92614fa5460f4ae9ed654165", "fetched_at": "2026-08-28T04:05:08.815413+00:00", "kind": "readme", "missing": false, "url": "https://github.com/andrejbauer/plzoo"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:54:39.997571+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1431abe9830ddb174d5d37c3899d5de76d20300c92614fa5460f4ae9ed654165", "fetched_at": "2026-08-28T04:05:08.815413+00:00", "kind": "readme", "missing": false, "url": "https://github.com/andrejbauer/plzoo"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:54:39.997571+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1431abe9830ddb174d5d37c3899d5de76d20300c92614fa5460f4ae9ed654165", "fetched_at": "2026-08-28T04:05:08.815413+00:00", "kind": "readme", "missing": false, "url": "https://github.com/andrejbauer/plzoo"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:54:39.997571+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1431abe9830ddb174d5d37c3899d5de76d20300c92614fa5460f4ae9ed654165", "fetched_at": "2026-08-28T04:05:08.815413+00:00", "kind": "readme", "missing": false, "url": "https://github.com/andrejbauer/plzoo"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:54:39.997571+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1431abe9830ddb174d5d37c3899d5de76d20300c92614fa5460f4ae9ed654165", "fetched_at": "2026-08-28T04:05:08.815413+00:00", "kind": "readme", "missing": false, "url": "https://github.com/andrejbauer/plzoo"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:54:39.997571+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1431abe9830ddb174d5d37c3899d5de76d20300c92614fa5460f4ae9ed654165", "fetched_at": "2026-08-28T04:05:08.815413+00:00", "kind": "readme", "missing": false, "url": "https://github.com/andrejbauer/plzoo"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.815413+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:54:39.997571+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1431abe9830ddb174d5d37c3899d5de76d20300c92614fa5460f4ae9ed654165", "fetched_at": "2026-08-28T04:05:08.815413+00:00", "kind": "readme", "missing": false, "url": "https://github.com/andrejbauer/plzoo"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:54:39.997571+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1431abe9830ddb174d5d37c3899d5de76d20300c92614fa5460f4ae9ed654165", "fetched_at": "2026-08-28T04:05:08.815413+00:00", "kind": "readme", "missing": false, "url": "https://github.com/andrejbauer/plzoo"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:54:39.997571+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1431abe9830ddb174d5d37c3899d5de76d20300c92614fa5460f4ae9ed654165", "fetched_at": "2026-08-28T04:05:08.815413+00:00", "kind": "readme", "missing": false, "url": "https://github.com/andrejbauer/plzoo"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:54:39.997571+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1431abe9830ddb174d5d37c3899d5de76d20300c92614fa5460f4ae9ed654165", "fetched_at": "2026-08-28T04:05:08.815413+00:00", "kind": "readme", "missing": false, "url": "https://github.com/andrejbauer/plzoo"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4760, "days_push": 806, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}