21 lines
676 B
Racket
21 lines
676 B
Racket
#lang racket
|
|
|
|
(provide (except-out (all-from-out racket/contract)
|
|
define-struct/contract
|
|
;define/contract
|
|
provide/contract
|
|
invariant-assertion)
|
|
define/contract
|
|
define/contract/always
|
|
define/contract/alt)
|
|
|
|
(require (rename-in racket/contract
|
|
[define/contract define/contract/always]))
|
|
|
|
(define-syntax-rule (define/contract sig c . rest)
|
|
(define sig . rest))
|
|
|
|
;; The alt-code is executed in the body of the function when the contract is
|
|
;; disabled:
|
|
(define-syntax-rule (define/contract/alt sig c alt-code . rest)
|
|
(define sig alt-code . rest)) |