(mac defclass (name attributes methods) `(def ,name (,@attributes) (let methodz (obj ,@methods) (fn (method . args) ((methodz method) args))))) (defclass make-point ((o x 0) (o y 0)) (get-x [+ x] get-y [+ y] set-x [= x (car _)] set-y [= y (car _)])) (= point (make-point 3 4)) (point 'get-y) => 4
-----