I want to write a function that takes a number i
and a list of numbers xs
and
returns the position of i
in the list xs
, counting the first position as 1. If i
does
not occur in xs
, then position
returns 0.
So far I have this:
import Data.List
position :: Int -> [Int] -> Int
position i xs
| i `elem` xs = i `elemIndex` xs
| otherwise = 0
But when I compile, it gives the following error:
Couldn't match expected type ‘Int’ with actual type ‘Maybe Int’
I know that elemIndex
returns a Maybe Int
type and I defined my function to return Int
but I don't know how to change it. Any ideas?