2026-11-03 21:35 UTC
Concatenative Combinators aren’t a #concatenativelanguage in the strict sense. Although it’s true that any two valid programs catenated together form a valid program, it is not true that any bisection of a program results in two valid programs.
This is because concatenative combinators includes quotations, which makes it a Dyck Language. The correct rules are that
1. Inserting any valid program into another valid program results in a valid program. This includes inserting at the end or the beginning, which are also catenation.
2. Removing any valid program from a valid program leaves a valid program. That includes removing from the end or the beginning.
3. Valid programs contain balanced quotes.
https://tunes.org/~iepos/joy.html
Replies (1)
-
@joe@f.duriansoftware.com 2026-11-03 21:38
@raganwald@functional.cafe sounds like adding quotations to a concatenative language is a real Dyck move