Although the Fexl language itself has syntax for recursive definitions, it translates everything to combinators internally, so there are no "symbol tables" or "environments" at run time. Therefore it uses the Y combinator to implement those recursive definitions.
Although the Fexl language itself has syntax for recursive definitions, it translates everything to combinators internally, so there are no "symbol tables" or "environments" at run time. Therefore it uses the Y combinator to implement those recursive definitions.
A while ago I wrote this detailed example: http://news.ycombinator.com/item?id=2719635
tl;dr here is a non-recursive definition of the append function for two lists:
If you need more parentheses for clarity, here you go: