fregel-1.2.0: sample-programs/maxv.fgl
{- maximum value problem -}
data MVal = MVal { mval :: Int } deriving (Eq, Show)
maxv g =
let init v = MVal (val v) ;
step v prev curr =
let newmval = prev v .^ mval `max`
maximum [ prev u .^ mval | (e, u) <- is v ]
in MVal newmval
in fregel init step Fix g