schemify: fix boolean-or-fixnum?
Also, add null? to equal-implies-eq?
This commit is contained in:
parent
a5d0d38ae0
commit
8d08264b41
|
@ -15,18 +15,19 @@
|
|||
(let ([val (unwrap val)])
|
||||
(or (symbol? val)
|
||||
(keyword? val)
|
||||
(null? val)
|
||||
(boolean-or-fixnum? val)))]
|
||||
[`,val
|
||||
(let ([val (unwrap val)])
|
||||
;; Booleans and numbers don't have to be quuted
|
||||
;; Booleans and numbers don't have to be quoted
|
||||
(boolean-or-fixnum? val))]))
|
||||
|
||||
(define (boolean-or-fixnum? val)
|
||||
(boolean? val)
|
||||
(and (integer? val)
|
||||
(exact? val)
|
||||
;; Always fixnum? Conversatively...
|
||||
(<= (- (expt 2 16)) val (expt 2 16))))
|
||||
(or (boolean? val)
|
||||
(and (integer? val)
|
||||
(exact? val)
|
||||
;; Always fixnum? conservatively...
|
||||
(<= (- (expt 2 24)) val (- (expt 2 24) 1)))))
|
||||
|
||||
(define (equal-implies-eqv? e)
|
||||
(match e
|
||||
|
|
Loading…
Reference in New Issue
Block a user