Skip to content

Instantly share code, notes, and snippets.

@ato
ato / foo.clj
Created November 15, 2009 01:03
(ns foo
(:use clojure.contrib.seq-utils))
(gen-class
:name foo.Bar
; :init init
; :constructors {[clojure.lang.IFn]}
:methods [[callback [] Integer]]
(defmacro sender [name freq iface ufun]
`(proxy [EchoSender] [~name ~freq ~iface]
(send [o#] dorun (. o# (first ~ufun) (second ~ufun)))))
(sender "moje" 500 MyMessage '(message "Hello World"))
;; Currently expands to:
(proxy
[EchoSender]
(defproject org.clojars.ato/too-hot "1.0.0"
:description "A very simple Fahrenheit to Celsius converter."
:dependencies [[org.clojure/clojure "1.1.0"]]
:dev-dependencies [[lein-clojars "0.5.0"]])
@ato
ato / scratch.clj
Created November 20, 2009 09:15 — forked from duncanmak/scratch.clj
(defn write [name data]
(let [buf (make-array Byte/TYPE 1024)
dest (FileOutputStream. name)]
(with-open [r (BufferedInputStream. data)
w (BufferedOutputStream. dest)]
(loop [bytes (.read r buf 0 1024)]
(when-not (= bytes -1)
(.write w buf 0 bytes)
(recur (.read r buf 0 1024)))))
(println "Wrote" name)))
(ns clojars.couch
(:use [com.reasonr.scriptjure :only (js)])
(:require (couchdb [client :as couch])
(clojars [maven :as maven])
(clojure.contrib [error-kit :as kit])))
(def *db* "clojars")
(defn get-doc
"Wrapper for couch/document-get that's shorter to type and just
;;
;; My outer Clojure is 1.1.0-alpha
;;
(let [loader (URLClassLoader.
(into-array
URL [(URL. "file:///usr/share/java/clojure-1.0.0.jar")])
(.getParent (ClassLoader/getSystemClassLoader)))
nested-rt (.loadClass loader "clojure.lang.RT")
get-var (.getMethod nested-rt "var" (into-array Class [String String]))]
(defn inside? [[z-re z-im]]
(> (+ (* z-re z-re) (* z-im z-im)) 4))
(defn step [c-re c-im [z-re z-im]]
[(+ (* 2 z-re z-im) c-im)
(+ (- (* z-re z-re) (* z-im z-im)) c-re)])
(doseq [y (range image-height)
:let [c-im (- max-im (y * im-factor))]
x (range image-width)]
(defn map-structure [xs [y & ys]]
(lazy-seq
(when y
(let [[head tail] (split-at (count y) xs)]
(cons head
(map-structure tail ys))))))
(map-structure [1 2 3 4] [[0] [1 1 1]])
;; => ((1) (2 3 4))
escaped_args=""
for arg in "$@"; do
escaped_args="$escaped_args"' "'$(echo "$arg" | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g')'"'
done
exec java -client -cp "$CLASSPATH" clojure.main -e "(use 'leiningen.core)(main $escaped_args)"
@ato
ato / twitjure.clj
Created November 30, 2009 05:16 — forked from devn/twitjure.clj
(defn take-tweets [n]
(take n (map read-json
(line-seq (reader
(get-stream))))))
(defn tweet-text [n]
(map #(get % "text")
(take-tweets n)))
(defn search-text [s coll]