Skip to content

Instantly share code, notes, and snippets.

View user.clj
(ns user
(:require [schema.core :as s]
[schema.utils :as s-utils]))
(defn filter-walker
"Creates a walker which replaces sub-trees in values of maps with nil
if they do not conform to schema."
[schema]
(s/start-walker
(fn [schema]
@tgk
tgk / data.tsv
Created Jul 21, 2014
Adapted line chart
View data.tsv
date close
1-May-12 0.114
27-Apr-12 0.12
View gist:394443
(defn foo [bar] (:baz bar))
View gist:397022
(defn converging-seq
"Generates a sequence with terminates when two successive elements
from coll are identical.
(converged-seq [1 2 3 4 4 5 6]) => [1 2 3 4]"
[coll]
(cons
(first coll)
(map second
(take-while (fn [[prev curr]] (not (= prev curr)))
(partition 2 1 coll)))))
View converging.clj
(defn converging-seq
[coll]
(for [[x y] (partition 2 1 (cons ::not-an-element coll)) :while (not (= x y))] y))
(defn converging-seq2
[[x y & tl]]
(cond (nil? x) []
(nil? y) [x]
(= x y) [x]
:else (lazy-seq (cons x (converging-seq2 (cons y tl))))))
View gist:406368
(todo
"I'm not sure this function looks as nice as it could"
(defn converging-seq
"Generates a sequence with terminates when two succent elements
from coll are identical.
(converged-seq [1 2 3 4 4 5 6]) => [1 2 3 4]"
[coll]
(cons
(first coll)
(map second
View gist:407456
(def todo-log (ref []))
(defn save-code-and-snippet [comment code-str]
(dosync (alter todo-log conj [comment code-str])))
(defmacro todo
[comment form]
(do
(save-code-and-snippet comment (str form))
form))
View gist:411683
(defmacro todo
"Annotates a form with a comment for later review.
Adds the comment and the form to the batch of todos, which
can be revied later using todo-summary."
[comment & more]
(do
(save-code-and-snippet comment (apply
#(with-out-str pprint %) more))
`(do ~@more)))
View gist:478042
(ns penumbra-fail
(:use [penumbra opengl])
(:require [penumbra.app :as app]
[penumbra.text :as text]))
(defn display [[delta time] state]
(text/write-to-screen "hello world" 0 0))
(defn view-text [& args]
(app/start {:display display} {}))
View gist:478049
(defproject penumbra-fail "1.0.0-SNAPSHOT"
:description "FIXME: write"
:dependencies [[org.clojure/clojure "1.1.0"]
[org.clojure/clojure-contrib "1.1.0"]
[penumbra "0.5.0"]]
:native-dependencies [[lwjgl "2.2.2"]]
:dev-dependencies [[lein-run "1.0.0-SNAPSHOT"]
[native-deps "1.0.0"]])