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 composes and splits queues using prelude-ls list transforms (reverse, slice/take/drop, splitAt, concat/concatMap/flatten) rather than manual array manipulation. Emphasis is on applying the library to trim sections, flatten results, and pivot-split queues immutably.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Trim with take/drop",
"description": "Implements per-section trimming by chaining prelude-ls `drop` (or `slice` equivalent) with `take` to honor the options, instead of manual indexing or mutating loops.",
"max_score": 30
},
{
"name": "Flatten concat",
"description": "Builds the composed queue via prelude-ls concatenation helpers (`concat`, `concatMap`, and/or `flatten`) to merge processed sections in order, avoiding manual pushes or nested loops.",
"max_score": 25
},
{
"name": "Tail reversal",
"description": "Uses prelude-ls `splitAt` (or `slice` plus `splitAt`) with `reverse` to isolate and invert only the final `reverseTailCount` items, leaving the leading portion untouched.",
"max_score": 20
},
{
"name": "Pivot split helper",
"description": "Implements the helper using prelude-ls `splitAt` (or equivalent library slicing) to return `[before, after]` without altering the original queue.",
"max_score": 15
},
{
"name": "Immutable by library",
"description": "Relies on prelude-ls list utilities (e.g., `take`, `drop`, `concat`, `flatten`, `reverse`) to keep inputs unchanged, avoiding native in-place methods like `push`, `splice`, or `reverse`.",
"max_score": 10
}
]
}