Skip to content

Instantly share code, notes, and snippets.

(deftype Element [data start end] :as this
clojure.lang.Associative
(assoc [key value]
(apply (fn [data start end]
(Element. data start end))
(vals (assoc {:data (:data this)
:start (:start this)
:end (:end this)}
key value)))))
(progress
[timestamp]
(let [[out in] (split-with #(< (first %) timestamp) end-timestamp-sorted-map)
new-sorted-map (into (sorted-map) in)
new-hashed-map (reduce
dissoc key-hashed-map
(map first
(filter #(empty? (second %))
(reduce
(fn [m x]
@fehrenbach
fehrenbach / index.html
Created July 25, 2011 19:17
ClojureScript and Sencha Touch
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Hello World</title>
<script src="lib/touch/sencha-touch.js" type="text/javascript"></script>
<script type="text/javascript" src="out/goog/base.js"></script>
<script src="test.js" type="text/javascript"></script>
<script>goog.require('test');</script>
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Name=Google+
Exec=chromium --app=https://plus.google.com/
Terminal=false
Icon=chrome-https___plus.google.com_
Type=Application
Categories=GTK;Network;WebBrowser;
StartupWMClass=plus.google.com
import XMonad
import XMonad.Actions.UpdatePointer
import XMonad.Config.Desktop
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.SetWMName
import XMonad.Layout.PerWorkspace
import XMonad.Layout.Reflect
import XMonad
import XMonad.Actions.UpdatePointer
import XMonad.Config.Desktop
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.SetWMName
import XMonad.Layout.PerWorkspace
import XMonad.Layout.Reflect
user=> (do (defn foo [bar] (inc bar))
(prn (foo 1))
(time (defn foo [bar] (dec bar)))
(foo 1))
2
"Elapsed time: 0.189684 msecs"
0
#Colorful prompt, shows current git branch
PS1='\[\033[01;32m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[0;36m\]`git branch 2>/dev/null|cut -f2 -d\* -s`\[\033[00m\]\$ '
@fehrenbach
fehrenbach / hbtf.hs
Last active August 29, 2015 14:10
Example query from Haskell boards the Ferry, George Giorgidze et al., IFL 2010
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE MonadComprehensions #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RebindableSyntax #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE ViewPatterns #-}
@fehrenbach
fehrenbach / shredding.hs
Created December 4, 2014 16:35
Query shredding queries in Database-supported Haskell
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE MonadComprehensions #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RebindableSyntax #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE ViewPatterns #-}