Dans Elm, je me trouve parfois en train de définir un type d'enregistrement en utilisant un type d'union avec un seul constructeur. Je puis utiliser un cas déclaration avec un seul cas pour décompresser les champs d'enregistrement:Utilisation d'un seul type d'union de constructeur
type Model =
Model { stack: List Int }
update msg model =
case model of
Model { stack } ->
...
Est-il un moyen plus court de déballer cela? Le cas d'un cas semble stupide. Cela provoque une indentation et une verbosité inutiles. En outre: J'utilise type
au lieu de type alias
pour être plus explicite lorsque je traite les structures de données centrales dans un programme (qui ont tendance à avoir peu de champs et ne sont utilisés que dans quelques endroits du programme, donc l'extra verbosité n'est pas que beaucoup d'un problème). Serait-il préférable d'abandonner cette approche et d'utiliser un alias de type pour les enregistrements chaque fois que cela est possible?
Comme le note Tchad ci-dessous, votre enveloppement du modèle dans un constructeur de type n'est pas particulièrement nécessaire. C'est plus commun parmi les auteurs de bibliothèque que dans ceux qui écrivent des applications –