Skip to content

Instantly share code, notes, and snippets.

View demicuz's full-sized avatar
🤖
beep boop

Denis Mazurak demicuz

🤖
beep boop
View GitHub Profile
@devn
devn / recursive-transient-persistent-transform.clj
Last active December 5, 2022 15:02
Recursively transform a nested map into transients, and then back to persistents
(require '[clojure.walk :as walk])
;; => nil
(defn transient? [x]
(instance? clojure.lang.ITransientCollection x))
;; => #'user/transient?
(let [transients (walk/postwalk (fn [x]
(if (map? x)
(transient x)
@bkaradzic
bkaradzic / orthodoxc++.md
Last active July 5, 2024 10:46
Orthodox C++

Orthodox C++

What is Orthodox C++?

Orthodox C++ (sometimes referred as C+) is minimal subset of C++ that improves C, but avoids all unnecessary things from so called Modern C++. It's exactly opposite of what Modern C++ suppose to be.

Why not Modern C++?

@joinr
joinr / forfold.clj
Created August 25, 2018 02:32
for/fold from racket interpreted to clojure
(ns forfold)
;;From racket example
;;https://docs.racket-lang.org/reference/for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%2Ffold%29%29
;; (for/fold ([acc '()]
;; [seen (hash)]
;; #:result (reverse acc))
;; ([x (in-list '(0 1 1 2 3 4 4 4))])
;; (cond
;; [(hash-ref seen x #f)