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 anmaybeAuthIdVersuchen 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' -> ...

Antworten auf die Frage(3)

Ihre Antwort auf die Frage