An example class has been added

This commit is contained in:
Mike Cifelli 2017-03-01 16:45:48 -05:00
parent ba203d34b9
commit 49fee52284
1 changed files with 27 additions and 0 deletions

27
lisp/fruit-counter.lisp Normal file
View File

@ -0,0 +1,27 @@
(load "dlambda.lisp")
(defun fruit-counter (initial-count)
(let ((apple-count initial-count)
(banana-count initial-count)
(coconut-count initial-count))
(eval
(dlambda
(:inc-apple () (setf apple-count (+ apple-count 1)))
(:dec-apple () (setf apple-count (- apple-count 1)))
(:get-apple () apple-count)
(:set-apple (value) (setf apple-count value))
(:inc-banana () (setf banana-count (+ banana-count 1)))
(:dec-banana () (setf banana-count (- banana-count 1)))
(:get-banana () banana-count)
(:set-banana (value) (setf banana-count (- banana-count 1)))
(:inc-coconut () (setf coconut-count (+ coconut-count 1)))
(:dec-coconut () (setf coconut-count (- coconut-count 1)))
(:get-coconut () coconut-count)
(:set-coconut (value) (setf coconut-count value))
)
)
)
)