
Why Formal Systems Can't Read Their Own Output?
What do concatenative combinator calculus, mathematicians, and language models have in common? They all hit the same wall: Evaluation is lossy. A formal system can produce expressions but cannot unambiguously interpret them using only its own rules, because reduction destroys the information needed to recover intent. This post traces a thread that surprised me, starting from a very concrete implementation question about a stack-based evaluator and ending somewhere between information theory and machine learning. Concatenative Combinator evaluation Imagine a simple concatenative (stack-based) combinator language. We have primitive operations like swap , drop , dip , call . We can define new words in a dictionary: true := [ swap drop ] false := [ drop ] not := [ [ swap drop ] [ drop ] ] dip call The evaluator reduces expressions by expanding words into their definitions and applying reduction rules. It works fine. But the thing is, once an expression is fully reduced, we're left staring
Continue reading on Dev.to
Opens in a new tab


