CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-prelude-ls

A functionally oriented utility library for LiveScript with curried functions for lists, objects, strings, numbers, and function composition.

89

1.53x
Overview
Eval results
Files

rubric.jsonevals/scenario-1/

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

Install with Tessl CLI

npx tessl i tessl/npm-prelude-ls

tile.json