blob: ea78d4f651a2b46a8c6d499d91bf1fde23007838 [file] [log] [blame]
swissChili923b5362021-05-09 20:31:43 -07001(defun add-two (a)
2 (+ a 2))
swissChilia820dea2021-05-09 16:46:55 -07003
swissChilie9fec8b2021-06-22 13:59:33 -07004(defun calls-gc (whatever)
5 (print whatever)
6 (gc))
swissChili67bdf282021-06-06 18:46:08 -07007
swissChili6d6525e2021-06-15 21:20:53 -07008(defun main ()
swissChilie9fec8b2021-06-22 13:59:33 -07009 (let1 (a (add-two 3))
swissChili67bdf282021-06-06 18:46:08 -070010 (print "a is")
swissChilie9fec8b2021-06-22 13:59:33 -070011 (print a))
swissChilib8fd4712021-06-23 15:32:04 -070012
13 ; These allocations should be freed
swissChili6b47b6d2021-06-30 22:08:55 -070014 (list 12 34 56)
15 (list "a" "b" "c" "d")
swissChilie9fec8b2021-06-22 13:59:33 -070016
swissChilib8fd4712021-06-23 15:32:04 -070017 ; But these should not
swissChilie9fec8b2021-06-22 13:59:33 -070018 (let1 (unused-but-bound (cons 5 6))
swissChili6b47b6d2021-06-30 22:08:55 -070019 (let1 (val '(a b c d e))
swissChilie9fec8b2021-06-22 13:59:33 -070020 (calls-gc val))))