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.

Braces-Brackets-Parentheses-combinator

From Esolang
Jump to navigation Jump to search
The title of this article is not correct because of technical limitations. The correct title is actually {}[]()combinator.
BinaryDict
Designed by User:namotanu
Appeared in 2026
Computational class Turing-complete
Reference implementation Unimplemented

{}[]()combinator is an esoteric programming language created by User:namotanu in 2026. It is a minimalist bracket-based string rewriting system that directly mirrors the mechanics of SKI combinator calculus using three distinct pairs of brackets: parentheses `()`, square brackets `[]`, and curly braces `{}`.

Syntax

A program in {}[]()combinator consists of sequences of elements enclosed in three types of brackets, along with arbitrary symbols or quoted string payloads (represented here using quote marks e.g., `「...」`).

Term Rewriting Rules

The semantics of the language are defined by three basic reduction rules acting on bracketed structures:

1. I-Combinator / Application (Parentheses)

Parentheses `()` handle function application and act as the identity element I combinator, where ():

( <x...> y... )  ==>  <x... y...>

2. K-Combinator / Erasure (Square Brackets)

Square brackets `[]` discard intermediate terms, functioning similarly to the K combinator ():

[<x...> y z...]  ==>  <x... z...>

3. S-Combinator / Duplication & Substitution (Curly Braces)

Curly braces `{}` duplicate and distribute arguments across payloaded targets, operating like the S combinator ():

{<x...> 「y...」 z w...}  ==>  <x... z 「y... z」 w...>

Computational Completeness

Because the reduction rules directly map to the primitive operations of the SKI combinator calculus.

Categories