packages feed

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