Skip to content

Instantly share code, notes, and snippets.

View number23's full-sized avatar
🎯
Focusing

number23 number23

🎯
Focusing
View GitHub Profile
@number23
number23 / gist:fcc08a7bb05f77d6720c
Created September 4, 2014 09:21
vars since 1.4 in core
;; vars since 1.4 in core
(for [[n v] (ns-publics 'clojure.core) :let [since (:added (meta v))] :when (= since "1.4")] n)
@number23
number23 / reify
Created September 4, 2014 13:51
clojure reify example
(.listFiles
(java.io.File. ".")
(reify
java.io.FileFilter
(accept [this f]
(.isDirectory f))))
@number23
number23 / gist:ab35abdfc42e5c32885b
Created September 4, 2014 15:16
clojure ancestors fn
user=> (ancestors (class #{}))
#{clojure.lang.IFn java.lang.Runnable clojure.lang.AFn clojure.lang.Counted clojure.lang.IMeta clojure.lang.IHashEq clojure.lang.IObj clojure.lang.IEditableCollection java.util.Collection java.lang.Object clojure.lang.APersistentSet java.util.concurrent.Callable clojure.lang.IPersistentSet clojure.lang.IPersistentCollection clojure.lang.Seqable java.lang.Iterable java.io.Serializable java.util.Set}
user=> (ancestors (class ""))
#{java.lang.CharSequence java.lang.Comparable java.lang.Object java.io.Serializable}
user=> (doc ancestors)
-------------------------
clojure.core/ancestors
([tag] [h tag])
Returns the immediate and indirect parents of tag, either via a Java type
inheritance relationship or a relationship established via derive. h
@number23
number23 / hello.py
Created October 19, 2010 00:53
hello
print 'hello python'
@number23
number23 / clojure.sh
Created December 29, 2010 04:17
clojure
#!/bin/sh
export CLOJURE_EXT=$HOME/.clojure
export CLOJURE_OPTS="-Xmx1g -server"
LIBS=$(ls -1 $CLOJURE_EXT/* 2> /dev/null)
export CLASSPATH=.:$CLOJURE_EXT:$CLASSPATH:"$(echo "$LIBS" | tr \\n :)"
JAVA=${CLOJURE_JAVA:-java}
OPTS=${CLOJURE_OPTS:-}
@number23
number23 / create_clojure_completions.clj
Created January 16, 2011 13:41
create clojure completion files
(use '[clojure pprint repl])
(use '[clojure.java shell browse javadoc jdbc])
(load-file (str (System/getenv "HOME") "/.clojure.clj"))
(def completions (mapcat (comp keys ns-publics) (all-ns)))
(with-open [f (java.io.BufferedWriter. (java.io.FileWriter. (str (System/getenv "HOME") "/.clj_completions")))]
(.write f (apply str (interleave completions (repeat "\n")))))
@number23
number23 / gist:994936
Created May 27, 2011 09:32
Object.clone
Object.clone = function (o) {
var obj = Object.create(Object.getPrototypeOf(o)),
prop = Object.getOwnPropertyNames(o);
for (var i = prop.length, p; i--;) {
p = prop[i];
Object.defineProperty(obj, p, Object.getOwnPropertyDescriptor(o, p));
}
return obj;
};
@number23
number23 / gist:1028616
Created June 16, 2011 03:25
convert to integer
function toInt(number) {
return number && + number | 0 || 0;
}
console.log(toInt("1")); // 1
console.log(toInt("1.2")); // 1
console.log(toInt("-1.2")); // -1
console.log(toInt(1.2)); // 1
console.log(toInt(0)); // 0
console.log(toInt("0")); // 0
@number23
number23 / gist:1037096
Created June 21, 2011 02:14
get_Monday
def get_Monday(d):
return d + datetime.timedelta(days=-d.weekday())
@number23
number23 / gist:1139091
Created August 11, 2011 07:33
sbclrc
;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
(user-homedir-pathname))))
(when (probe-file quicklisp-init)
(load quicklisp-init)))
;;; Check for --no-linedit command-line option.
(if (member "--no-linedit" sb-ext:*posix-argv* :test 'equal)
(setf sb-ext:*posix-argv*