or run

npx @tessl/cli init
Log in

Version

Files

docs

function-utilities.mdindex.mdlist-operations.mdmathematical-operations.mdobject-operations.mdstring-processing.md
tile.json

rubric.jsonevals/scenario-3/

{
  "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
    }
  ]
}