Tief vielleicht mit Yesod stapeln
Ich versuche, ein Autorisierungsschema festzulegen, bei dem ich überprüfe, ob 1. Benutzer angemeldet ist 2. Benutzer Zugriff auf ein bestimmtes Objekt hat. Dafür rufe ich zuerst anmaybeAuthId
Versuchen Sie dann, das aktuelle Objekt abzurufen, und verbinden Sie sich mit einer anderen Tabelle, in der die Berechtigungen aufgeführt sind. Es gibt zwei Ebenen von Vielleicht-Fällen und eine Ebene von Leer-Listen-Fällen. Ich habe überlegt, MaybeT zu verwenden, aber entweder bin ich zu müde, um es zum Laufen zu bringen, oder der "nicht wirklich monadische Transformator" -Handler-Transformator kann nicht mit MaybeT verwendet werden. Gibt es eine gute Möglichkeit, mit tiefen Maybes umzugehen?
Bearbeiten:
Mir war ein bisschen unklar, wie es scheint. Ich meinte, dass ich so etwas habe:
case foo of
Nothing -> something
Just foo' -> do
bar <- somethingelse
case bar of
Nothing -> ...
Just bar' -> ...