15 lines
397 B
Racket
15 lines
397 B
Racket
#;
|
|
(exn-fail "incomplete coverage; missing coverage of Negative-Integer")
|
|
#lang typed/racket
|
|
|
|
(define-syntax (cond* stx)
|
|
(syntax-case stx ()
|
|
[(_ x clause ...)
|
|
#`(cond clause ... [else (typecheck-fail #,stx "incomplete coverage" #:covered-id x)])]))
|
|
|
|
(: f : (U String Integer) -> Boolean)
|
|
(define (f x)
|
|
(cond* x
|
|
[(string? x) #t]
|
|
[(exact-nonnegative-integer? x) #f]))
|