Skip to content

Instantly share code, notes, and snippets.

@cheery
cheery / demo.agda
Last active February 28, 2024 10:43
chu spaces
{-# OPTIONS --guardedness #-}
module demo where
open import Data.Product
open import Data.Empty
open import Agda.Builtin.Equality
open import Agda.Primitive
sym : ∀ {a} {A : Set a} {x y : A} → x ≡ y → y ≡ x
sym refl = refl
@cheery
cheery / lam-2.js
Created December 26, 2019 00:06
Interaction & arithmetic in linear abstract machine
function main() {
interaction_example();
arithmetic_example();
}
function interaction_example() {
var plug = make_terminal_plug();
var code = [
SEL, 1,
@cheery
cheery / study.py
Created January 25, 2024 15:12
Carnivore mortality study on NHANES I dataset.
is_carnivore_in_1971 = {}
is_alive_in_1992 = {}
age_of_death = {}
with open('nhanes/DU4701.txt', 'r') as fd:
rows = fd.readlines()
for row in rows:
sample = row[0:5]
meat_freq = int(row[224:228])
diet = [0, 0, 0]
@cheery
cheery / Structures.agda
Created December 20, 2023 06:21
Tree editing scaffolds
module Structures where
open import Data.Unit
open import Data.Product
open import Data.Empty
open import Data.Nat
open import Data.Fin
open import Data.Vec
open import Data.Maybe
open import Data.List
@cheery
cheery / Simple.hs
Created December 6, 2023 15:59
Extension to cubical (WIP)
module Simple where
import Bwd -- https://gist.github.com/cheery/eb515304a0a7bcf524cb89ccf53266c2
data Interval
= I0
| I1
| In Int
deriving (Show, Eq)
@cheery
cheery / Bwd.hs
Created December 5, 2023 13:11
Simple dependently typed evaluator
module Bwd where
data Bwd a = Empty
| Bwd a :> a
instance Functor Bwd where
fmap f Empty = Empty
fmap f (xs :> x) = fmap f xs :> f x
instance Eq a => Eq (Bwd a) where
@cheery
cheery / catpu.hs
Created November 22, 2023 12:11
Pattern unification
module CatPu where
import Control.Applicative (Alternative (..))
import Control.Monad (MonadPlus (..), foldM, forM)
import Control.Monad.State
import Control.Monad.Except
import Data.List (intersect, elemIndex)
type Goal = SolverState -> Stream SolverState
@cheery
cheery / interaction_combinators.py
Created March 28, 2019 20:43
Interaction combinators
# -*- encoding: utf-8 -*-
# Implements symmetric interaction combinators
# I took some ideas from Victor Maia's projects.
# Bunch of cells form an interaction net.
# It's a half-edge graph.
class Cell:
def __init__(self, kind):
self.ports = (Port(self), Port(self), Port(self))
self.kind = kind # 'era', 'con', 'fan'
@cheery
cheery / vklayer
Created February 19, 2016 23:27
Run scripts with added vulkan layers
#!/usr/bin/env python
"""
Run programs with added vulkan layers.
Author: Henri Tuhola <henri.tuhola@gmail.com>
License: MIT
Date: 2016-2-20
"""
import argparse, json, os, sys
@cheery
cheery / hedberg.agda
Created February 9, 2023 16:36
Hedberg's theorem
{-# OPTIONS --cubical #-}
module hedberg where
open import Cubical.Core.Everything
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.GroupoidLaws
data Empty : Set where
absurd : {A : Set} → Empty → A