This is a programming language based on functions. It is meant to make making programs a puzzle. Example program: say first reverse say Enter_a_number input How it works: In function notation, the above program is actually say(first(reverse(say(Enter_a_number),input))) but commas and parentheses are changed into spaces. The first evaluatable function is evaulated. In this case it is say Enter_a_number. say x returns x, while outputting x. So say Enter_a_number returns Enter_a_number and prints it. The function is now say first reverse Enter_a_number input Next evaluatable function is input. Input inputs a number. (say it is 5 as an example) Now the function is say first reverse Enter_a_number 5 reverse x y is y z. Evaulate. Now the function is say first 5 Enter_a_number. First x y is x. Eval. say 5 Eval. 5, and 5 is outputted. Full list of functions: say x = x 'and prints x first x y = x reverse x y = y x input = input 'inputs a number add x y = x + y subtract x y = x - y multiply x y = x * y divide x y = x / y concatenate x y = xy Another example program for you to try: say concatenate The_sum_is_ add say first reverse say Enter_two_numbers_for_the_sum._First_number: input say first reverse say Second_number: input Bonus: Figure out what it does before you enter it. Comment if you need help.