DOCS v0.1.13 github

@hatch:fp v0.1.1

Fluent + functional collection operations — map / filter / reduce / flatMap / groupBy / partition / zip / sortBy / scan / chunked / windowed / distinct and the usual suspects.

stable data updated May 1, 2026 source ↗
README
$ hatch add @hatch:fp

MOD fp

CL FP

FN FP.static identity

FN FP.static constant(value)

FN FP.static noop

FN FP.static repeat(value, n)

FN FP.static generate(n, fn)

FN FP.static filter(seq, fn)

FN FP.static flatMap(seq, fn)

FN FP.static tap(seq, fn)

FN FP.static groupBy(seq, keyFn)

FN FP.static partition(seq, pred)

FN FP.static chunked(seq, n)

FN FP.static windowed(seq, size)

FN FP.static windowed(seq, size, step)

FN FP.static zip(a, b)

FN FP.static zipWith(a, b, fn)

FN FP.static unzip(pairs)

FN FP.static withIndex(seq)

FN FP.static sorted(seq)

FN FP.static sortedWith(seq, cmp)

FN FP.static sortedBy(seq, keyFn)

FN FP.static sortedByDesc(seq, keyFn)

FN FP.static scan(seq, init, fn)

FN FP.static takeWhile(seq, pred)

FN FP.static dropWhile(seq, fn)

FN FP.static distinct(seq)

FN FP.static distinctBy(seq, keyFn)

FN FP.static first(seq)

FN FP.static firstWhere(seq, pred)

FN FP.static last(seq)

FN FP.static lastWhere(seq, pred)

FN FP.static min(seq)

FN FP.static max(seq)

FN FP.static minBy(seq, keyFn)

FN FP.static maxBy(seq, keyFn)

FN FP.static sum(seq)

FN FP.static sumBy(seq, fn)

FN FP.static concat(a, b)

FN FP.static reversed(seq)

FN FP.static toMap(seq, fn)

CL Pipe

NEW Pipe.of(seq)

GET Pipe.unwrap

GET Pipe.toList

GET Pipe.sum

GET Pipe.count

GET Pipe.first

GET Pipe.last

GET Pipe.min

GET Pipe.max

GET Pipe.isEmpty

GET Pipe.sorted

GET Pipe.distinct

GET Pipe.reversed

GET Pipe.withIndex

FN Pipe.reduce(fn)

FN Pipe.reduce(init, fn)

FN Pipe.sumBy(fn)

FN Pipe.count(fn)

FN Pipe.first(fn)

FN Pipe.last(fn)

FN Pipe.minBy(fn)

FN Pipe.maxBy(fn)

FN Pipe.each(fn)

FN Pipe.any(fn)

FN Pipe.all(fn)

FN Pipe.contains(v)

FN Pipe.join()

FN Pipe.join(sep)

FN Pipe.toMap(fn)

FN Pipe.groupBy(fn)

FN Pipe.partition(fn)

FN Pipe.map(fn)

FN Pipe.where(fn)

FN Pipe.filter(fn)

FN Pipe.take(n)

FN Pipe.skip(n)

FN Pipe.flatMap(fn)

FN Pipe.tap(fn)

FN Pipe.chunked(n)

FN Pipe.windowed(n)

FN Pipe.windowed(n, step)

FN Pipe.sortedBy(fn)

FN Pipe.sortedByDesc(fn)

FN Pipe.sortedWith(cmp)

FN Pipe.takeWhile(fn)

FN Pipe.dropWhile(fn)

FN Pipe.distinctBy(fn)

FN Pipe.concat(other)

FN Pipe.zip(other)

FN Pipe.zipWith(other, fn)