Add `defined?' assertions to fix DrRacket.
original commit: e70ccafd7b591df218a1ae036f599c671eb57824
This commit is contained in:
parent
1527fba4b3
commit
eacda65291
|
@ -14,4 +14,4 @@
|
|||
(for-syntax "private/base-types-extra.rkt"))
|
||||
(provide (rename-out [with-handlers: with-handlers])
|
||||
(for-syntax (all-from-out "private/base-types-extra.rkt"))
|
||||
assert with-type for for*)
|
||||
assert defined? with-type for for*)
|
||||
|
|
|
@ -186,6 +186,7 @@
|
|||
[assert (-poly (a b) (cl->*
|
||||
(Univ (make-pred-ty (list a) Univ b) . -> . b)
|
||||
(-> (Un a (-val #f)) a)))]
|
||||
[defined? (->* (list Univ) -Boolean : (-FS (-not-filter -Undefined 0 null) (-filter -Undefined 0 null)))]
|
||||
[gensym (->opt [Sym] Sym)]
|
||||
[string-append (->* null -String -String)]
|
||||
[open-input-string (-> -String -Input-Port)]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#lang scheme/base
|
||||
(provide assert)
|
||||
(provide assert defined?)
|
||||
|
||||
(define-syntax assert
|
||||
(syntax-rules ()
|
||||
|
@ -8,3 +8,6 @@
|
|||
((assert v pred)
|
||||
(let ((val v))
|
||||
(if (pred val) val (error "Assertion failed"))))))
|
||||
|
||||
(define (defined? v)
|
||||
(not (equal? v (letrec ([x x]) x))))
|
|
@ -14,5 +14,5 @@
|
|||
(for-syntax typed-scheme/private/base-types-extra))
|
||||
(provide (rename-out [with-handlers: with-handlers]
|
||||
[define-type-alias define-type])
|
||||
assert with-type for for*
|
||||
assert defined? with-type for for*
|
||||
(for-syntax (all-from-out typed-scheme/private/base-types-extra)))
|
||||
|
|
|
@ -14,5 +14,5 @@
|
|||
(for-syntax typed-scheme/private/base-types-extra))
|
||||
(provide (rename-out [with-handlers: with-handlers]
|
||||
[define-type-alias define-type])
|
||||
assert with-type for for*
|
||||
assert defined? with-type for for*
|
||||
(for-syntax (all-from-out typed-scheme/private/base-types-extra)))
|
||||
|
|
Loading…
Reference in New Issue
Block a user