In a terminal type:
lein repl
; semi-colon marks the rest of the line as a comment| (ns complex-clojure.core | |
| (:require [clojure.core.typed :as t]) | |
| (:use [clojure.core.typed :only [AnyInteger]])) | |
| (t/def-alias SicpRatio (Vector* AnyInteger AnyInteger)) | |
| (t/ann make-rat [AnyInteger AnyInteger -> SicpRatio]) | |
| (defn make-rat [numer denom] [numer denom]) | |
| (t/ann denom [SicpRatio -> AnyInteger]) |
In Day#1 Meta-Ex used Quil (built on processing) for the visuals https://github.com/quil/quil#readme
183 is miscalculation. 122.
Wadler: talking about currying. fn of arity one, return fn until there is no more arity left, and then the evaluation.
Haskell: Deep, simple principles. Purity, DSL, Types. SPJ:"laboratory for exploring crazy type systems"
Wadler: [On Type Classes in Haskell] Ad-hoc polymorphism: Type Classes allow you implement this on your own types (e.g + < > ...) -- "Binary method problem" -- assuming both parameters to a method have the same dictionary. Haskell requires this passed in.
| #!/bin/bash | |
| if [ -n "${1}" ] | |
| then | |
| startref=${1}.. | |
| fi | |
| # Record the starting location, branch or hash | |
| branch_name="$(git symbolic-ref HEAD 2>/dev/null)" || branch_name="$(cat .git/HEAD)" | |
| branch_name=${branch_name##refs/heads/} |