私のプログラムでは、次のような一種の行列を (ベクトルのベクトルとして) 使用しています。
[[:lt :lt :gt :eq]
[:eq :lt :gt :eq]
[:eq :eq :gt :gt]
[:un :eq :lt :lt]]
次のように宣言されたスキーマがあります。
(def OrderMatrix [[(s/enum :lt :eq :gt :un)]]
私がやりたいことは、スキーマをさらに制限して、マトリックスが clojure.lang.PersistentVector のベクトル、または (可能であれば) さらに良い、ランダム アクセスをサポートする構造であることを確認することです。スキーマで [ ] を使用するとシーケンスのみがテストされるように思われるため、リストのリストもスキーマに合格します。
この制約をスキーマで表現するにはどうすればよいですか?