An educational pure functional programming library in TypeScript
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Release v0.1.0-alpha.13

+14 -1
+13
CHANGELOG.md
··· 2 2 3 3 All notable changes to this project will be documented in this file. 4 4 5 + ## [0.1.0-alpha.13] - 2026-03-19 6 + 7 + ### Added 8 + 9 + - **Optics module** (`src/optics/`) — composable, law-abiding immutable data accessors 10 + - **Lens** — focus on a value that always exists (`view`, `set`, `over`, `prop`) 11 + - **Prism** — focus on a sum type variant (`preview`, `review`) 12 + - **Optional** — focus that may be absent (`getOption`, `setOptional`, `modifyOptional`, `index`) 13 + - **Traversal** — focus on many values (`getAll`, `modifyTraversal`, `each`) 14 + - **Type-safe `compose`** — 16 overloads enforcing composition rules (Lens+Lens=Lens, Lens+Prism=Optional, etc.) 15 + - **Bridges** — pre-built optics for Result (`okPrism`, `errPrism`), Option (`somePrism`), Validation (`validPrism`), arrays (`eachTraversal`) 16 + - **44 law-based tests** verifying get-set, set-get, set-set, preview-review, and review-preview laws 17 + 5 18 ## [0.1.0-alpha.12] - 2026-02-28 6 19 7 20 ### Fixed
+1 -1
package.json
··· 1 1 { 2 2 "name": "purus-ts", 3 - "version": "0.1.0-alpha.12", 3 + "version": "0.1.0-alpha.13", 4 4 "description": "Pure TypeScript effect system with fiber-based concurrency, brands, refinements, and pattern matching", 5 5 "type": "module", 6 6 "main": "./dist/index.js",