Skip to content

Instantly share code, notes, and snippets.

(def opening-brackets "({[<")
(def closing-brackets ")}]>")
(def brackets (reduce #(apply assoc %1 %2) {}
(map vector opening-brackets closing-brackets)))
(defn- check-aux [[x & xs] stack]
(if x
(cond (some #{x} opening-brackets) (recur xs (conj stack (brackets x)))
(some #{x} closing-brackets) (if (= x (peek stack))
(recur xs (pop stack))
(def brackets (zipmap "([{<" ")]}>"))
(def opening-brackets (set (keys brackets)))
(def closing-brackets (set (vals brackets)))
(defn- check-aux [[x & xs] stack]
(if x
(cond (opening-brackets x) (recur xs (conj stack (brackets x)))
(closing-brackets x) (if (= x (peek stack))
(recur xs (pop stack))
false)
>>> s1 = set(["a", "b", "c"])
>>> s2 = set(["a"])
>>> s1 - s2
set(['c', 'b'])
{21:33}[vince@vincent: prog/clojure]% clj slowdemo.clj
get-byte
"Elapsed time: 202.54176 msecs"
get-short
"Elapsed time: 110.68448 msecs"
{21:33}[vince@vincent: prog/clojure]% clj slowdemo.clj
Reflection warning, line: 9 - call to and can't be resolved.
Reflection warning, line: 14 - call to and can't be resolved.
get-byte
user> (def rep (unpack (File. "/home/vince/prog/python/pyreplib/misc/sea_savior.rep")))
#'user/rep
user> (unit-distribution (get-in rep [:players 0 :actions]))
{"Firebat" 34, "Dropship" 3, "Science Vessel" 43, "Medic" 48, "Marine" 599, "SCV" 82}
user> (unit-distribution (get-in rep [:players 1 :actions]))
{"Ultralisk" 95, "Defiler" 32, "Scourge" 25, "Mutalisk" 8, "Zergling" 179, "Overlord" 35, "Drone" 158}
user> (action-distribution (get-in rep [:players 1 :actions]))
/*
* Compare two cards and return:
* < 0 if a is smaller than b
* 0 if a is equal to b
* > 0 if a is greater than b
*/
int CardCompare(const Card* a, const Card* b) {
if (a == NULL)
return 1;
if (b == NULL)
type 'a tree =
| Empty
| Node of ('a * 'a tree * 'a tree)
let rec walk_tree f tree =
match tree with
| Empty -> ()
| Node (x, left, right) ->
f x;
walk_tree f left;
type 'a tree =
| Empty
| Node of ('a * 'a tree * 'a tree)
let rec walk_tree f tree =
match tree with
| Empty -> ()
| Node (x, left, right) ->
f x;
walk_tree f left;
;; init.el
;; Vincent Foley - vfoley@gmail.com
(require 'cl)
(defmacro when-package-installed (package-name &rest body)
`(if (package-installed-p ,package-name)
(progn ,@body)
(warn "package %s is not installed" ,package-name)))
.text
_main:
cmp %ebx, %ecx
mov $1, %eax
je equal
mov $0, %eax
equal:
ret