Add implementation of SRFI 31.
This commit is contained in:
		
							parent
							
								
									7ab2c69a6d
								
							
						
					
					
						commit
						5788fb4790
					
				|  | @ -548,6 +548,9 @@ | |||
| 	  random-source-make-integers | ||||
| 	  random-source-make-reals)) | ||||
| 
 | ||||
| (define-interface srfi-31-interface | ||||
|   (export (rec :syntax))) | ||||
| 
 | ||||
| (define-interface srfi-37-interface | ||||
|   (export | ||||
|    option | ||||
|  |  | |||
|  | @ -729,7 +729,7 @@ | |||
|     (define available-srfis | ||||
|       '(srfi-1 srfi-2 srfi-5 srfi-6 srfi-7 srfi-8 srfi-9 | ||||
| 	srfi-11 srfi-13 srfi-14 srfi-16 srfi-17 srfi-23 | ||||
| 	srfi-25 srfi-26 srfi-27 srfi-28 srfi-30)) | ||||
| 	srfi-25 srfi-26 srfi-27 srfi-28 srfi-30 srfi-31)) | ||||
| 
 | ||||
|     ; Some SRFI's redefine Scheme variables. | ||||
|     (define shadowed | ||||
|  | @ -854,6 +854,10 @@ | |||
| 
 | ||||
| ; SRFI-30 - scheme/rts/read.scm contains the reader for #|...|# comments | ||||
| 
 | ||||
| (define-structure srfi-31 srfi-31-interface | ||||
|   (open scheme) | ||||
|   (files (srfi srfi-31))) | ||||
| 
 | ||||
| (define-structure srfi-37 srfi-37-interface | ||||
|   (open scheme  | ||||
| 	srfi-9  | ||||
|  | @ -946,7 +950,7 @@ | |||
| 	    srfi-1 srfi-2 srfi-5 srfi-6 srfi-7 srfi-8 srfi-9 | ||||
| 	    srfi-11 srfi-13 srfi-14 srfi-16 srfi-17 | ||||
| 	    srfi-23 srfi-25 srfi-26 srfi-27 srfi-28 | ||||
| 	    srfi-37 | ||||
| 	    srfi-31 srfi-37 | ||||
| 	    ) | ||||
| 	   :structure) | ||||
| 	  ((define-signature define-package) :syntax))) | ||||
|  |  | |||
|  | @ -0,0 +1,9 @@ | |||
| ; Taken directly from the SRFI document. | ||||
| 
 | ||||
| (define-syntax rec | ||||
|   (syntax-rules () | ||||
|     ((rec (NAME . VARIABLES) . BODY) | ||||
|      (letrec ( (NAME (lambda VARIABLES . BODY)) ) NAME)) | ||||
|     ((rec NAME EXPRESSION) | ||||
|      (letrec ( (NAME EXPRESSION) ) NAME)))) | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	 sperber
						sperber