Clue (oklopol)/SKI calculus
Jump to navigation
Jump to search
deep first ~ {. 1 -> 1
. 2 -> 2 }
deep first ~ {:. [[1 2] 3] -> 1
: [1 2] -> 1
:. [1 [2 3]] -> 1
: 1 -> 1 }
deep first ~ is list?; cons; car; cdr
depth of first ~ {. 0 -> 0
. 5 -> 0 }
depth of first ~ {:. [[1 2] [3 4]] -> 2
: [1 2] -> 1
:. [[[1 2 3] 4] 5] -> 3
: [[1 2 3] 4] -> 2}
depth of first ~ is list?; cons; car; cdr; inc; 0
make singleton ~ {. 1 -> [1]
. [1 2 3] -> [[1 2 3]]}
make singleton ~ cons; []
pair ~ {. 1 2 -> [1 2]
. [3] [4 5] -> [[3] [4 5]]}
pair ~ make singleton; cons
more than 3 ~ {. 0 -> 0 }
more than 3 ~ {. 1 -> 0 }
more than 3 ~ {. 2 -> 0 }
more than 3 ~ {. 3 -> 0 }
more than 3 ~ {. 4 -> 1
. 5 -> 1 }
more than 3 ~ 0; 1
deep first with cutoff ~ {. 0 -> 0
. [1 0] -> 1
. [[3 2] 1] -> 3
. [[[5 4] 3] 2] -> 5 }
deep first with cutoff ~ {. [[[[1 2]]]] -> 4
. [[[[[1 2] 3] 4] 5] 6] -> 4 }
deep first with cutoff ~ depth of first; more than 3
deep first with cutoff ~ deep first; 4
ski type? ~ {. 1 -> 0 }
ski type? ~ {. 2 -> 0 }
ski type? ~ {. 3 -> 0 }
ski type? ~ {. [2 1] -> 0
. [2 3] -> 0 }
ski type? ~ {. [[3 2] 1] -> 0
. [[3 4] 5] -> 0 }
ski type? ~ {. [3 2] -> 0
. [3 4] -> 0 }
ski type? ~ {. [1 0] -> 1
. [[2 1] 0] -> 2
. [[[3 2] 1] 0] -> 3
. [[[[1 2]]]] -> 4
. [[[[[1 2] 3] 4] 5] 6] -> 4 }
ski type? ~ make singleton; cons; deep first
ski type? ~ depth of first; deep first with cutoff; #; 1
cadaar ~ {. [[[1 [2]]]] -> [2]
. [[[3 [2 2]] [2 1]] 5] -> [2 2] }
cadaar ~ car; cdr
cadar ~ {. [[1,[2]]] -> [2]
. [[[3 [2 2]] [2 1]] 5] -> [2 1] }
cadar ~ car; cdr
ski apply ~ {. 3 -> 3
. [2 2] -> [2 2] }
ski apply ~ {:. [1 [1 2]] -> 2
: [1 2] -> 2 }
ski apply ~ {:. [[2 [1 3]] 2] -> 3
: [1 3] -> 3 }
ski apply ~ {:. [[[3 [2 2]] [2 1]] 5] -> [2 1]
: [[2 2] 5] -> 2
: [[2 1] 5] -> 1
: [2 1] -> [2 1]
:. [[[3 1] 1] 1] -> 1
: [1 1] -> 1
: [1 1] -> 1
: [1 1] -> 1 }
ski apply ~ {:. [[[[1 2] 1] 2] 1] -> 1
: [[[1 2] 1] 2] -> 1
: [1 1] -> 1
:. [[[[[3 2] 3] 2] 3] 1] -> 3
: [[[[3 2] 3] 2] 3] -> [2 3]
: [[2 3] 1] -> 3 }
ski apply ~ ski type?
ski apply ~ pair; car; cdr; cadaar; cadar