Infunctional

Infunctional is a small, minimalist dysfunctional programming language that relies on infix notation. In addition, all lambda abstractions accept two arguments instead of one.

Infunctional Operators
Infunctional only has two operators.
 * :is the lambda abstraction, and
 * :is assignment.

Behavior
Variable names are 1 character long: a b c

The lambda abstraction is represented by the arrow:. ab -> c

Variable "assignment" is done by the  operator. They are the equivalent to C's  in that they perform simple textual replacements before the program is parsed. some_variable = (xy -> x)

Function calls are done by placing the lambda expression in between its arguments. The following evaluates to : a(xy -> x)b

Function calls are left-associative: a(xy -> x)b(xy -> x)c is equivalent to (a(xy -> x)b)(xy -> x)c

Both evaluate to.

A Twisted Version of Church Numerals
zero = (sz -> z) one = (sz -> zsz) two = (sz -> zs(zsz)) plus = (xy -> (sz -> (syz)s(sxz)))

Binary Church Numerals?
Let  represent zero,   represent one, and   represent an arbitrary cons function. zero = (pzo -> z) one = (pzo -> o) two = (pzo -> opz) three = (pzo -> opo) four = (pzo -> op(zpz)) five = (pzo -> op(zpo))