aboutsummaryrefslogtreecommitdiff
path: root/Utility
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-09-04 18:08:47 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-09-04 18:08:47 -0400
commit02b51c10f48e9205d2a18d58430143be6f3ae78e (patch)
treeb8dbdc4a79a300d8aa451a04831e238ead45e753 /Utility
parentf77547a335232d85af462764ce90531815b1fea3 (diff)
parent5fb17c2c28288ae2a663d2ce5ec32ff627d608b5 (diff)
Merge branch 'master' into encryption
Diffstat (limited to 'Utility')
-rw-r--r--Utility/Misc.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/Utility/Misc.hs b/Utility/Misc.hs
index 804a9e487..48ce4c929 100644
--- a/Utility/Misc.hs
+++ b/Utility/Misc.hs
@@ -91,6 +91,12 @@ massReplace vs = go [] vs
go (replacement:acc) vs (drop (length val) s)
| otherwise = go acc rest s
+{- First item in the list that is not Nothing. -}
+firstJust :: Eq a => [Maybe a] -> Maybe a
+firstJust ms = case dropWhile (== Nothing) ms of
+ [] -> Nothing
+ (md:_) -> md
+
{- Given two orderings, returns the second if the first is EQ and returns
- the first otherwise.
-