subtemplate/private/optcontract.rkt

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))