# Backslash Calculus

Jump to navigation
Jump to search

Backslash Calculus is a programming language invented by User:Tailcalled after reading this reddit comment.

## Syntax

Backslash Calculus is based on lambda calculus, but it only uses two characters: backslash and space. This is the basic syntax:

E = \ \ E - abstraction | \ \\ E E - application | \\ - innermost variable | \\\ - the variable one level more out | ... - ...

## Computational Class

Backslash Calculus is clearly Turing-complete, even if one ignores its simple translation to lambda calculus. Here are the SKI combinators:

S = \ \ \ \ \ \ \ \\ \ \\ \\\\ \\ \ \\ \\\ \\ K = \ \ \ \ \\\ I = \ \ \\

## Alternative alphabets

Tailcalled imagined a few alternative alphabets for Backslash Calculus.

### Unreadable

One can replace backslash with ' and space with ". The SKI combinators will look like this with that alphabet:

S = '"'"'"'"'"'"'"''"'"''"''''"''"'"''"'''"'' K = '"'"'"'"''' I = '"'"''

### Brainfuck

One can change the syntax a bit to make Backslash Calculus look more like brainfuck:

E0 = + E1 - | [ E0 E0 ] | . | ,. | ,,. <- unary-ish | ... E1 = > E0 < | [ E1 E1 ] | . | ,. | ,,. <- unary-ish | ...

The SKI combinators will look like this:

S = +>+[[,,..][,..]]-<- K = +>[,.]<- I = +.-