;;; World of Mob
-;(in-package :gacela)
+(in-package :gacela)
(defmacro makemob (name &rest methods)
`(defun ,name (&rest args &aux (option (car args)))
(t (cons (list option `(apply ,body (cdr args))) (options (cddr m)))))))
(options methods)))))
-(defmacro defmob (name variables &key init logic render)
- `(let ((make-name ',(intern (concatenate 'string "MAKE-" (string name)))))
- (setf (symbol-function make-name)
- (makemob ,variables :init ,init :logic ,logic :render ,render))
- make-name))
-
-;(defmacro makemob (variables &key init logic render)
-; `(lambda
-; ,(if (null variables) () (cons '&key variables))
-; (mob-structure ,variables ,init ,logic ,render)))
-
(defmacro mob-structure (variables init logic render)
`(list
:init (lambda () ,init)