document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. // a main function:
  2. func add(v1, v2):
  3.    puts(v1+v2)
  4. end
  5.  
  6. add(4, 3) // prints 7
  7. add("hi", " all") // prints hi all
  8.  
  9. // functions are first class values!
  10. func call(fn, arg1, arg2):
  11.    return fn(arg1, arg2)
  12. end
  13.  
  14. call(add, 10, 20) // prints 30
  15.  
  16. func say(str):
  17.    puts(str)
  18. end
  19.  
  20. func gen():
  21.    return say
  22. end
  23.  
  24. func gengen():
  25.    return gen
  26. end
  27.  
  28. gengen()()("what\'s up !")
  29.  
  30. // recursion
  31.  
  32. func fact(n):
  33.    if n == 1 then
  34.       return n
  35.    else
  36.       return n * fact(n-1)
  37. end
  38.  
  39. puts(fact(5))    
  40.  
  41. /*
  42. === console output: ===
  43. 7
  44. hi all
  45. 30
  46. what\'s up !
  47. 120
  48. */
');