Kiss

From Esolang
Jump to navigation Jump to search
Kiss
Paradigm(s) Functional
Designed by User:Hakerh400
Appeared in 2023
Computational class Turing complete
Major implementations Unimplemented
File extension(s) .txt

Kiss is an esolang invented by User:Hakerh400 in 2023.

Overview

Kiss is a derivative of the SKI combinator calculus. It has combinators K and S. These two rewriting rules can be applied anywhere in the expression:

K a b   ---> a
S a b c ---> a c (b c)

When the head of the main expression cannot be reduced any longer, the following rules can be applied to the head of the main expression:

K     ---> Terminate the program with zero exit code
S     ---> Terminate the program with non-zero exit code
K a   ---> Output bit 0 and reduce the main expression to `a`
S a   ---> Output bit 1 and reduce the main expression to `a`
S a b ---> Input a bit and reduce the main expression to `a` if the bit is 0, or to `b` otherwise

Examples

Cat with a single bit

S (K K) (S K)