Skip to content

Instantly share code, notes, and snippets.

@rboyd
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rboyd/9786682 to your computer and use it in GitHub Desktop.
Save rboyd/9786682 to your computer and use it in GitHub Desktop.
lazy-seq over fressian objects
(ns fressian-util
(:require [clojure.java.io :as io]
[clojure.data.fressian :as fress]))
(defn lazy-fressian-objects [file]
(letfn [(helper [rdr]
(lazy-seq
(if-let [is-avail (> (.available rdr) 0)]
(cons (fress/read-object (fress/create-reader rdr)) (helper rdr))
(do (.close rdr) nil))))]
(helper (io/input-stream file))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment