Package Index¶
Complete index of all packages in the Epsilon system.
Package Hierarchy¶
Epsilon organizes functionality into a hierarchical package structure:
epsilon
├── lib/ # Core library functions
├── sys/ # System-level utilities
├── net/ # Network protocols
└── tool/ # Development tools
Core Library (epsilon.*)¶
Data Structures¶
epsilon.map- Immutable maps (HAMT implementation)epsilon.sequence- Lazy sequences with functional operationsepsilon.set- Immutable sets based on HAMTepsilon.list- Extended list operations and utilitiesepsilon.vector- Vector operations and bounds checkingepsilon.collect- Collection macros for efficient list building
Data Encoding/Decoding¶
epsilon.json- JSON parsing and generation with Unicode supportepsilon.yaml- YAML document processingepsilon.base64- Base64 encoding and decodingepsilon.hex- Hexadecimal string conversionepsilon.msgpack- MessagePack binary serialization
Cryptography & Hashing¶
epsilon.digest- SHA-2 family hash functions (SHA-224, SHA-256, SHA-384, SHA-512)epsilon.checksum- CRC-32 and Adler-32 checksums
Text & String Processing¶
epsilon.string- String manipulation and utilitiesepsilon.character- Character operations and Unicode supportepsilon.regex- Regular expression matching and replacement
Utilities¶
epsilon.time- Time and date utilitiesepsilon.uuid- UUID generation and parsingepsilon.uri- URI parsing, construction, and manipulationepsilon.reader- Enhanced reader macros and syntax
System Utilities (epsilon.sys.*)¶
Threading & Concurrency¶
epsilon.sys.thread- Threading primitives and thread poolsepsilon.sys.lock- Synchronization primitives (locks, semaphores)epsilon.sys.atomic- Atomic operations and lock-free data structures
Filesystem¶
epsilon.sys.fs- Filesystem operations and path manipulationepsilon.sys.file- File I/O utilities and streamingepsilon.sys.path- Path construction and resolution
Environment & System¶
epsilon.sys.env- Environment variable access and managementepsilon.sys.process- Process creation and managementepsilon.sys.signal- Signal handlingepsilon.sys.gc- Garbage collection controls and monitoring
Package System¶
epsilon.sys.package- Package utilities and introspectionepsilon.sys.asdf- ASDF integration (when available)
Network Protocols (epsilon.net.*)¶
Core Networking¶
epsilon.net.core- Low-level networking primitivesepsilon.net.socket- Socket operations and managementepsilon.net.dns- DNS resolution and caching
HTTP¶
epsilon.net.http- Complete HTTP client and server implementationepsilon.net.client- HTTP client with connection poolingepsilon.net.server- HTTP server with request routingepsilon.net.middleware- HTTP middleware for common operations
Security¶
epsilon.net.tls- TLS/SSL support for secure connectionsepsilon.net.auth- Authentication and authorization utilities
Development Tools (epsilon.tool.*)¶
Build System¶
epsilon.tool.build- Dependency-tracking build systemepsilon.tool.dependency- Dependency analysis and resolutionepsilon.tool.hash- Content hashing for incremental builds
Testing Framework¶
epsilon.tool.test- Test definition and execution frameworkepsilon.tool.assert- Assertion macros and utilitiesepsilon.tool.mock- Test doubles and mockingepsilon.tool.fixture- Test fixtures and setup utilities
Performance & Analysis¶
epsilon.tool.bench- Benchmarking framework with statistical analysisepsilon.tool.profile- Performance profiling utilitiesepsilon.tool.metric- Metrics collection and reporting
Code Quality¶
epsilon.tool.format- Code formatting and pretty-printingepsilon.tool.lint- Static analysis and lintingepsilon.tool.doc- Documentation generationepsilon.tool.check- Type checking and validation
Package Conventions¶
Naming Patterns¶
- Predicates: End with
-p(e.g.,empty-p,valid-p) - Constructors: Often start with
make-(e.g.,make-map) - Converters: Use
from-/to-or->patterns - Constants: Use
+constant-name+convention
Local Nicknames¶
All packages define local nicknames for dependencies:
(defpackage #:epsilon.map
(:use #:common-lisp)
(:local-nicknames
(#:collect #:epsilon.collect)
(#:hash #:epsilon.hash))
(:export ...))
Export Patterns¶
- Core functions: Always exported
- Implementation details: Not exported
- Utilities: Exported if generally useful
- Constants: Exported with
+name+convention
Integration Guidelines¶
Package Dependencies¶
- Core packages depend only on other core packages
- System packages may depend on core packages
- Network packages depend on core and system packages
- Tool packages may depend on any other packages
Local Nickname Usage¶
(defpackage #:my-package
(:use #:common-lisp)
(:local-nicknames
(#:map #:epsilon.map)
(#:seq #:epsilon.sequence)
(#:json #:epsilon.json)))
(in-package #:my-package)
;; Clean, readable code
(map:get my-map :key)
(seq:map #'process data)
(json:encode object)
Shadowing Imports¶
Some packages shadow Common Lisp symbols:
;; epsilon.map shadows: map, reduce, count
;; epsilon.sequence shadows: map, reduce, count, remove
;; epsilon.list shadows: remove, delete
;; Access original CL functions with cl: prefix when needed
(cl:map 'list #'identity my-list)
Package Documentation¶
Each package includes: - Docstring describing purpose and scope - Usage examples in package-level documentation - Function documentation for all exported symbols - Integration guide showing usage with other packages
For detailed API documentation, see API Reference or use the documentation generator.