Simple interpreter for combinatory logic written in C++. Uses an AST with manually implemented shared pointers.
Supported combinators:
S a b c -> a c(b c)
K a b -> a
I a -> a
B a b c -> a(b c)
C a b c -> a c b
W a b -> a b b
M a -> a a
O a b -> b(a b)
L a b -> a(b b)
T a b -> b a
R a b c -> b c a
V a b c -> c a b
D a b c d -> a b(c d)
X a -> a S K