Skip to content

Instantly share code, notes, and snippets.

(defproject tests "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.2.1"]
[org.clojure/clojure-contrib "1.2.0"]
[org.clojars.automata/rosado.processing "1.1.0"]]
:dev-dependencies [[swank-clojure "1.3.0"]])
(import '(java.awt Color Dimension)
'(javax.swing JPanel JFrame Timer JOptionPane)
'(java.awt.event ActionListener KeyListener))
(use '[clojure.contrib.import-static]
'[clojure.contrib.seq-utils :only (includes?)])
(import-static java.awt.event.KeyEvent VK_LEFT VK_RIGHT VK_UP VK_DOWN)()
()
;; ^_^
(import '(java.awt Frame)
'(java.awt.event WindowListener WindowAdapter)
'(javax.media.opengl GLCanvas GLEventListener GL)
'(com.sun.opengl.util Animator ))
(def gear1 (ref nil))
(def gear2 (ref nil))
(def gear3 (ref nil))
(def angle (ref 0.0))
class String
alias_method(:orig_concat, :concat)
def concat(value)
orig_concat value.force_encoding(Encoding::UTF_8)
end
end
{- successively select elements from xs and remove one in each result list -}
import List
removeEach :: [a] -> [[a]]
removeEach xs =
zipWith (++) (List.inits xs) (tail (List.tails xs))
alternate :: (Num a) => [a] -> [a]
alternate = zipWith id (cycle [id, negate])
import XMonad
import Data.Monoid
import System.Exit
import XMonad.Actions.SpawnOn
import XMonad.Util.EZConfig
import XMonad.Hooks.DynamicLog
import qualified XMonad.StackSet as W
import qualified Data.Map as M