ラケットには、タイプごとの情報を構造体に追加する2つのメカニズムがあるようです:generics
とproperties
です。残念ながら、ドキュメントは、どちらが優先されるのかを示すようには見えません。ドキュメントは次のようになります。ストラクチャのプロパティとラケットのジェネリック
汎用インタフェースは、構造型プロパティの上位に高レベルのAPIを提供します。
しかし、私がもう一方を使うべきであるときには、それは良い直感を提供してくれないようです。 define-generic
は、make-struct-type-property
よりはるかに高いレベルのインターフェイスを提供することは明らかです。しかし、多くの構造体型はまだプロパティーしか使用していません。これは、低レベルのAPIが好まれる場合がまだあることを示すようです。
したがって、構造体プロパティシステムをジェネリックプロパティシステムよりも使用しているとき、またはプロパティライブラリが歴史的な遺物としてしか存在しないときはどうでしょうか?