Skip to content

Instantly share code, notes, and snippets.

View orb's full-sized avatar

Norman Richards orb

View GitHub Profile
@orb
orb / maze.clj
Created July 10, 2013 20:38
maze generator from lambda jam
(ns maze.core
(:use maze.tiles)
(:require [clojure.data.json :as json]))
(defn empty-maze [xsize ysize]
(let [row (into [] (take ysize (repeat 0)))]
(into [] (take xsize (repeat row)))))
(defn all-coords [maze]
(let [xsize (count maze)
(ns maze.tiles)
;;(print "\u2588 \u2588")
(def tiles1
{0 ["***"
"*!*"
"***"]
1 ["* *"
"* *"
"***"]
(defn can-sum-to-zero
([nums]
(can-zero nums #{}))
([nums can-sum-to]
(when (seq nums)
(let [num (first nums)]
(if (can-sum-to (- num))
true
(let [can-also-sum-to (map #(+ num %) can-sum-to)]
(recur (rest nums)
clojure.lang.Compiler$CompilerException: java.lang.RuntimeException: Unable to resolve symbol: if-let in this context, compiling:(NO_SOURCE_PATH:1:1)
at clojure.lang.Compiler.analyze (Compiler.java:6380)
clojure.lang.Compiler.analyze (Compiler.java:6322)
clojure.lang.Compiler$InvokeExpr.parse (Compiler.java:3573)
clojure.lang.Compiler.analyzeSeq (Compiler.java:6562)
clojure.lang.Compiler.analyze (Compiler.java:6361)
clojure.lang.Compiler.analyze (Compiler.java:6322)
clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:5708)
clojure.lang.Compiler$FnMethod.parse (Compiler.java:5139)
clojure.lang.Compiler$FnExpr.parse (Compiler.java:3751)
@orb
orb / project.clj
Last active December 25, 2015 23:28
test
(defproject demo "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.5.1"]])
@orb
orb / sudoku.clj
Created January 30, 2014 23:43
my version of david nolen's core.logic sudoku solver
(ns logic.sudoku
(:refer-clojure :exclude [==])
(:use [clojure.core.logic])
(:require [clojure.core.logic.fd :as fd]))
(defn init-board [vars puzzle]
(matche [vars puzzle]
([[] []]
succeed)
@orb
orb / once.clj
Created February 28, 2014 15:39
a core.logic query occurs-onceo that states that x occurs exactly one time in xs
(ns logic.once
(:refer-clojure :exclude [==])
(:use [clojure.core.logic])
(:require [clojure.core.logic.fd :as fd]))
(defne occurs-noneo [x xs]
([x []])
([x [y . ys]]
(!= y x)
Infortunately I am unable at accept this pull request because it fails one of my unit tests.
test.job> (fact "job is in the correct city"
(let [job {:company "Amazon" :location :seattle}]
(:location job) => :austin))
FAIL "job is in the correct city" at (form-init8310622436901647370.clj:3)
Expected: :austin
Actual: :seattle
(def matches
{:a {:a "foo" :b "bar"}
:b {:a "blue" :b {:a "fred" :b "bob"}}})
(defn winner [node]
(if (map? node)
(:winner node)
node))
(defn select-winner [node aorb]
(defn find-timer [timer-name]
(timers/timer ["APPNAME" "timer" (name timer-name)]))
(defmacro with-timer [timer-name & body]
`(let [timer# (find-timer ~timer-name)]
(timers/time! timer#
(do ~@body))))