Skip to content

Instantly share code, notes, and snippets.

@brosenan
brosenan / tree.rs
Last active January 24, 2018 13:24
use std::mem;
type TreeRef<K, V> = Option<Box<Tree<K, V>>>;
struct Tree<K: PartialOrd, V> {
key: K,
val: V,
left: TreeRef<K, V>,
right: TreeRef<K, V>
}

Keybase proof

I hereby claim:

  • I am brosenan on github.
  • I am brosenan (https://keybase.io/brosenan) on keybase.
  • I have a public key ASDsLHzZo2z937kJK2kzjxZNPW9xy3kERbjREvrHqKXw4wo

To claim this, I am signing this object:

@brosenan
brosenan / state-monad.clj
Created March 3, 2017 14:50
State Monad in Clojure
(ns foo)
(defn m-const [val]
(fn [state]
[state val]))
(defn m-do [& actions]
(if (= (count actions) 1)
(first actions)
; else
@brosenan
brosenan / functional.cpp
Created September 8, 2016 07:21
C++ is a Dynamic, Pure, Functional Programming Language
#include <iostream>
template <typename T>
struct Print {
static void print() {
std::cout << T::val;
}
};
template <int N>