diff options
Diffstat (limited to 'src/lisp/ao_lisp_const.lisp')
| -rw-r--r-- | src/lisp/ao_lisp_const.lisp | 62 | 
1 files changed, 32 insertions, 30 deletions
| diff --git a/src/lisp/ao_lisp_const.lisp b/src/lisp/ao_lisp_const.lisp index 4dc63bbf..6fbc35b6 100644 --- a/src/lisp/ao_lisp_const.lisp +++ b/src/lisp/ao_lisp_const.lisp @@ -75,32 +75,6 @@  (defun 1+ (x) (+ x 1))  (defun 1- (x) (- x 1)) -					; boolean operators - -(def or (lexpr (l) -	       (let ((ret nil)) -		 (while l -		   (cond ((setq ret (car l)) -			  (setq l nil)) -			 ((setq l (cdr l))))) -		 ret -		 ) -	       ) -     ) - -(def and (lexpr (l) -	       (let ((ret t)) -		 (while l -		   (cond ((setq ret (car l)) -			  (setq l (cdr l))) -			 ((setq ret (setq l nil))) -			 ) -		   ) -		 ret -		 ) -	       ) -     ) -  					; define a set of local  					; variables and then evaluate  					; a list of sexprs @@ -192,9 +166,37 @@  		)       ) -					; run the let macro once to -					; evaluate all of the internal -					; macro calls +					; boolean operators + +(def or (lexpr (l) +	       (let ((ret nil)) +		 (while l +		   (cond ((setq ret (car l)) +			  (setq l nil)) +			 ((setq l (cdr l))))) +		 ret +		 ) +	       ) +     ) + +					; execute to resolve macros + +(or nil t) + +(def and (lexpr (l) +	       (let ((ret t)) +		 (while l +		   (cond ((setq ret (car l)) +			  (setq l (cdr l))) +			 ((setq ret (setq l nil))) +			 ) +		   ) +		 ret +		 ) +	       ) +     ) + +					; execute to resolve macros -(let ((let-param 1))) +(and t nil) | 
