Fix module syntax; should be (define ...), not (declare ...).
This commit is contained in:
parent
723f52dc1d
commit
8318db755f
|
|
@ -5,17 +5,17 @@
|
|||
(provide read-module)
|
||||
|
||||
(define (read-module [port (current-input-port)])
|
||||
`(lambda argv
|
||||
`(lambda *argv*
|
||||
,@(let iter ([forms (read-forms port)]
|
||||
[bindings '()])
|
||||
(cond
|
||||
[(null? forms) (if (null? bindings)
|
||||
'()
|
||||
`(letrec ,bindings))]
|
||||
[(simple-declare-form? (first forms))
|
||||
[(simple-define-form? (first forms))
|
||||
(iter (cdr forms) (cons (cdr (first forms))
|
||||
bindings))]
|
||||
[(lambda-declare-form? (first forms))
|
||||
[(lambda-define-form? (first forms))
|
||||
(iter (cdr forms) (cons `(,(first (second (first forms)))
|
||||
(lambda ,(cdr (second (first forms)))
|
||||
,@(cddr (first forms))))
|
||||
|
|
@ -34,15 +34,15 @@
|
|||
forms
|
||||
(iter (read port) (cons form forms))))))
|
||||
|
||||
(define (simple-declare-form? form)
|
||||
(define (simple-define-form? form)
|
||||
(and (pair? form)
|
||||
(eq? (first form) 'declare)
|
||||
(eq? (first form) 'define)
|
||||
(symbol? (second form))
|
||||
(null? (cdddr form))))
|
||||
|
||||
(define (lambda-declare-form? form)
|
||||
(define (lambda-define-form? form)
|
||||
(and (pair? form)
|
||||
(eq? (first form) 'declare)
|
||||
(eq? (first form) 'define)
|
||||
(pair? (second form))
|
||||
(symbol? (first (second form)))))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue