docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates how well the solution applies prelude-ls recursion and caching helpers to implement the memoized staircase counter. Scoring emphasizes correct use of `fix` for the recurrence and `memoize` for cache behavior rather than general code quality.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Fix-based recurrence",
"description": "The recursive step-counting logic is structured with prelude-ls `fix`, avoiding direct self-reference while threading the configured `maxJump` through the fixed-point combinator.",
"max_score": 35
},
{
"name": "Memoize wrapper",
"description": "Computed step totals are cached via prelude-ls `memoize` (or the package-level equivalent), wrapping the recurrence so identical inputs reuse stored values rather than recalculating.",
"max_score": 30
},
{
"name": "Cache hits",
"description": "Repeated calls such as `countWays(7)` demonstrably hit the `memoize` cache (no additional recurrence evaluations or loops), aligning with the `getEvaluations` contract.",
"max_score": 15
},
{
"name": "Cache reset",
"description": "`clearCache` restores a fresh `memoize` cache (e.g., by reinstantiating the memoized function) so subsequent calls recompute and then store new entries.",
"max_score": 10
},
{
"name": "Package import",
"description": "The solution imports `fix` and `memoize` directly from prelude-ls (or its namespaced exports) instead of reimplementing equivalent behavior.",
"max_score": 10
}
]
}