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) // true
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
Find Data.struct and equality patterns
grep -F "Data.struct" docs/effect-source/effect/src/Data.ts grep -F "Data.tuple" docs/effect-source/effect/src/Data.ts
Find Chunk operations
grep -F "export" docs/effect-source/effect/src/Chunk.ts | grep -F "function"
Study HashSet API
grep -F "export" docs/effect-source/effect/src/HashSet.ts | grep -F "function"
Find Equal implementation
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
-
Agent Skills overview: https://www.anthropic.com/news/skills
-
Skills guide: https://docs.claude.com/en/docs/claude-code/skills