Skip to content

epsilon.core Module

The core module provides fundamental functionality for functional programming in Common Lisp.

Package Groups

Data Structures

Immutable, functional data structures with structural sharing:

Data Encoding

Serialization and parsing for common data formats:

Cryptography

Hashing and checksum algorithms:

String Processing

Unicode-aware text manipulation:

System

Platform integration and system services:

Tools

Development and build utilities:

Design Principles

All packages in epsilon.core follow these principles:

  • Immutability: Data structures don't modify in place
  • Functional interfaces: Pure functions where possible
  • Structural sharing: Efficient memory usage through shared structure
  • Local nicknames: Clean integration with user code
  • No dependencies: Built only on SBCL primitives

Common Patterns

;; Local nicknames for clean syntax
(defpackage :my-app
  (:use :cl)
  (:local-nicknames
   (:map :epsilon.lib.map)
   (:seq :epsilon.lib.sequence)
   (:json :epsilon.lib.json)))

;; Functional data manipulation
(-> (map:make-map :users '("alice" "bob"))
    (map:assoc :timestamp (get-universal-time))
    (json:encode))