mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-07-08 05:27:35 +02:00
allowing module and begin syntax in module definitions
This commit is contained in:
parent
5c33a39d4b
commit
e4659ff649
1 changed files with 8 additions and 3 deletions
|
@ -1,5 +1,5 @@
|
|||
;; config.scm -- configuration module
|
||||
;; Copyright (c) 2009-2010 Alex Shinn. All rights reserved.
|
||||
;; Copyright (c) 2009-2011 Alex Shinn. All rights reserved.
|
||||
;; BSD-style license: http://synthcode.com/license.txt
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -123,7 +123,7 @@
|
|||
(cond-expand
|
||||
(dynamic-loading (load-modules (cdr x) *shared-object-extension*))
|
||||
(else #f)))
|
||||
((body)
|
||||
((body begin)
|
||||
(for-each (lambda (expr) (eval expr env)) (cdr x)))))
|
||||
(module-meta-data mod))
|
||||
env))
|
||||
|
@ -159,6 +159,11 @@
|
|||
*modules*)))
|
||||
(set! *this-module* tmp))))))
|
||||
|
||||
(define-syntax module
|
||||
(er-macro-transformer
|
||||
(lambda (expr rename compare)
|
||||
(cons (rename 'define-module) (cdr expr)))))
|
||||
|
||||
(define-syntax define-config-primitive
|
||||
(er-macro-transformer
|
||||
(lambda (expr rename compare)
|
||||
|
@ -173,6 +178,7 @@
|
|||
(define-config-primitive include)
|
||||
(define-config-primitive include-shared)
|
||||
(define-config-primitive body)
|
||||
(define-config-primitive begin)
|
||||
|
||||
(define *modules*
|
||||
(list (cons '(scheme) (make-module #f (interaction-environment)
|
||||
|
@ -184,4 +190,3 @@
|
|||
(cons '(srfi 46) (make-module (list 'syntax-rules)
|
||||
(current-environment)
|
||||
(list (list 'export 'syntax-rules))))))
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue