docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates whether the solution leverages prelude.ls argument helpers to satisfy the spec: applying argument arrays, curried label assembly, swapped binary invocation, projection-aware maximum selection, and typed replication safeguards.",
"type": "weighted_checklist",
"checklist": [
{
"name": "apply usage",
"description": "`invokeFromList` uses prelude.ls `apply` to call the target function with the provided array, avoiding manual spreading or bespoke loops.",
"max_score": 20
},
{
"name": "curry usage",
"description": "`makeLabeler` is built with prelude.ls `curry` so it accepts all arguments at once or through staged partial calls while producing the expected string.",
"max_score": 20
},
{
"name": "flip usage",
"description": "`swapThenCombine` relies on prelude.ls `flip` (or its equivalent root export) to reverse the first two inputs before forwarding any remaining arguments to the combiner.",
"max_score": 15
},
{
"name": "over projection",
"description": "Selection of the maximum item in `projectedMaxRepeater` applies the projector to both candidates via prelude.ls `over`, rather than manual mapping, before comparing and preserving tie order.",
"max_score": 15
},
{
"name": "identity default",
"description": "When no projector is provided, the implementation defaults to prelude.ls `id` (identity) so raw values drive the comparison without extra wrapper logic.",
"max_score": 10
},
{
"name": "type guard",
"description": "Copy-count validation uses prelude.ls `is-type` (or its root alias) to reject non-numeric counts with a `TypeError` rather than ad-hoc typeof checks.",
"max_score": 10
},
{
"name": "replication",
"description": "The repeated output array in `projectedMaxRepeater` is produced with prelude.ls `replicate`, ensuring the winning item is duplicated the requested number of times without manual loops.",
"max_score": 10
}
]
}