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 leans on prelude.ls predicate-driven list slicing helpers to implement the four spec'd utilities without reimplementing the algorithms. Checks focus on correct delegation to take/drop/span/break behaviors with proper predicate handling and returned shapes.",
"type": "weighted_checklist",
"checklist": [
{
"name": "take-while",
"description": "collectWhile is built on prelude.ls take-while (or equivalent takeWhile export), using it directly to produce the longest leading run matching the predicate instead of manual loops.",
"max_score": 25
},
{
"name": "drop-while",
"description": "skipWhile delegates to prelude.ls drop-while (dropWhile) to remove the contiguous matching prefix and return the remaining items, avoiding hand-written iteration.",
"max_score": 25
},
{
"name": "span",
"description": "segmentWhile uses prelude.ls span to obtain both the matching prefix and remainder in one call, preserving the pair ordering `[matches, rest]` defined in the spec.",
"max_score": 25
},
{
"name": "break-list",
"description": "splitOnTrigger relies on prelude.ls break-list (breakList) to stop before the first predicate hit, returning `[leading, trailing]` exactly as the helper provides rather than reconstructing manually.",
"max_score": 25
}
]
}