Skip to content

Instantly share code, notes, and snippets.

type AdditiveSteps = {
orientStep: oqton.items.v1.action.types.SLMOrientStepData;
labelStep: Record<string, oqton.items.v1.action.types.SLMLabelStepData>;
supportStep: Record<string, oqton.items.v1.action.types.SLMSupportStepData>;
};
const $item = Optics.$root('partmodel');
const $partModel = $item.message;
const $actionModels = $partModel.routeModels.$each().actionDefinitions.$each().model.$resolve();
const $machineModels = $actionModels.message.locationModel.$resolve();

Keybase proof

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:

(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)

Keybase proof

I hereby claim:

  • I am philipnilsson on github.
  • I am philip_nilsson (https://keybase.io/philip_nilsson) on keybase.
  • I have a public key ASDIhySUyBJvD-Ahd2EPn5ikDIUtBx35zxE7GnupBor34Ao

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