Find it here: https://github.com/bitemyapp/learnhaskell
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns reagent-test.core | |
(:require [reagent.core :as reagent :refer [atom]] | |
[datascript :as d] | |
[cljs-uuid-utils :as uuid])) | |
(enable-console-print!) | |
(defn bind | |
([conn q] | |
(bind conn q (atom nil))) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defmacro let-map | |
"Creates a hash-map which can refer to the symbols of the names of the keys | |
declared above." | |
[& kvs] | |
(assert (even? (count kvs))) | |
(let [ks (take-nth 2 kvs) | |
sym-ks (map (comp symbol name) ks) | |
vs (take-nth 2 (rest kvs))] | |
`(let ~(vec (interleave sym-ks vs)) | |
~(apply hash-map (interleave ks sym-ks))))) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
vagrant@precise64:~$ irb | |
1.9.3-p484 :002 > require "riemann" | |
=> true | |
# Activate maintenance-mode: | |
1.9.3-p484 :010 > Riemann::Client.new << {service: "maintenance-mode", host: "precise64", state: "active", ttl: Float::INFINITY} | |
=> nil | |
# Deactivate maintenance-mode: | |
1.9.3-p484 :011 > Riemann::Client.new << {service: "maintenance-mode", host: "precise64", state: nil, ttl: Float::INFINITY} | |
=> nil |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns my-cljs.macros.debug | |
(:require [cljs.analyzer :as cljs] | |
clojure.walk)) | |
(declare ap | |
cljs-macroexpand* | |
cljs-macroexpand-1* | |
cljs-macroexpand-all* | |
cljs-macroexpand |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(use 'clojure.core.async) | |
(defprotocol ISendable | |
(channel [this])) | |
(defn async-agent [state] | |
(let [c (chan Long/MAX_VALUE) ;; <<-- unbounded buffers are bad, but this matches agents | |
a (atom state)] | |
(go-loop [] | |
(when-let [[f args] (<! c)] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(def adjectives [ | |
"adorable" | |
"adventurous" | |
"aggressive" | |
"alert" | |
"attractive" | |
"average" | |
"beautiful" | |
"blue-eyed " | |
"bloody" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns typed-datomic.types | |
(:use [clojure.core.typed]) | |
(:import [clojure.lang Keyword Symbol] | |
[java.util Date])) | |
;; Type aliases | |
; Marker protocol to distinguish historical databases | |
(ann-protocol HistoryDB) | |
(defprotocol> HistoryDB) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns blog.errors.core | |
(:require-macros | |
[cljs.core.async.macros :refer [go]] | |
[blog.utils.macros :refer [<?]]) | |
(:require | |
[cljs.core.async :refer [>! <! chan close!]])) | |
;; convert Node.js async function into a something | |
;; that returns a value or error on a channel | |
(defn run-task [f & args] |