El au hasard contient une classe de type Uniform
pour les types uniformément répartis. Cela fonctionne pour des types comme :
data Coin = Heads | Tails
Mais disons que je veux modéliser un ensemble de choses avec une distribution non uniforme, par exemple en ajoutant la possibilité que la pièce tombe sur le côté :
data Coin = Heads | Tails | Side
Maintenant, je pourrais toujours mettre en œuvre Uniform
avec une distribution non-uniforme dans son implémentation, mais ce serait mentir aux règles implicites de Uniform
.
Dois-je me contenter d'utiliser une fonction autonome ou existe-t-il une sorte de classe pour le concept de distribution "réelle" ?
Cette classe de types serait utile dans le contexte d'un RPG où l'on pourrait avoir certains types
data Rarity = Common | Rare
data DropType = Club | Sword
où les chances d'obtenir un Rare
et le fait que ce soit un Sword
pourrait être inférieure aux autres valeurs. Mais le concept de tirer une valeur de l'ensemble de toutes les valeurs de ce type est toujours le même pour les valeurs suivantes Rarity
y DropType
c'est pourquoi cela ressemble à un travail pour les classes de type pour moi.