diff --git a/icfp-2016/benchmark/suffixtree/post/label.rkt b/icfp-2016/benchmark/suffixtree/post/label.rkt index f5355f3..94b7bfd 100644 --- a/icfp-2016/benchmark/suffixtree/post/label.rkt +++ b/icfp-2016/benchmark/suffixtree/post/label.rkt @@ -122,7 +122,7 @@ ;; Gets a slice of the label on the half-open interval [i, j) (: sublabel (case-> (-> label Index label) (-> label Index Index label))) -(define-values (sublabel) +(define sublabel (case-lambda ((label i) (sublabel label i (label-length label))) @@ -137,7 +137,7 @@ ;; destructively sets the input label to sublabel. (: sublabel! (case-> (-> label Index Void) (-> label Index Index Void))) -(define-values (sublabel!) +(define sublabel! (case-lambda ((label i) (sublabel! label i (label-length label))) diff --git a/icfp-2016/benchmark/synth/post/drum.rkt b/icfp-2016/benchmark/synth/post/drum.rkt index ea614da..07f34df 100644 --- a/icfp-2016/benchmark/synth/post/drum.rkt +++ b/icfp-2016/benchmark/synth/post/drum.rkt @@ -30,7 +30,7 @@ (: ds* In-Indexes) (define ds* (vector n-samples)) (: ds Indexes) - (define-values (ds) + (define ds (check-array-shape ds* (λ () (raise-argument-error 'name "Indexes" ds)))) (: vs (Vectorof Flonum)) diff --git a/private/common.rkt b/private/common.rkt index cd1d386..c6a88a6 100644 --- a/private/common.rkt +++ b/private/common.rkt @@ -30,7 +30,7 @@ syntax/parse syntax/id-table (for-template - (prefix-in tr: (only-in typed/racket/base define let let-syntax quote set!)) + (prefix-in tr: typed/racket/base) (prefix-in r: (only-in racket/base quote)))) ;; ============================================================================= @@ -90,9 +90,9 @@ [else (parser stx)])))) (define f-define (lambda (stx) - (syntax-parse stx + (syntax-parse stx #:literals (tr:#%plain-lambda) [(_ name:id v) - #:with v+ (expand-expr (syntax/loc stx v)) + #:with (tr:#%plain-lambda (_) v+) (expand-expr (syntax/loc stx (tr:lambda (name) v))) #:when (syntax-e (syntax/loc stx v+)) #:with m (f-parse (syntax/loc stx v+)) #:when (syntax-e (syntax/loc stx m))