I hereby claim:
- I am chouser on github.
- I am chouser (https://keybase.io/chouser) on keybase.
- I have a public key whose fingerprint is 2835 9367 72DD 2F1C BBCF BBED 94AE 902B F718 ED2A
To claim this, I am signing this object:
(ns n01se.externs-for-cljs | |
(:require [clojure.java.io :as io] | |
[cljs.compiler :as comp] | |
[cljs.analyzer :as ana])) | |
(defn read-file [file] | |
(let [eof (Object.)] | |
(with-open [stream (clojure.lang.LineNumberingPushbackReader. (io/reader file))] | |
(vec (take-while #(not= % eof) | |
(repeatedly #(read stream false eof))))))) |
; In England the currency is made up of pound, £, and pence, p, and | |
; there are eight coins in general circulation: | |
; | |
; 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) and £2 (200p). | |
; | |
; It is possible to make £2 in the following way: | |
; | |
; 1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p | |
; | |
; How many different ways can £2 be made using any number of coins? |
(ns party.units | |
(:refer-clojure :exclude [+ - * /]) | |
(:require [clojure.algo.generic.arithmetic :as ari :use [+ - * /]] | |
[clojure.algo.generic.math-functions :refer [pow]] | |
[clojure.repl :refer [doc source apropos dir find-doc]])) | |
(defrecord Measurement [sym factor units] | |
clojure.lang.IFn | |
(invoke [a b] (* a b))) |
I hereby claim:
To claim this, I am signing this object:
(require '[clojure.spec :as spec] | |
'[clojure.walk :refer [prewalk]]) | |
;; == Attempt 1 | |
;; Unfortunately entagled with 'reduce': | |
(defmacro reduce-query [& args] | |
(let [m (spec/conform | |
(spec/cat :q (spec/spec | |
(spec/cat :q #(= :q %) |
(ns foo | |
(:import (java.util Properties) | |
javax.mail.internet.MimeMessage | |
(javax.mail.internet MimeMessage InternetAddress) | |
(javax.mail Session Transport Authenticator | |
PasswordAuthentication Message$RecipientType))) | |
(defn send-gmail [{:keys [from to subject text user password]}] | |
(let [auth (proxy [Authenticator] [] | |
(getPasswordAuthentication [] |
(require '[clojure.reflect :as r]) | |
(defn arg-counts [f] | |
(let [mems (:members (r/reflect f))] | |
{:args (set (map #(count (:parameter-types %)) | |
(filter #(= 'invoke (:name %)) mems))) | |
:varargs-ge (some #(when (= 'doInvoke (:name %)) | |
(dec (count (:parameter-types %)))) | |
mems)})) |
(ns n01se.citystate) | |
(defn vitality | |
"Vitality of city." | |
[city]) | |
(defn owner | |
"Owning city. None is returned if no owner exists." | |
[city]) |
;; As originally posted, circa July 2009: http://web.archive.org/web/20110919081924/http://paste.lisp.org/display/83647 | |
(def *iderefs* #{}) | |
(defmethod print-method clojure.lang.IDeref [o #^Writer w] | |
(if (*iderefs* o) | |
(.write w (format "#<%s@%x>" | |
(.getSimpleName (class o)) | |
(System/identityHashCode o))) | |
(binding [*iderefs* (conj *iderefs* o)] |
;;** Multi-thread stochastic bubble sort ** | |
;; an example of how to use refs | |
(defn fizzy-sort-init [coll] | |
(mapv #(ref (vector %)) coll)) | |
(defn fizzy-sort-step [refs] | |
(let [i (rand-int (dec (count refs))) | |
[a b] (map #(nth refs %) (iterate inc i)) | |
[a-val b-val] (map #(peek (deref %)) [a b])] |