Combinators in Array Languages
Combinators in Array Languages
Raymond Smullyan’s "To Mock a Mockingbird" book's aviary of combinator birds implemented in APL-derived languages and the problem implementing the Sage bird (Fixed Point or Y combinator) in an eagerly evaluated language. Newer APLs support lazy evaluation. My eager language has a workaround for this. The Z combinator is the standard strict-language fix: wrap the self-application in one extra function layer (λv. x x v), so the recursion is a value (a delayed call) rather than an executing expression. sw-MLPL expresses that delay as a named partial — z_step/z_recur/applicative_sage — because the language has no anonymous lambdas. Z has no Smullyan name (and no zebra in the aviary, despite the letter). The book predates and ignores the strictness problem, so it has no applicative-order variant. "Z combinator" is programmer folklore for the eta-expanded Y
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Quine in 0b100M Languages
TabNine, an autocompleter for all languages
Cardinal - Memorize vocab and phrases in 7 languages
Py2many – Transpile Python3 to 7 languages
Autocompleter for all languages
Languages Interoperability Tool
Practise languages by videocall with people worldwide
Semi-AI that tries to categorize the world in many languages
Mondly – the Siri for learning languages
LibLET a (preliminary) lib to play with formal languages algos