We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Savage Operator

From Esolang
Jump to navigation Jump to search

Savage Operator is a esolang created by User:Yayimhere inspired by Unlambda. as it was developed it became more focused on creating the actual lambdas and less about using the actual operators. so it becomes more like Action symbol

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 expression y as z
  • [(x)(y)(z)] : x=λz.y or x=y if z 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

so the needed commands are a a' w d