Skip to content

Instantly share code, notes, and snippets.

View hiredman's full-sized avatar

Kevin Downey hiredman

View GitHub Profile
(defonce ^Logger logger (doto (Logger/getLogger "clojure")
(.setUseParentHandlers false)
(.addHandler
(doto (ConsoleHandler.)
(.setLevel Level/ALL)
(.setFormatter
(proxy [SimpleFormatter] []
(format [^LogRecord record]
(let [sb (StringBuilder.)]
(.append sb "#:log{")
(do
(clojure.core.server/start-server
{:port 4567
:name "my-prepl"
:accept 'clojure.core.server/io-prepl})
(with-open [s (java.net.Socket. "localhost" 4567)
i (-> (.getInputStream s)
(set! *warn-on-reflection* true)
(defonce ref-ids (atom 0))
(declare ^java.util.concurrent.atomic.AtomicReferenceFieldUpdater ref-updater)
(deftype ARef [id
^:volatile-mutable value
offers]
clojure.lang.IDeref
Mar 19 03:16:39 circe systemd-oomd[483140]: Swap used (7642112000) / total (8489267200) is more than 90.00%
Mar 19 03:16:39 circe systemd[253067]: dbus-:1.2-org.freedesktop.secrets@0.service: Deactivated successfully.
Mar 19 03:16:39 circe systemd[1]: session-5.scope: systemd-oomd killed 1185 process(es) in this unit.
Mar 19 03:16:39 circe systemd-logind[1041]: Session 5 logged out. Waiting for processes to exit.
thursday=> (info "foo")
#:log{:z "2021-03-02T19:12:51.470Z" :v :info :n thursday :l 1 :m "foo"}
nil
thursday=> (info "foo" {::a 1})
#:log{:z "2021-03-02T19:13:06.505Z" :v :info :n thursday :l 1 :m "foo" :thursday/a 1}
nil
thursday=> (info "foo" (Exception.))
#:log{:z "2021-03-02T19:15:19.396Z" :v :info :n thursday :l 1 :m "foo" :thrown
#error {
:cause nil
(require '[clojure.tools.namespace.find :as find]
'[clojure.java.io :as io])
(defn infer-deps
"Given an m2 (a maven repo) and a directory of clojure source code,
make up some dependencies."
[m2 src]
(let [repo (io/file m2 "repository")]
{:deps
(into
(ns com.manigfeald.http2.cont)
(defn bind% [m f]
(fn [kont bundle]
(m (fn [value] ((f value) kont bundle)) bundle)))
(defmacro return% [value]
`(fn [kont# bundle#]
((try
(let [v# ~value]
(require '[clojure.core.async :as async])
(defn swim [me in out rtt announcements seed f]
(when seed
(async/put! out {:op :ping :from me :to seed}))
(async/go-loop [s {}]
(let [[val chan] (async/alts!
(cons in (for [[_ v] s :when (:chan v)] (:chan v))))
to (fn []
(async/go
(defn topo [graph]
(when-not (empty? graph)
(lazy-seq
(let [n (first (for [[node s] graph
:when (not (seq s))]
node))]
(assert n "if this fails there is a cycle")
(cons n (topo (into {} (for [[node deps] graph
:when (not= n node)]
[node (dissoc deps n)]))))))))
(require '[clojure.core.async.impl.protocols :as impl]
'[clojure.core.async.impl.dispatch :as dispatch])
;;=> nil
(extend-type java.util.concurrent.CompletionStage
impl/ReadPort
(take! [this handler]
(.whenCompleteAsync this
(reify