[racket] arrow contract with unrestricted keywords?

From: Ryan Culpepper (ryanc at ccs.neu.edu)
Date: Fri Aug 27 21:53:18 EDT 2010

Robby Findler wrote:
> Unfortunately, there is not. The simplest thing is probably to roll
> you own checks, but if you wanted to make a new contract combinator,
> I'd be happy to help.

I figured it out from the "Building New Contract Combinators" section of 
the docs. The resulting code is a bit verbose, but not difficult. The 
examples for 'make-contract' helped a lot.


> On Fri, Aug 27, 2010 at 3:32 AM, Ryan Culpepper <ryanc at ccs.neu.edu> wrote:
>> I have an apply-like procedure (actually, it's a kind of curry) that takes
>> at least one positional argument and accepts arbitrary keyword arguments.
>> That is,
>>  (procedure-arity p) = (arity-at-least 1)
>>  (procedure-keywords p) = (values '() #f)
>> I want an arrow contract that applies a contract to the first positional
>> argument and leaves everything else unconstrained. In particular, I want the
>> contracted procedure to still accept arbitrary keyword arguments. Is there a
>> way to do that?
>> Ryan
>> _________________________________________________
>>  For list-related administrative tasks:
>>  http://lists.racket-lang.org/listinfo/users

Posted on the users mailing list.