[plt-scheme] No vector-of-functions contract?

From: Will Farr (farr at MIT.EDU)
Date: Fri Jun 13 18:30:49 EDT 2008

Hello all,

I want to have the following provide form in some of my code:

  (eta (matrix-of-dimensions/c 4 4))
  (generators (vectorof (matrix-of-dimensions/c 4 4)))
  (exp-generators (vectorof (-> real? (matrix-of-dimensions/c 4 4)))))

Note the contract on exp-generators: a vector of functions.  Trying to  
compile this code complains about

vectorof: expected a flat contract or procedure of arity 1 as  
argument, got: #<|->|>

Is there any way to put a contract on this export more specific than  
(vectorof procedure?)?  Is it just too hard to dig into the vector and  
attach the appropriate higher-order contract to its members?


Posted on the users mailing list.