Skip to content

Instantly share code, notes, and snippets.

@xeqi
xeqi / macro.js
Created December 7, 2023 14:31
Battle stats update macro
const enemyTokens = game.canvas.scene.tokens.filter(entry => entry.disposition == -1);
const enemyDrawings = [
// Name, Amount
["0HRRJvAy0DL9fZYj", "xOkLUlaf66MIWaEg"],
["fvEtY6HXxuWZwTaM", "3ZpYPphDlKP0qocJ"],
["BxYhCFss1Hxeubg1", "1cyj6HHCq1Dy5y9C"],
["0zVx7PfduwZbNqnj", "kkoOJOPxo6K8hIhV"],
].map(uis => uis.map(id => canvas.scene.drawings.get(id)));
@xeqi
xeqi / ukanren_transducers.clj
Last active November 13, 2018 06:38
ukanren in almost transducers
(ns ukanren-transducers
(:refer-clojure :exclude [== disj conj]))
(defrecord Lvar [name])
(defn lvar [] (->Lvar (gensym "lvar")))
(defn lvar? [v] (instance? Lvar v))
(def empty-state {})
(defn walk [u s]
@xeqi
xeqi / gist:6227351
Created August 14, 2013 01:45
bob exercism
class Bob
def hey(message)
behaviors = {
-> {message.nil? || message.strip.empty?} => 'Fine. Be that way!',
-> {message.upcase == message} => 'Woah, chill out!',
-> {message[-1].chr == '?'} => 'Sure.'
}
behaviors.fetch(behaviors.keys.find(&:call), "Whatever.")
end
end
@xeqi
xeqi / pallet.clj
Last active December 14, 2015 23:39
immutant and pallet
(require
'[pallet.crate.git :refer [git clone]]
'[pallet.crate.java :refer [java]]
'[pallet.crate.lein :refer [lein leiningen]])
(def repo "git://github.com/jcrossley3/random-apps-of-kindness.git")
(def demo-directory "random-apps-of-kindness/demo")
(defplan setup-machine
(defrecord JimFSFactory []
component/Lifecycle
(start [t] (Jimfs/newFileSystem (Configuration/unix))))
(extend-protocol component/Lifecycle
Jimfs
(stop [t] (.close t)))
(defrecord PathFactory [fs]
component/Lifecycle
(defrecord JimFSFactory []
component/Lifecycle
(start [t] (Jimfs/newFileSystem (Configuration/unix))))
(extend-protocol component/Lifecycle
Jimfs
(stop [t] (.close t)))
(defrecord PathFactory [fs]
component/Lifecycle
@xeqi
xeqi / output.txt
Created March 1, 2012 06:20
clojure.java.jdbc, sqlite3, transactions, and resultsets
$ TEST_DBS=sqlite mvn clojure:test
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building java.jdbc
[INFO] task-segment: [clojure:test]
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jtds/jtds/1.2.4/jtds-1.2.4.pom
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jtds/jtds/1.2.4/jtds-1.2.4.jar
@xeqi
xeqi / gist:1449916
Created December 9, 2011 02:48
clojure version mismatch error
No message.
[Thrown class java.lang.ExceptionInInitializerError]
Restarts:
0: [QUIT] Quit to the SLIME top level
1: [CAUSE1] Invoke debugger on cause Attempting to call unbound fn: #'clojure.core/refer [Thrown class java.lang.IllegalStateException]
Backtrace:
0: clojure.set__init.__init0(Unknown Source)
1: clojure.set__init.<clinit>(Unknown Source)
@xeqi
xeqi / gist:1449897
Created December 9, 2011 02:40
swank classloader-heirarchy
user> (defn classloader-heirarchy
([]
(classloader-heirarchy (clojure.lang.RT/baseLoader)))
([tip]
(if tip
(conj (classloader-heirarchy (.getParent tip)) tip) [])))
#'user/classloader-heirarchy
user> (classloader-heirarchy)
[#<ExtClassLoader sun.misc.Launcher$ExtClassLoader@7ea2dfe> #<AppClassLoader sun.m\
isc.Launcher$AppClassLoader@61ba34f2> #<DynamicClassLoader clojure.lang.DynamicCla\
@xeqi
xeqi / gist:1439142
Created December 6, 2011 17:46
clojure binding and resolve
user> (binding [*ns* nil] (ns-resolve 'clojure.core '=))
#'clojure.core/=
user> (binding [*ns* nil] (resolve 'clojure.core/=))
No message.
[Thrown class java.lang.NullPointerException]
Restarts:
0: [QUIT] Quit to the SLIME top level
Backtrace: