La raquette semble avoir deux mécanismes pour ajouter des informations par type aux structures: generics
et properties
. Malheureusement, la documentation ne semble pas indiquer quand l'un est préféré à l'autre. Les docs disent:Propriétés de structure vs génériques dans la raquette
Les interfaces génériques fournissent une API de haut niveau au-dessus des propriétés de type de structure.
Mais cela ne semble pas fournir une bonne intuition quand je devrais utiliser l'un sur l'autre. Il semble assez clair que define-generic
fournit une interface de niveau beaucoup plus élevé que make-struct-type-property
. Mais de nombreux types de structures utilisent uniquement des propriétés, ce qui semble indiquer qu'il existe toujours des cas où l'API de bas niveau est préférée. Donc, la question est de savoir quand utiliser le système de propriétés de la structure mieux que d'utiliser le système générique, ou est-ce que la bibliothèque de propriétés existe seulement comme une relique historique?