> (+ 2 3) 5 > (+ 2 3 4) 9 > (+) 0 > (> 3 2) yes > (< 3 2) no > (list 2 3 4) (list 2 3 4) > (list-length (list 2 3 4)) 3 > (iota 0 20) (list 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19) > (map-list (:fn (n) (* n n)) (iota 0 20)) (list 0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361) > (:def foo (list yes 3 identity)) done > (list-length foo) 3 > foo (list yes 3 identity) > (:def iii identity) done > (:undef identity) done > foo (list yes 3 iii) > (:undef yes) done > (> 3 2) (:. Truth) > foo (list (:. Truth) 3 iii) > (:def true (> 3 2)) done > (> 3 2) true > foo (list true 3 iii) > (:def yes true) done > (:undef true) done > (> 3 2) yes > foo (list yes 3 iii) > (:def ll list) done > (:undef list) done > foo (ll yes 3 iii) > (:deffn square (n) (* n n)) done > (:deffn map-square (l) (map-list square l)) done > (map-square (iota 0 20)) (ll 0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361) > map-square (make-lixp-function 1 no (make-lixp-call-expression map-list (ll (make-lixp-constant-expression square) (make-lixp-parameter-expression 0)))) > (:def pow2 square) done > (:undef square) done > (map-square (iota 0 20)) (ll 0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361) > map-square (make-lixp-function 1 no (make-lixp-call-expression map-list (ll (make-lixp-constant-expression pow2) (make-lixp-parameter-expression 0)))) > (:undef pow2) done > (map-square (iota 0 20)) (ll 0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361) > map-square (make-lixp-function 1 no (make-lixp-call-expression map-list (ll (make-lixp-constant-expression (make-lixp-function 1 no (make-lixp-call-expression * (ll (make-lixp-parameter-expression 0) (make-lixp-parameter-expression 0))))) (make-lixp-parameter-expression 0)))) > (:deffn w () (wibble)) no such name in namespace > (factorial 5) 120 > (map-list factorial (iota 0 30)) (ll 1 1 2 6 24 120 720 5040 40320 362880 3628800 39916800 479001600 6227020800 87178291200 1307674368000 20922789888000 355687428096000 6402373705728000 121645100408832000 2432902008176640000 51090942171709440000 1124000727777607680000 25852016738884976640000 620448401733239439360000 15511210043330985984000000 403291461126605635584000000 10888869450418352160768000000 304888344611713860501504000000 8841761993739701954543616000000) > (factorial 100) 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 > (factorial 500) maximum recursion depth exceeded > (parrot-training-wheels no) done > (factorial 500) 1220136825991110068701238785423046926253574342803192842192413588385845373153881997605496447502203281863013616477148203584163378722078177200480785205159329285477907571939330603772960859086270429174547882424912726344305670173270769461062802310452644218878789465754777149863494367781037644274033827365397471386477878495438489595537537990423241061271326984327745715546309977202781014561081188373709531016356324432987029563896628911658974769572087926928871281780070265174507768410719624390394322536422605234945850129918571501248706961568141625359056693423813008856249246891564126775654481886506593847951775360894005745238940335798476363944905313062323749066445048824665075946735862074637925184200459369692981022263971952597190945217823331756934581508552332820762820023402626907898342451712006207714640979456116127629145951237229913340169552363850942885592018727433795173014586357570828355780158735432768888680120399882384702151467605445407663535984174430480128938313896881639487469658817504506926365338175055478128640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 > (:fn (a) 3) (make-lixp-function 1 no (make-lixp-constant-expression 3)) > (lixp-function-subexpression (:fn (a) 3)) (make-lixp-constant-expression 3) > (lixp-function-subexpression (:fn (a) (print 3))) (make-lixp-call-expression print (ll (make-lixp-constant-expression 3))) > (lixp-function-subexpression (:fn (a) a)) (make-lixp-parameter-expression 0) > (lixp-function-subexpression (:fn (a) (:fn () a))) (make-lixp-lambda-expression 0 no (make-lixp-parameter-expression 0)) > (:if (> 3 2) 111 222) 111 > (:if (> 3 2) (print 111) (print 222)) 111 done > (call-if (> 3 2) (:fn () (print 111)) (:fn () (print 222))) 111 done > (:fn () (:if (> 3 2) 111 222)) (make-lixp-function 0 no (make-lixp-call-expression call-if (ll (make-lixp-call-expression > (ll (make-lixp-constant-expression 3) (make-lixp-constant-expression 2))) (make-lixp-lambda-expression 0 no (make-lixp-constant-expression 111)) (make-lixp-lambda-expression 0 no (make-lixp-constant-expression 222))))) >