LGTM, thanks.

On Sat, Feb 15, 2014 at 12:40 AM, Klaus Aehlig <[email protected]> wrote:

> The list monad provides convenient syntax for non-deterministic
> algorithms. Add a function leaving that monad with this intuition
> in mind.
>
> Signed-off-by: Klaus Aehlig <[email protected]>
> ---
>  src/Ganeti/BasicTypes.hs | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/src/Ganeti/BasicTypes.hs b/src/Ganeti/BasicTypes.hs
> index 30ebc8b..42acd7b 100644
> --- a/src/Ganeti/BasicTypes.hs
> +++ b/src/Ganeti/BasicTypes.hs
> @@ -48,6 +48,7 @@ module Ganeti.BasicTypes
>    , handleErrorT
>    , iterateOk
>    , select
> +  , runList
>    , LookupResult(..)
>    , MatchPriority(..)
>    , lookupName
> @@ -312,6 +313,12 @@ select :: a            -- ^ default result
>         -> a            -- ^ first result which has a True condition, or
> default
>  select def = maybe def snd . find fst
>
> +-- | Apply a function to the first element of a list, return the default
> +-- value, if the list is empty. This is just a convenient combination of
> +-- maybe and listToMaybe.
> +runList :: a -> (b -> a) -> [b] -> a
> +runList a f = maybe a f . listToMaybe
> +
>  -- * Lookup of partial names functionality
>
>  -- | The priority of a match in a lookup result.
> --
> 1.9.0.rc1.175.g0b1dcb5
>
>

Reply via email to