~nytpu/dbc-scheme

c793311621408112d4d5c2c5e6acb9b8d01aa0e2 — nytpu 1 year, 9 months ago a9e2d74
have define-contract use lambda-contract
1 files changed, 10 insertions(+), 6 deletions(-)

M contracts.scm
M contracts.scm => contracts.scm +10 -6
@@ 164,12 164,16 @@
;;> general.
(define-syntax define-contract
  (syntax-rules (pre post)
    ((_ formals (pre c1 ...) (post c2 ...) e1 e2 ...)
     (define formals
         (verify-contracts
           c2 ...
           (return (begin (verify-contracts c1 ...)
                          e1 e2 ...)))))
    ((_ (name . ff) (pre c1 ...) (post c2 ...) e1 e2 ...)
     (define name
       (lambda-contract ff
         (pre c1 ...) (post c2 ...)
         e1 e2 ...)))
    ((_ (name f ...) (pre c1 ...) (post c2 ...) e1 e2 ...)
     (define name
       (lambda-contract (f ...)
         (pre c1 ...) (post c2 ...)
         e1 e2 ...)))
    ((_ formals (post c2 ...) (pre c1 ...) e1 e2 ...)
     (define-contract formals (pre c1 ...) (post c2 ...) e1 e2 ...))
    ((_ formals (pre c ...) e1 e2 ...)