use separate reader and writer functions / methods for data stack and test result
This commit is contained in:
		
							parent
							
								
									6f93968e4b
								
							
						
					
					
						commit
						9bed7704b6
					
				
					 2 changed files with 11 additions and 5 deletions
				
			
		|  | @ -17,7 +17,10 @@ | ||||||
|       (funcall (find-symbol (symbol-name x) :scopes/forge) fe) |       (funcall (find-symbol (symbol-name x) :scopes/forge) fe) | ||||||
| 	  (pushd fe x)))) | 	  (pushd fe x)))) | ||||||
| 
 | 
 | ||||||
| (defmacro data-stack (fe) | (defun data-stack (fe) | ||||||
|  |   (elt fe 0)) | ||||||
|  | 
 | ||||||
|  | (defmacro data-stack! (fe) | ||||||
|   `(elt ,fe 0)) |   `(elt ,fe 0)) | ||||||
| 
 | 
 | ||||||
| ; forge primitives | ; forge primitives | ||||||
|  | @ -28,8 +31,8 @@ | ||||||
| ; internal definitions | ; internal definitions | ||||||
| 
 | 
 | ||||||
| (defun popd (fe) | (defun popd (fe) | ||||||
|   (pop (data-stack fe))) |   (pop (data-stack! fe))) | ||||||
| 
 | 
 | ||||||
| (defun pushd (fe v) | (defun pushd (fe v) | ||||||
|   (push v (data-stack fe))) |   (push v (data-stack! fe))) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -12,8 +12,11 @@ | ||||||
|   (vector nil)) |   (vector nil)) | ||||||
| 
 | 
 | ||||||
| (defun assert-eq (tst have wanted) | (defun assert-eq (tst have wanted) | ||||||
|   (push (equalp have wanted) (result tst))) |   (push (equalp have wanted) (result! tst))) | ||||||
| 
 | 
 | ||||||
| (defmacro result (tst)  | (defun result (tst) | ||||||
|  |   (elt tst 0)) | ||||||
|  | 
 | ||||||
|  | (defmacro result! (tst)  | ||||||
|   `(elt ,tst 0)) |   `(elt ,tst 0)) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue