Ich habe ein Stück Code, wo innerhalb einer Liste Monade, eine Funktion angewendet wird. Funktion möglicherweise möglicherweise nicht erschöpfenden Mustervergleich für seine Argumente. Wenn die Funktion angewendet wird, könnte ich daher "Non-exhaustive pattern matching"
Fehler erhalten. Ich möchte diesen Fehler in einen monadischen Fehler umwandeln (in diesem Fall eine leere Liste). Mit anderen Worten, ich möchte ein ähnliches Verhalten wie bei Some Pattern Here <- some value
innerhalb eines do
Blocks erhalten.Sichere Anwendung in Haskell
Frage: Gibt es eine effiziente Art und Weise eine Funktion Anwendung sicher zu machen? Mit effizient meine ich etwas, das analog dazu wäre, die angewandte Funktion erschöpfend zusammenzuführen und explizit zu versagen.
Die Frage ist nicht klar. Da Sie in der Liste Monade sind, warum passen Sie nicht einfach Muster innerhalb des Do-Konstrukts an oder verwenden Sie andernfalls ein explizites Case-Konstrukt. Es ist besser, einen Beispielcode zu veröffentlichen. – is7s