| name | effect-collections-datastructs |
| description | Value-based data structures (Data.struct, tuple, array) and high-performance collections (Chunk, HashSet). Use for safe comparisons and pipelines. |
| allowed-tools | Read, Grep, Glob, Edit, Write |
Data Structures & Collections
Structural Equality
import { Data, Equal } from "effect"
const a = Data.struct({ id: 1, name: "A" })
const b = Data.struct({ id: 1, name: "A" })
Equal.equals(a, b)
Tuples & Arrays
const t = Data.tuple(1, "x")
const arr = Data.array([1,2,3])
Chunk
import { Chunk } from "effect"
const items = Chunk.fromIterable([1,2,3])
HashSet
import { HashSet } from "effect"
const set = HashSet.fromIterable([1,2,3])
Local Source Reference
CRITICAL: Search local Effect source before implementing
The full Effect source code is available at docs/effect-source/. Always search the actual implementation before writing Effect code.
Key Source Files
- Data:
docs/effect-source/effect/src/Data.ts
- Chunk:
docs/effect-source/effect/src/Chunk.ts
- HashSet:
docs/effect-source/effect/src/HashSet.ts
- Equal:
docs/effect-source/effect/src/Equal.ts
Example Searches
grep -F "Data.struct" docs/effect-source/effect/src/Data.ts
grep -F "Data.tuple" docs/effect-source/effect/src/Data.ts
grep -F "export" docs/effect-source/effect/src/Chunk.ts | grep -F "function"
grep -F "export" docs/effect-source/effect/src/HashSet.ts | grep -F "function"
grep -F "equals" docs/effect-source/effect/src/Equal.ts
Workflow
- Identify the collection API you need (e.g., Chunk, HashSet)
- Search
docs/effect-source/effect/src/ for the implementation
- Study the types and available operations
- Look at test files for usage examples
- Write your code based on real implementations
Real source code > documentation > assumptions
References