Skip to content

Commit

Permalink
Add a preliminarily support for define/contract
Browse files Browse the repository at this point in the history
  • Loading branch information
sorawee committed Jun 5, 2023
1 parent 114e1f7 commit fa8fd5c
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 0 deletions.
2 changes: 2 additions & 0 deletions conventions.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,8 @@
[("λ" "lambda") (format-define-like)]
[("match-define" "match-define-values") (format-define-like)]

[("define/contract") (format-define-like)]

[("let*") format-let*]
[("let-values" "let*-values" "letrec" "letrec-values") format-parameterize]
[("let-syntax" "letrec-syntax" "let-syntaxes" "letrec-syntaxes") format-parameterize]
Expand Down
11 changes: 11 additions & 0 deletions tests/define-contract.rkt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
(define/contract x integer? 1)

(define/contract (f x) (-> integer? integer?)
(cond
[(zero? x) 1]
[else 2]))

(define/contract (f wwwwwwwwwwwwwwww xxxxxxxxxxxxxx yyyyyyyyyyyy zzzzzzzzzzzzzzzzzz) (-> integer? integer? integer?)
(cond
[(zero? x) 1]
[else 2]))
15 changes: 15 additions & 0 deletions tests/define-contract.rkt.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
(define/contract x
integer?
1)

(define/contract (f x)
(-> integer? integer?)
(cond
[(zero? x) 1]
[else 2]))

(define/contract (f wwwwwwwwwwwwwwww xxxxxxxxxxxxxx yyyyyyyyyyyy zzzzzzzzzzzzzzzzzz)
(-> integer? integer? integer?)
(cond
[(zero? x) 1]
[else 2]))

0 comments on commit fa8fd5c

Please sign in to comment.