I hereby claim:
- I am philipnilsson on github.
- I am philip_nilsson (https://keybase.io/philip_nilsson) on keybase.
- I have a public key ASDHkjtDR2r-GC38Hf-Nfgu3rvC7nksXqOKS7_8EYji1swo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
(setq-default line-spacing 4) | |
;; Supress initial scratch message | |
(setq initial-scratch-message nil) | |
(require 'package) | |
(add-to-list | |
'package-archives | |
'("melpa" . "http://melpa.milkbox.net/packages/") t) | |
(package-initialize) |
I hereby claim:
To claim this, I am signing this object:
-- Run a stateful computation and on completion | |
-- restore state to it's current value. | |
excursion st = do | |
oldState <- get | |
st | |
put oldState | |
// Some functional utilities | |
const map = f => arr => arr.map(f); | |
const id = x => x; | |
const concat = xs => [].concat(...xs); | |
const fold = (f, init) => xs => xs.reduce(f, init); | |
const sum = fold((x, y) => x + y, 0); | |
// Nested-list algebras | |
function alg(leaf, branch) { | |
return nested => nested instanceof Array |
combine :: [Either a b] -> ((a,b) -> c) -> [c] | |
combine xs f = combine' (Nothing, Nothing) xs | |
where | |
combine' (_, Just y) (Left l:xs) = | |
f (l,y) : combine' (Just l, Just y) xs | |
combine' (Just x, _) (Right l:xs) = | |
f (x,l) : combine' (Just x, Just l) xs | |
combine' (_, y) (Left l : xs) = | |
combine' (Just l, y) xs | |
combine' (x, _) (Right l : xs) = |
module Main where | |
import Engine | |
pretty elem | |
= elem $= texture (fromFile "slim.jpg") | |
scene = | |
pretty cube $= rotateX 2t $= rotateY 3t |
vShader :: SC.Shader GLfloat | |
vShader = do | |
pos <- attribute vec3 "position" | |
a_color <- attribute vec3 "a_color" | |
color <- varying vec3 "color" | |
gl_Position =: pos .: 1 | |
color =: pos | |
fShader :: SC.Shader GLfloat |
data Pair a = Pair a a | |
data Exp typ where | |
Vec :: Exp a -> Exp a -> Exp (Pair a) | |
Const :: Int -> Exp Int | |
-- with type | |
type RHS typ = String |
import System.Random | |
import Control.Monad | |
count = length . filter id | |
avenge = do | |
x <- replicateM 8 randomIO | |
return $ count x <= 4 | |
test n = do |