Skip to content

Instantly share code, notes, and snippets.

@stuartsierra
stuartsierra / project.clj
Last active August 29, 2015 13:57
Test G.Closure library release 0.0-20140226-71326067
;; Use this Leiningen project.clj file to test the new release of the
;; Google Closure library JARs, version 0.0-20140226-71326067
(defproject testproject "0.1.0-SNAPSHOT"
;; Add lein-cljsbuild or whatever else you use for ClojureScript
:dependencies [[org.clojure/clojure "1.5.1"]
[org.clojure/clojurescript "0.0-2173"
:exclusions [org.clojure/google-closure-library
@stuartsierra
stuartsierra / concat.org
Created April 4, 2014 20:44
Demonstrations of Clojure `concat` StackOverflow

Concat StackOverflow

Demonstrations of how clojure.core/concat can produce a StackOverflow.

Classic concat bomb

This is the most obvious case: A loop that builds up a sequence by concatenation.

@stuartsierra
stuartsierra / gist:c5866f95513070da7f06
Created December 8, 2014 17:14
Emacs error after evaluating form in CIDER (0.7) REPL
error in process filter: aref: Lisp nesting exceeds `max-lisp-eval-depth'
error in process filter: Lisp nesting exceeds `max-lisp-eval-depth'
error in process filter: aref: Lisp nesting exceeds `max-lisp-eval-depth'
error in process filter: Lisp nesting exceeds `max-lisp-eval-depth'
error in process filter: aref: Lisp nesting exceeds `max-lisp-eval-depth'
error in process filter: Lisp nesting exceeds `max-lisp-eval-depth'
error in process filter: aref: Lisp nesting exceeds `max-lisp-eval-depth'
error in process filter: Lisp nesting exceeds `max-lisp-eval-depth'
error in process filter: save-current-buffer: Variable binding depth exceeds max-specpdl-size
error in process filter: Variable binding depth exceeds max-specpdl-size
Clojure 1.2.0-master-SNAPSHOT
user=> (use 'com.stuartsierra.lazytest)
Warning: protocol #'com.stuartsierra.lazytest/TestInvokable is overwriting function invoke-test
Warning: protocol #'com.stuartsierra.lazytest/TestResult is overwriting function success?
nil
@stuartsierra
stuartsierra / clojure maven build 1
Created November 12, 2010 20:21
With clojure/test_clojure.clj included
[INFO] [clojure:testCompile {execution: test-compile-clojure}]
[DEBUG] Searching /Users/stuart/src/clojure/clojure/src/test/clojure/clojure for clojure namespaces
[DEBUG] Searching /Users/stuart/src/clojure/clojure/src/test/clojure/clojure/test_clojure for clojure namespaces
[DEBUG] Searching /Users/stuart/src/clojure/clojure/src/test/clojure/clojure/test_clojure/agents.clj for clojure namespaces
[DEBUG] Found namespace clojure.test-clojure.agents in file /Users/stuart/src/clojure/clojure/src/test/clojure/clojure/test_clojure/agents.clj
....
[DEBUG] Java exectuable used: java
[DEBUG] Clojure classpath: /Users/stuart/src/clojure/clojure/src/test/java:/Users/stuart/src/clojure/clojure/src/test/clojure:/Users/stuart/src/clojure/clojure/target/test-classes::/Users/stuart/src/clojure/clojure/target/test-classes:/Users/stuart/src/clojure/clojure/target/classes
@stuartsierra
stuartsierra / gist:716954
Created November 26, 2010 16:57
Local clojure.jar build profiles
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>org.clojure</groupId>
<artifactId>clojure</artifactId>
@stuartsierra
stuartsierra / resource.clj
Created March 4, 2011 20:32
Automatic Resource Cleanup with PhantomReferences
(ns resource
"Automatic resource cleanup."
(:import (java.lang.ref ReferenceQueue PhantomReference)))
(def ^:private queue (ReferenceQueue.))
(def ^:private cleanup-fns {})
(defn resource
"Returns a reference to x. At some point after the reference is
@stuartsierra
stuartsierra / accounts.clj
Created July 13, 2011 16:01
Accounts concurrency example in Clojure
;; An example of the "accounts" program for Venkat Subramaniam's
;; Programming Concurrency Workshop, part 1
;;
;; Original Java code by Venkat Subramaniam (@venkat_s)
;; available at http://www.agiledeveloper.com/downloads.html
;; under "Workshop: Programming Concurrency"
;;
;; This code example by Stuart Sierra (@stuartsierra)
;;
;; Überconf 2011, Denver, Colorado
@stuartsierra
stuartsierra / phone_code.clj
Created July 25, 2011 23:46
Phone number coding program in Clojure
;; Adapted from "An empirical comparison of C, C++, Java, Perl,
;; Python, Rexx, and Tcl for a search/string-processing program"
;; by Lutz Prechelt
;; This was a 15-minute effort while listening to a talk. It's *not*
;; well thought-out or designed.
;; By Stuart Sierra,
;; @stuartsierra on Twitter
@stuartsierra
stuartsierra / gist:1188879
Created September 2, 2011 15:14
XML parsing and clojure.zip
;;; XML parsing and clojure.zip
;;; There's got to be a cleaner way to do this.
;;; I have code like this:
(defn jdks-loc [xml-zipper]
(zip/down
(first
(filter #(let [n (zip/node %)]