Un exemple artificiel:Y compris deux signatures, à la fois avec un 'type t' [Standard ML]
signature A =
sig
type t
val x: t
end
signature B =
sig
type t
val y: t
end
signature C = sig include A B end
De toute évidence, cela entraînera des plaintes que type t
se produit deux fois dans C
. Mais est-il un moyen d'exprimer que je veux que les deux t
s à assimiler, de se retrouver avec:
signature C =
sig
type t
val x: t
val y: t
end
J'ai essayé toutes sortes de syntaxe stupide comme include B where type t = A.t
, qui sans surprise ne fonctionne pas. Y a-t-il quelque chose que j'ai oublié d'essayer?
Aussi, je sais que cela serait simplement répondu en vérifiant la syntaxe de la langue pour quelque chose d'évident (ou un manque de), mais je ne pouvais pas trouver une grammaire complète nulle part sur internet.
(FWIW, la raison réelle que je suis en train de faire est monades de style Haskell et tel, lorsqu'une MonadPlus
est juste un mélange d'un Monad
et un Alternative
, au moment où je ne fais que répéter le contenu de ALTERNATIVE
dans MONAD_PLUS
, ce qui me semble moins qu'idéale.)