Find first missing positive: Difference between revisions

→‎{{header|Haskell}}: Tidied, applied Ormolu.
(→‎{{header|Haskell}}: Added a definition in terms of standard library functions)
(→‎{{header|Haskell}}: Tidied, applied Ormolu.)
Line 255:
=={{header|Haskell}}==
{{trans|Wren}}
<lang Haskell>import Data.List (sort)
 
task :: Integral a => [a] -> a
task = go . (0 : ) . sort . filter (> 0)
where
go [x] = succ x + 1
go (w : xs@(x : _))
| x == succ w + 1 = go xs
| otherwise = succ w + 1
 
 
main = print $ map task [[1,2,0], [3,4,-1,1], [7,8,9,11,12]]</lang>
main :: IO ()
main =
print $
map
task
main = print $ map task [[1, 2, 0], [3, 4, -1, 1], [7, 8, 9, 11, 12]]</lang>
{{out}}
<pre>[3,2,1]</pre>
9,655

edits