[racket] procedure contract for "at least N arguments, possibly more"

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Fri Jun 8 19:13:02 EDT 2012

Is there a way with the core procedure contractor combinators, to say 
"at least 2 arguments, possibly more"?

So far, I have gotten "->*" to give me "2 arguments and arbitrarily 
more", which is not what I want.

(Rationale for why I want "at least 2 arguments, possibly more"... I 
have a library procedure that accepts two provided procedures, P1 and 
P2.  It applies P1 in one context and saves the value(s) returned, then 
applies P2 in a different context with two fixed arguments plus an 
additional argument for each value saved from applying P1.  So, I just 
want the contract for P2 to require the 2 fixed arguments, and permit 
additional arguments, but not require P2 to accept arbitrary arguments.)

Neil V.


Posted on the users mailing list.