ghc-exactprint-0.3: tests/examples/ProcNotation.hs
{-#LANGUAGE Arrows, RankNTypes, ScopedTypeVariables, FlexibleContexts,
TypeSynonymInstances, NoMonomorphismRestriction, FlexibleInstances #-}
valForm initVal vtor label = withInput $
proc ((),nm,fi) -> do
s_curr <- keepState initVal -< fi
valid <- vtor -< s_curr
case valid of
Left err -> returnA -< (textField label (Just err) s_curr nm,
Nothing)
Right x -> returnA -< (textField label Nothing s_curr nm,
Just x)