glip/startup.lisp
2021-08-13 17:18:25 +01:00

16 lines
471 B
Common Lisp

[let defun [mac [name args body]
[list let name nil]
[list = name [list fun args body]]]]
[defun square [x] [* x x]]
[let inc [mac [s] [list [q =] s [list [q +] s 1]]]]
[defun to-upper [str] [capture-upper [print str]]]
[defun to-lower [str] [capture-lower [print str]]]
[defun last [x] [if [cdr x] [last [cdr x]] [car x]]]
[defun del-last [x] [if [cdr [cdr x]] [del-last [cdr x]] [setcdr x nil]]]
[defun nth [a n] [if [is n 0] [car a] [nth [cdr a] [- n 1]]]]