Added ... auxilary kwd
This commit is contained in:
parent
8e4adec147
commit
905b6c96c6
BIN
src/ikarus.boot
BIN
src/ikarus.boot
Binary file not shown.
|
@ -1063,6 +1063,8 @@
|
||||||
"~s is not a record of type ~s"
|
"~s is not a record of type ~s"
|
||||||
x ',rtd)))))
|
x ',rtd)))))
|
||||||
setters i*))))])))
|
setters i*))))])))
|
||||||
|
(define incorrect-usage-macro
|
||||||
|
(lambda (e) (stx-error e "incorrect usage of auxilary keyword")))
|
||||||
(define parameterize-transformer ;;; go away
|
(define parameterize-transformer ;;; go away
|
||||||
(lambda (e r mr)
|
(lambda (e r mr)
|
||||||
(syntax-match e ()
|
(syntax-match e ()
|
||||||
|
@ -1553,18 +1555,20 @@
|
||||||
[(procedure? x) x]
|
[(procedure? x) x]
|
||||||
[(symbol? x)
|
[(symbol? x)
|
||||||
(case x
|
(case x
|
||||||
[(define-record) define-record-macro]
|
[(define-record) define-record-macro]
|
||||||
[(include) include-macro]
|
[(include) include-macro]
|
||||||
[(cond) cond-macro]
|
[(cond) cond-macro]
|
||||||
[(let) let-macro]
|
[(let) let-macro]
|
||||||
[(do) do-macro]
|
[(do) do-macro]
|
||||||
[(or) or-macro]
|
[(or) or-macro]
|
||||||
[(and) and-macro]
|
[(and) and-macro]
|
||||||
[(let*) let*-macro]
|
[(let*) let*-macro]
|
||||||
[(syntax-rules) syntax-rules-macro]
|
[(syntax-rules) syntax-rules-macro]
|
||||||
[(quasiquote) quasiquote-macro]
|
[(quasiquote) quasiquote-macro]
|
||||||
[(with-syntax) with-syntax-macro]
|
[(with-syntax) with-syntax-macro]
|
||||||
[(identifier-syntax) identifier-syntax-macro]
|
[(identifier-syntax) identifier-syntax-macro]
|
||||||
|
[(...) incorrect-usage-macro]
|
||||||
|
[(=>) incorrect-usage-macro]
|
||||||
[else (error 'macro-transformer "invalid macro ~s" x)])]
|
[else (error 'macro-transformer "invalid macro ~s" x)])]
|
||||||
[else (error 'core-macro-transformer "invalid macro ~s" x)])))
|
[else (error 'core-macro-transformer "invalid macro ~s" x)])))
|
||||||
(define (local-macro-transformer x)
|
(define (local-macro-transformer x)
|
||||||
|
|
|
@ -108,7 +108,9 @@
|
||||||
[cond (macro . cond)]
|
[cond (macro . cond)]
|
||||||
[do (macro . do)]
|
[do (macro . do)]
|
||||||
[and (macro . and)]
|
[and (macro . and)]
|
||||||
[or (macro . or)]))
|
[or (macro . or)]
|
||||||
|
[... (macro . ...)]
|
||||||
|
))
|
||||||
|
|
||||||
(define library-legend
|
(define library-legend
|
||||||
'([i (ikarus) #t]
|
'([i (ikarus) #t]
|
||||||
|
@ -194,41 +196,43 @@
|
||||||
|
|
||||||
|
|
||||||
(define ikarus-macros-map
|
(define ikarus-macros-map
|
||||||
'([define i r]
|
'([define i r]
|
||||||
[define-syntax i r]
|
[define-syntax i r]
|
||||||
[let-syntax i r]
|
[let-syntax i r]
|
||||||
[letrec-syntax i r]
|
[letrec-syntax i r]
|
||||||
[module i cm]
|
[module i cm]
|
||||||
[begin i r]
|
[begin i r]
|
||||||
[import i]
|
[import i]
|
||||||
[set! i r]
|
[set! i r]
|
||||||
[foreign-call i]
|
[foreign-call i]
|
||||||
[quote i r]
|
[quote i r]
|
||||||
[syntax-case i syncase]
|
[syntax-case i syncase]
|
||||||
[syntax i syncase]
|
[syntax i syncase]
|
||||||
[lambda i r]
|
[lambda i r]
|
||||||
[case-lambda i r]
|
[case-lambda i r]
|
||||||
[type-descriptor i ]
|
[type-descriptor i ]
|
||||||
[letrec i r]
|
[letrec i r]
|
||||||
[letrec* i r]
|
[letrec* i r]
|
||||||
[if i r]
|
[if i r]
|
||||||
[when i r]
|
[when i r]
|
||||||
[unless i r]
|
[unless i r]
|
||||||
[parameterize i parameters]
|
[parameterize i parameters]
|
||||||
[case i r]
|
[case i r]
|
||||||
[let-values i r]
|
[let-values i r]
|
||||||
[define-record i r]
|
[define-record i r]
|
||||||
[include i r]
|
[include i r]
|
||||||
[syntax-rules i r]
|
[syntax-rules i r]
|
||||||
[quasiquote i r]
|
[quasiquote i r]
|
||||||
[with-syntax i syncase]
|
[with-syntax i syncase]
|
||||||
[let i r]
|
[let i r]
|
||||||
[identifier-syntax i r]
|
[identifier-syntax i r]
|
||||||
[let* i r]
|
[let* i r]
|
||||||
[cond i r]
|
[cond i r]
|
||||||
[do i r]
|
[do i r]
|
||||||
[and i r]
|
[and i r]
|
||||||
[or i r]))
|
[or i r]
|
||||||
|
[... i r]
|
||||||
|
))
|
||||||
|
|
||||||
(define ikarus-procedures-map
|
(define ikarus-procedures-map
|
||||||
'([void i]
|
'([void i]
|
||||||
|
|
|
@ -230,7 +230,7 @@
|
||||||
[vector-set! C ba]
|
[vector-set! C ba]
|
||||||
[vector? C ba]
|
[vector? C ba]
|
||||||
[zero? C ba]
|
[zero? C ba]
|
||||||
[... S ba sc]
|
[... C ba sc]
|
||||||
[=> S ba ex]
|
[=> S ba ex]
|
||||||
[_ S ba sc]
|
[_ S ba sc]
|
||||||
[else S ba ex]
|
[else S ba ex]
|
||||||
|
|
Loading…
Reference in New Issue