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
- The title of this article is not correct because of technical limitations. The correct title is actually {}[]()combinator.
| 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.