Implement persistent data structures
- Dominant language
- Hy
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Create implementations for persistent (immutable) data structures:
## Basic persistent data structures:
- Persistent linked lists
- Persistent stacks
- Persistent queues
- Persistent arrays
- Path copying for persistence
## Advanced persistent data structures:
- Persistent binary search trees
- Persistent red-black trees
- Persistent hash maps (HAMT)
- Confluently persistent data structures
- Fat nodes
- Path copying vs. path splitting vs. fat nodes
## Applications:
- Functional programming paradigms
- Version control systems
- Undo/redo functionality
- Concurrent data access
- Backtracking algorithms
## Requirements:
- Provide space and time complexity analysis
- Include memory usage comparisons
- Create test cases demonstrating persistence
- Document use cases and design patterns
This collection will demonstrate data structures that preserve previous versions when modified, which enables powerful programming patterns, particularly in functional programming contexts.
Contributor guide
Assessment
This issue has not been assessed yet.