Data.Fressian
summary
Fressian is an extensible binary data format with a Java reference impl plus C and now an idiomatic Clojure wrapper called data.fressian; it supports domain-aware caching that typically halves encoded size versus generic approaches (realistic ~2×, sometimes much more), packed encodings for small integers (0–63 in one byte), streaming with 64k chunks to bound memory, extensible tagged handlers with a fallback tagged object representation, and Clojure-friendly round trips for keywords, symbols, bigints and records.
AI-written summary · about
chapters (26)
- 0:00Intro
- 1:38genesis
- 4:23not serialization...
- 5:34data encoding
- 8:11edn is like fressian...
- 11:26fressian performance
- 13:29sufficiency, then efficiency
- 19:19efficiency tricks
- 21:16basics
- 21:56streaming
- 22:48new types in terms of old
- 23:29primitives
- 24:12understanding is optional
- 25:08domain level caching
- 28:13caching example
- 30:14simple and easy
- 31:09handling Clojure types
- 33:42defrecord write handler
- 34:07defrecord read handler
- 35:41extending data.fressian
- 36:05extension example
- 37:41byte code overview
- 38:02packed representations
- 38:23chunked representations
- 38:45help wanted
- 41:30resources
related talks
27mData and Clojure: Using Clojure for more than software development
01h 15mEffective Programs - 10 Years of Clojure
39mSharing Data, hiding Complexity (with Clojure and RDF)
38mScientific Clojure, a bird's eye view
45mPersistent Data Structures for Special Occasions
34mClojure by neophyte
43mDoing Data Science with Clojure
31mScientific Computing with Clojure
