hello| define split<1> as [ set {} -> list| set '' -> word| set 0 -> i| do [ do [ set variable list + {variable word;} -> list| set '' -> word| ] else [ set variable word + argument #1{variable i} -> word| ] if argument #1{variable i} = ' '| set variable i + 1 -> i| ] until variable i = do len| do skip else set variable list + {variable word;} -> list if variable word = ''| return variable list| ]| define is_number<1> as [ set '0123456789' -> numbers| set 0 -> i| do [ set 0 -> j| do [ do skip else return false if argument #1{variable i} = variable numbers{variable j}| set variable j + 1 -> j| ] until variable j = do len| set variable i + 1 -> i| ] until variable i = do len| return true| ]| define calc<3> as [ do return argument #2 + argument #3 if argument #1 = '+'| return 'error'| ]| define unfold<1> as [ // In case there are 0, 1 or 2 arguments do return 'error' if do len = 0| do [ do return do int if do "is_number"| return 'error'| ] if do len = 1| do return 'error' if do len = 2| set argument #1{0} -> op| set {} -> n1l| set 1 -> n| set 0 -> i| do [ set variable i+1 -> i| set variable n1l + {argument #1{variable i};} -> n1l| do skip else set variable n+2 -> n if do "is_number"| ] until variable n = variable i| do print| ]| set do input<':';> -> x| set do "split" -> list| do print;>| goodbye|