Skip to content

Instantly share code, notes, and snippets.

@codedot
codedot / lambdabetaeta
Created October 23, 2010 09:53
From ordinary variables x, y, z… to λβη
x ∈ Λ; Лямбда-выражения строятся из переменных
M, N ∈ Λ ⇒ λx.M ∈ Λ ∧ M N ∈ Λ; с помощью абстракций и аппликаций;
(M) = M, M N P = (M N) P. причем аппликация лево-ассоциативна.
x[x := P] = P; Подстановка заменяет вхождения переменной на другое выражение,
y[x := P] = y; но только если переменная совпадает,
(λx.M)[x := P] = λx.M; при этом связанные переменные не подлежат подстановке;
(λy.M)[x := P] = λy.M[x := P]; операция подстановки через абстракции
(M N)[x := P] = M[x := P] N[x := P]. и аппликации проходит выражение рекуррентно.
@codedot
codedot / Makefile
Created March 31, 2011 11:03
Makefile to determine Shell subgrammars
RULES = \
complete_command \
list \
and_or \
pipeline \
pipe_sequence \
command \
compound_command \
compound_list \
term \
@codedot
codedot / Makefile
Created May 20, 2011 08:09
Stack Allocator Test
CFLAGS = -g
all: salloc
./salloc
clean:
-rm -fr salloc salloc.dSYM
@codedot
codedot / Makefile
Created May 20, 2011 10:18
Signal-based Scheduler
CFLAGS = -g
all: sigsched
./sigsched
clean:
-rm -fr sigsched sigsched.dSYM
@codedot
codedot / Makefile
Created June 7, 2011 14:26
Google Code Jam Qualification Round A
all: small.out large.out
clean:
-rm -f *.out
.SUFFIXES: .in .out
.in.out:
( \
source solve.sh; \
@codedot
codedot / optimal.tex
Created December 30, 2011 13:58
Extensional Optimal Reduction
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning}
@codedot
codedot / full.txt
Created February 10, 2012 22:04
Хроники лаборатории
Детство
10 ноября. Сегодня мамка послала меня в магазин купить хлеба и яиц. Купил на все деньги "Кока-колы", потому что она гораздо вкуснее и полезнее хлеба и яиц вместе взятых. Получил ремня. Ремень невкусный, хоть и полезный.
9 декабря. Прыгали с парнями с гаража. Hа третьем заходе Ржавый спрыгнул и сломал себе ногу, потом прыгнул я и сломал ему руку. Hе знаю, как он завтра в гипсе прыгать будет.
12 декабря. Математичка буреет не по дням. Сегодня сказала, что я совсем не знаю математики и поставила мне в дневник какую-то цифру.
17 декабря. Играл на отцовском компьютере в DOOM. Потом еще немного поиграл в "Инфобухгалтер", тоже прикольно, дошел до третьего уровня. Hа налогах меня заколбасили.
22 декабря. Сегодня должна была быть городская контрольная по пению. Было семь звонков, что школа заминирована. Пятерых я знаю, а кто еще один?
4 января. Сегодня на труде учились делать самокрутки.
15 января. Курили в туалете. Я с непривычки закашлялся и пропустил урок литературы и ботаники.
20 января. Ходили драться в
@codedot
codedot / Makefile
Created March 2, 2012 13:42
Pouring Tanks
all: pour solve.sh
sh solve.sh ./pour 5 8 2
sh solve.sh ./pour 3 4 2
sh solve.sh ./pour 6 10 3
clean:
-rm -f pour *.tmp
@codedot
codedot / Makefile
Created March 3, 2012 20:20
Pouring Tanks (the bc(1) version)
all: pour.sh
sh $< 8 5 5
sh $< 5 8 2
sh $< 3 4 2
sh $< 18 33 9
sh $< 6 10 3
clean:
-rm -f *.tmp
@codedot
codedot / gist:1977362
Created March 5, 2012 07:55
Pouring Tanks (reverse)
alexo@codedot:~/Documents/Projects/bc$ cat reverse.sh
l=$1
r=$2
n=$3
shift
shift
shift
. pour.sh 2>&-