Show HN: Lambduck, a Functional Programming Brainfuck

2 days ago 3
,--('< "if it walks like a lamb and quacks like a duck" w-w' lambduck is a functional programming language. =============================================================================== syntactic elements =============================================================================== \ | begin a lambda abstraction ----------------+-------------------------------------------------------------- ` | apply a function, e.g. `0 1 applies 0 to 1 ----------------+-------------------------------------------------------------- 0, 1, 99, ... | a variable as its de bruijn index in the lambda abstraction =============================================================================== built in functions =============================================================================== , | gets a character from stdin, encodes it from ascii into a | church numeral, and passes it to its argument ----------------+-------------------------------------------------------------- . | decodes its argument into an ascii character from a church | numeral mod 256, puts it to stdout, and returns its argument ----------------+-------------------------------------------------------------- 'A, 'b, '<, ... | a character literal as a church numeral in ascii =============================================================================== all other characters are ignored. =============================================================================== examples =============================================================================== true | \\1 ----------------+-------------------------------------------------------------- false | \\0 ----------------+-------------------------------------------------------------- z combinator | \`\`1\``1 1 0\`1\``1 1 0 ----------------+-------------------------------------------------------------- echo | `\`\`1\``1 1 0\`1\``1 1 0\`0`,. ----------------+-------------------------------------------------------------- hello world | ``\\1`.'h``\\1`.'e``\\1`.'l``\\1`.'l``\\1`.'o``\\1`.' ``\\1`.'w``\\1`.'o``\\1`.'r``\\1`.'l``\\1`.'d`.'! ===============================================================================

stdout

Read Entire Article