1

Say I have a function that takes a lot of homogeneous keywords arguments:

(define (my-function #:arg1 arg1
                     #:arg2 arg2
                     ; etc.
                     #:argN argN) (do-something))

"Homogeneous" in the sense that they all fall under the same contract. Is there a better way of defining a contract for my-function without simply listing out all the arguments again, as in:

(-> #:arg1 my-arg/c
    #:arg2 my-arg/c
    ; etc.
    #:argN my-arg/c
    my-return/c)

I suppose one could write a macro for this, but is there an easier solution?

Xophmeister
  • 8,884
  • 4
  • 44
  • 87

0 Answers0