eine Klasse Gegeben"Free" Typ Variablen durch funktionale Abhängigkeiten in Typ Synonyme gebunden
class MonadSignal m sigs | m -> sigs where ...
und eine Klasse
class CanSignal sigs sigs' where ...
Ich möchte eine Art Synonym wie diese
type MonadSignal' sigs m = (MonadSignal m sigs', CanSignal sigs sigs')
definieren
Hier wird die sigs'
Variable im Kopf des MonadSignal'
Typ Synonyms aber nicht erwähnt ist da, nur um die erste und die zweite Nebenbedingung zu verbinden, und es ist eindeutig durch m
festgelegt, die ist im Kopf erwähnt.
Normalerweise denke ich, ich wäre in der Lage es auf der RHS forall
aber da dies nur ein Constraint
Synonym ist, gibt es keinen eigentlichen Körper für die Variable in erscheinen.
hier etwas getan werden kann? (Außer die Variable in den Kopf setzen und den falschen Eindruck, wenn das Synonym tatsächlich verwendet wird, dass es eine tatsächliche „Variable“)
Dies ist eine gültige Lösung, die ich zuvor verwendet habe, aber ich brauchte die zusätzliche Flexibilität, die ich aus funktionalen Abhängigkeiten bekomme. –
Ah das ist eine Schande, Welche zusätzliche Flexibilität aus Neugier? – jozefg
Ich brauchte ein paar weitere Typparameter, damit ihre gegenseitigen Abhängigkeiten ein bisschen komplexer werden, als was mit den zugehörigen Typen ausgedrückt werden kann. –