Savage Operator
Jump to navigation
Jump to search
Savage Operator is a esolang created by User:Yayimhere inspired by Unlambda
syntax form
a operator is applied with Prefix notation like in Unlambda and brackets around a string e
:
(e)
operators
some of these are represented with Lambda calculus expressions. also all these expressions have input x
, and if there is a second input that is y
:
- e : a lambda expression with no body. can't be the final result nor be applied to something
- v :
λx.v
- E :
λx.x (λx. )
which can also not be the final result - i :
λx.x
- ε :
λx.ε x
- w :
(λx.(x))
- ∞ : evaluate
x
- ∞' : evaluate
x
for a single iteration - a :
λx.λy.x y
without evaluating it - a' : a but goes into brackets, without evaluating it
- b' : a' but prepend
- d : rename all instances of
x
(including in input) in expressiony
asz
- [(x)(y)(z)] :
x=λz.y
orx=y
ifz
is empty
exclusions
- ∞ and ∞' cant be applied to: [(x)(y)(z)], e, and E
- b', a', d, and a cant be applied to: ∞, ∞', a', b', [(x)(y)(z)], d
Turing-completeness
Savage Operator is turing complete since we can define SKI combinator calculus operators:
[(S)(a’ (a’ (w (a g x) ) (a f x) (a’ (d x e f) (d x e g))) )(f)] [(K)(a’ (d x e y) y)(x)] and I is just... i
now any expression in SKI calculus is valid in Savage operator. these work by creating functions that are equal to the S and K
operators