As easy as 1, 2, 3!
Updated:
- Aug, 08, 2022 update
configdocs for npm 8+ - Jul 27, 2021 add private scopes
- Jul 22, 2021 add dist tags
- Jun 20, 2021 update for
--access=public - Sep 07, 2020 update docs for
npm version
| ;; www.Quanto.ga | |
| ;; | |
| ;; cp/upmap is from https://github.com/TheClimateCorporation/claypoole | |
| quantataraxia.core> (do | |
| (println "MAP:") | |
| (println (time (doall (map (fn [x] (Thread/sleep x) x) | |
| (range 500 50 -9))))) | |
| (println "PMAP:") |
| ;; Performance of with-local-vars vs. atom vs. volatile vs. unsynchronized-mutable field. | |
| (definterface IOObject | |
| (setVal [new-val]) | |
| (getVal []) | |
| (oswap [f]) | |
| (oswap [f x]) | |
| (oswap [f x y]) | |
| (oswap [f x y z])) |
| ;; I keep forgetting how to do this stuff for some reason, so here goes: | |
| (let [c (async/chan 1 (map #(* % 2)))] | |
| (async/go | |
| (loop [] | |
| (when-let [e (async/<! c)] | |
| (println "async/go, e:" e) | |
| (recur)))) | |
| (async/>!! c 1) | |
| (async/>!! c 2)) |
| (let [f (future | |
| (try | |
| (Thread/sleep 10000) | |
| (catch Throwable e | |
| (println e) | |
| (println "isInterrupted:" (.isInterrupted (Thread/currentThread))) | |
| (println "isAlive:" (.isAlive (Thread/currentThread))) | |
| (println "interrupted:" (Thread/interrupted)))))] | |
| (Thread/sleep 500) | |
| (future-cancel f) |
| ;; This stuff is pretty useful in many contexts. | |
| ... | |
| (:import (com.google.common.cache CacheBuilder CacheLoader)) | |
| ... | |
| quantataraxia.core> (with (-> (CacheBuilder/newBuilder) | |
| (.weakKeys) |