mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-08 13:37:33 +02:00
Added unless
This commit is contained in:
parent
c2db08de46
commit
1c3e546be7
1 changed files with 21 additions and 74 deletions
|
@ -112,6 +112,7 @@
|
||||||
cond-expand
|
cond-expand
|
||||||
do
|
do
|
||||||
when
|
when
|
||||||
|
unless
|
||||||
quasiquote
|
quasiquote
|
||||||
floor
|
floor
|
||||||
ceiling
|
ceiling
|
||||||
|
@ -123,40 +124,6 @@
|
||||||
;;;;
|
;;;;
|
||||||
; Possibly missing functions:
|
; Possibly missing functions:
|
||||||
;
|
;
|
||||||
; ; TODO: error-object-irritants
|
|
||||||
; ; TODO: error-object-message
|
|
||||||
; ; TODO: error-object?
|
|
||||||
; ; TODO: file-error?
|
|
||||||
; ; TODO: read-error?
|
|
||||||
; ;(Cyc-bin-op cmp x lst)
|
|
||||||
; ;(Cyc-bin-op-char cmp c cs)
|
|
||||||
; ;=>
|
|
||||||
; ;bytevector-u8-set!
|
|
||||||
; ;current-error-port
|
|
||||||
; ;define-values
|
|
||||||
; ;error-object-irritants
|
|
||||||
; ;error-object-message
|
|
||||||
; ;error-object?
|
|
||||||
; ;file-error?
|
|
||||||
; ;guard
|
|
||||||
; ;import
|
|
||||||
; ;include-ci
|
|
||||||
; ;let-syntax
|
|
||||||
; ;letrec-syntax
|
|
||||||
; ;list-set!
|
|
||||||
; ;peek-u8
|
|
||||||
; ;port?
|
|
||||||
; ;raise
|
|
||||||
; ;raise-continuable
|
|
||||||
; ;read-bytevector!
|
|
||||||
; ;read-error?
|
|
||||||
; ;read-u8
|
|
||||||
; ;symbol=?
|
|
||||||
; ;syntax-rules
|
|
||||||
; ;u8-ready?
|
|
||||||
; ;unquote
|
|
||||||
; ;unquote-splicing
|
|
||||||
; ;write-u8
|
|
||||||
; binary-port?
|
; binary-port?
|
||||||
; bytevector
|
; bytevector
|
||||||
; bytevector-append
|
; bytevector-append
|
||||||
|
@ -164,42 +131,29 @@
|
||||||
; bytevector-copy!
|
; bytevector-copy!
|
||||||
; bytevector-length
|
; bytevector-length
|
||||||
; bytevector-u8-ref
|
; bytevector-u8-ref
|
||||||
|
; bytevector-u8-set!
|
||||||
; bytevector?
|
; bytevector?
|
||||||
; char->integer
|
|
||||||
; char-ready?
|
|
||||||
; close-input-port
|
|
||||||
; close-output-port
|
|
||||||
; close-port
|
|
||||||
; complex?
|
; complex?
|
||||||
; current-error-port
|
|
||||||
; define-record-type
|
; define-record-type
|
||||||
|
; define-values
|
||||||
; denominator
|
; denominator
|
||||||
; eof-object
|
; eof-object
|
||||||
; eof-object?
|
|
||||||
; eq?
|
|
||||||
; equal?
|
|
||||||
; eqv?
|
|
||||||
; exact-integer-sqrt
|
|
||||||
; foldl
|
|
||||||
; foldr
|
|
||||||
; get-output-bytevector
|
; get-output-bytevector
|
||||||
; get-output-string
|
; get-output-string
|
||||||
|
; guard
|
||||||
|
; import
|
||||||
; include
|
; include
|
||||||
; input-port-open?
|
; input-port-open?
|
||||||
; input-port?
|
; input-port?
|
||||||
; integer->char
|
|
||||||
; integer?
|
|
||||||
; length
|
|
||||||
; let*-values
|
; let*-values
|
||||||
|
; let-syntax
|
||||||
; let-values
|
; let-values
|
||||||
; letrec*
|
; letrec*
|
||||||
|
; letrec-syntax
|
||||||
; list->string
|
; list->string
|
||||||
; list->vector
|
; list->vector
|
||||||
; list-set!
|
; list-set!
|
||||||
; make-bytevector
|
; make-bytevector
|
||||||
; make-vector
|
|
||||||
; number->string
|
|
||||||
; number?
|
|
||||||
; numerator
|
; numerator
|
||||||
; open-input-bytevector
|
; open-input-bytevector
|
||||||
; open-input-string
|
; open-input-string
|
||||||
|
@ -207,41 +161,26 @@
|
||||||
; open-output-string
|
; open-output-string
|
||||||
; output-port-open?
|
; output-port-open?
|
||||||
; output-port?
|
; output-port?
|
||||||
; pair?
|
|
||||||
; parameterize
|
; parameterize
|
||||||
; peek-char
|
; peek-u8
|
||||||
; procedure?
|
|
||||||
; quotient
|
|
||||||
; raise
|
; raise
|
||||||
; raise-continuable
|
; raise-continuable
|
||||||
; rational?
|
; rational?
|
||||||
; rationalize
|
; rationalize
|
||||||
; read-bytevector
|
; read-bytevector
|
||||||
; read-char
|
; read-bytevector!
|
||||||
; read-string
|
; read-string
|
||||||
; real?
|
; read-u8
|
||||||
; record?
|
; record?
|
||||||
; remainder
|
|
||||||
; string->number
|
|
||||||
; string->symbol
|
|
||||||
; string->utf8
|
; string->utf8
|
||||||
; string-append
|
|
||||||
; string-length
|
|
||||||
; string-ref
|
|
||||||
; string?
|
|
||||||
; substring
|
|
||||||
; symbol->string
|
|
||||||
; symbol=?
|
|
||||||
; symbol?
|
|
||||||
; syntax-error
|
; syntax-error
|
||||||
|
; syntax-rules
|
||||||
; textual-port?
|
; textual-port?
|
||||||
; unless
|
; u8-ready?
|
||||||
; utf8->string
|
; utf8->string
|
||||||
; vector-length
|
|
||||||
; vector-ref
|
|
||||||
; vector?
|
|
||||||
; write-bytevector
|
; write-bytevector
|
||||||
; write-string
|
; write-string
|
||||||
|
; write-u8
|
||||||
;;;;
|
;;;;
|
||||||
)
|
)
|
||||||
(begin
|
(begin
|
||||||
|
@ -423,6 +362,14 @@
|
||||||
`(if ,(cadr exp)
|
`(if ,(cadr exp)
|
||||||
((lambda () ,@(cddr exp)))
|
((lambda () ,@(cddr exp)))
|
||||||
#f))))
|
#f))))
|
||||||
|
(define-syntax unless
|
||||||
|
(er-macro-transformer
|
||||||
|
(lambda (exp rename compare)
|
||||||
|
(if (null? (cdr exp)) (error "empty unless" exp))
|
||||||
|
(if (null? (cddr exp)) (error "no unless body" exp))
|
||||||
|
`(if ,(cadr exp)
|
||||||
|
#f
|
||||||
|
((lambda () ,@(cddr exp)))))))
|
||||||
(define-syntax do
|
(define-syntax do
|
||||||
(er-macro-transformer
|
(er-macro-transformer
|
||||||
(lambda (expr rename compare)
|
(lambda (expr rename compare)
|
||||||
|
|
Loading…
Add table
Reference in a new issue